LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware (https://www.linuxquestions.org/questions/slackware-14/)
-   -   SW14: chroot installation possible? (https://www.linuxquestions.org/questions/slackware-14/sw14-chroot-installation-possible-4175430307/)

Paxsali 10-03-2012 11:27 AM

SW14: chroot installation possible?
 
Hi guys,

I want to try out Slackware 14 (64bit).
However, I would really like to install it using my favorite LiveCD.

Is there a way to install or bootstrap Slackware 14 from another environment,
like Ubuntu/Debian's debootstrap installation method or Gentoo's default installation method?

I will be using VirtualBox for the installations, so the USB-disk-image doesn't work and the LiveDVD method will most likely result in the (recommended) full-install, which I want to avoid.

So far I cannot seem to find anything like that in the official Slackware documentation, but maybe some Slackcrack knows...

Thanks for helpful answers in advance,
Paxsali.

ruario 10-03-2012 11:51 AM

Quote:

Originally Posted by Paxsali (Post 4796164)
Is there a way to install or bootstrap Slackware 14 from another environment

Yes, but I don't think this is want you want.

Quote:

Originally Posted by Paxsali (Post 4796164)
I will be using VirtualBox for the installations, so the USB-disk-image doesn't work and the LiveDVD method will most likely result in the (recommended) full-install, which I want to avoid.

There is no official Slackware LiveDVD. There is an install DVD. That said, it appears that you actually want is to know how to do something other than a full install. This is possible with the install DVD. It allows you to install as much or as little of Slackware as you would like. You can use the install image (iso file) directly in VirtualBox to do this.

However, if this is your first Slackware install and you really want to give it a good test, reconsider your option to avoid the full install. The first time at least you should always do a full install. The full install is recommended to new comers for a reason. This is how you should begin your experience with Slackware. Later you will learn how to pair it down if you need that and you may well find that you do not. ;)

What are you trying to achieve by avoiding the full install? To make Slackware faster? To save a bit of disk space? These reasons might not be as valid as you think once you learn a little bit more about how Slackware works. Read this for my personal take on why (you can skip to the section called "Why dependency management doesn't have to be difficult" for thoughts on why a full install works well on Slackware, unlike on other distros).

ruario 10-03-2012 11:56 AM

If I misunderstood and you are after is a LiveCD to avoid install altogether, another option might be to try a SalixOS. SalixOS is not Slackware. On the other hand it is the closest of the variant distros that provides a LiveCD environment. It will give you a rough idea. However if you really want to try Slackware nothing is the same as installing Slackware, even if only in VirtualBox. It is not that hard, particularly if you do a full install. I recommend you just jump in at the deep end and give it a go.

Paxsali 10-03-2012 12:14 PM

@ruario

I ment the InstallDVD. And no, I'm not interested in a full installation - I give you my word.

I just want to mess with Slackware's package management and the SlackBuilds, because I'm generally interested into package management.
(Gentoo's ebuilds, NetBSD pkgsrc, FreeBSD pkgfiles, crux pkgmgt, Archlinux AUR, and so forth...)

So if there IS such a method, even if it's complex, please point me to some documentation/links/threads. Much appreciated.

EDIT: and no, I'm not interested into Slax or SalixOS and such either.

ruario 10-03-2012 12:30 PM

Quote:

Originally Posted by Paxsali (Post 4796199)
I'm not interested in a full installation - I give you my word.

I would be interested to know why but I won't labour the point. If you want to do a smaller install it would help if you defined exactly what you expect to be provided. Otherwise it is hard to tell you what to cut out.

Installing only the a, ap, d, l, n, x, and xfce series will give you a reasonably small environment (I'd have to check it to see exactly how small) plus a complete set of build tools and libraries, so that you should be able to build most SlackBuilds.org packages, which is the only defining criteria you provided. Though you won't really have any GUI packages other than those bundled with XFCE. You could off course knock it down further but it is hard to predict exactly what you personally would consider to be acceptable without more details.

TobiSGD 10-03-2012 12:36 PM

Also keep in mind that Slackware has no dependency checking, so all the SlackBuilds from SlackBuilds.org are assuming that you have a full install and list only the dependencies not part of the Slackware tree.

ruario 10-03-2012 12:41 PM

Another way to approach this might be for you to state exactly what you intend to do with Slackware and how you intend to use it. Also say what kinds of things you expect to present and what kinds of things you would not expect to be present. Along with any other criteria that are important to you, e.g. if you have a maximum size you consider to be acceptable. Then someone can give you a better guide of how to cut down.

Paxsali 10-03-2012 12:43 PM

I will use only non-X11 packages and also will only try non-X11 SlackBuilds.
The functionality shall be basic admin tools + complete build chain tools.
Sort of like a "system" set of a stage 3 tarball from Gentoo, if you are familiar with that.
Or the basic LFS package list that remains after finishing the book (everything up to Chapter III.6).

colorpurple21859 10-03-2012 01:33 PM

This might be what your looking for.
http://www.linuxquestions.org/questi...l-howto-829789

fatalfrrog 10-03-2012 03:32 PM

I keep thinking about how I'd do this myself, and I'm getting stuck on where I would need installpkg to complete the process. So I would recommend doing it in a Salix live environment.

Not having done this myself, I imagine you could partition the drive, format and mount the new filesystems (in addition to dev, proc, and sys), and use `installpkg -root $rootfs` to get the job done. Of course this omits several important things the Slackware installer makes easy, like configuring the network, fstab, fontconfig, library linking etc. etc. which you could just do yourself by chrooting in after installing packages.

See http://slackworld.berlios.de/2007/chroot_howto.html for something related and perhaps useful.

ruario 10-03-2012 04:58 PM

How small do you want it? I have a set of tag files for a 64bit Slackware 14.0 environment without X11, that includes a selection of development utils and libraries. It is not stripped down to the bare minimum however, just something I was playing around with. I'm not quite done testing and there are no doubt some redundant things there that I should probably remove (but have not investigated their use yet) and perhaps some other things you might consider to be missing, but it could serve as a start. It is around 1.1Gb installed, which you might consider too big but since I have the tag files it would be an easy install and you could pair it down or build it up from there.

TobiSGD 10-03-2012 05:28 PM

I would in any case be interested in those tag-files. Would you mind to share?

ruario 10-04-2012 04:45 AM

I have linked the tag files below. However, before you use them I should say what they are based on and what I was trying to achieve, as this might help you decide if they are suitable for you. To do so I'll need to give you a bit of background. I hope you'll indulge me but if you can't be bothered skip down to the tag files and download them. ;)

Personally I am one of those guys who favours full installations of Slackware. It simplifies building stuff, since most libs are already in place and it is handy to have a full range of software already installed at your fingertips. For example, on my desktops I don't generally need to run a full webserver but should I want to test something that requires one (which can happen in my job), I can just fire up Apache without having to download and install it, plus any dependencies it might have. Generally I don't care too much about disk space (Slackware isn't that big) but I do care about having to wait for packages and their dependencies to download when I just want to get on with things. That said, I do realise that there are some use cases where a full install doesn't make sense.

For example, I have VPS account with Linode running Slackware 13.37 (32-bit). I use it as a kind of home base that I can connect to from anywhere. On this VPS I run a tmux session with various terminal-based "desktop" applications. For example I use irssi and bitlbee to connect to IRC and various jabber networks. This means that from whatever machine I am currently using I can just connect back into this machine and can continue any conversations I was having. Many people do stuff like this with one of their home machines but I prefer use a dedicated VPS. It saves me having to open anything into my home network (where I store a lot more personal information) and means I don't have to leave any of those machines on (my main home machine is a laptop, that I occasionally run Windows on).

It makes very little sense to have a full install on my VPS because I am renting the service and pay for the minimum configuration. Installing a full Slackware 13.37 would mean around 6.8Gb of disk space just for the OS. This doesn't really matter on my work or home machines where I have hundreds Mbs of space but my VPS only has 20Gb of disk space, thus leaving little room for my files. Also while at home I could just insert or attach more and bigger drives for a one off (and relatively low) cost, adding disk space to my VPS account means increasing the monthly ongoing subscription fee. So here I run a stripped down Slackware.

When this thread came up it occurred to me that the setup I have on my VPS account might suit the OP as a base to work from since I have some development tools and have built a range of SlackBuilds (e.g. aria2, bitlbee, di, mosh, nzbget, par2cmdline, privoxy, tmux, etc.). So I figured I could just note what official packages I have installed and make tag files from this. Of course, as always, it was not that simple! ;) My VPS runs Slackware 13.37 but I would guess he is interested in 14.0. I run 32-Bit due to the low amount of virtual RAM (512Mb) but on a desktop he would probably want 64-Bit. I have lots of packages that he probably wouldn't want, e.g. irssi, lynx, various X11 libs (for some testing I was doing with Opera running under Xvfb). It is also missing things he would need, e.g. the VPS setup has no kernel or associated packages since the kernel of the underlying host system is used instead.

And now we come to what the tag files I link to below actually are. I took the list of official packages I had installed, removed some packages I would guess he didn't want, added some things he would need (kernels, modules, headers, kmod, lilo, etc.), found out what the Slackware 14.0 (64-Bit) equivalent packages would be and installed all of this in a local virtual machine under VirtualBox. Amazingly it actually booted and basic stuff like slackpkg still worked, despite all my chopping and changing. At this stage however I realised I had lost motivation. I spent longer than intended already (I meant for this to take 30 mins at the most) and I realised quite a bit more work was needed, since I have not yet confirmed that this system isn't broken. It certainly could be as dependencies change between Slackware releases anyway, plus I removed (and added!) various packages. Also the resulting install was still fairly big at this stage (1.1Gb). I didn't mind doing this as a favour when I thought I could have something in 30mins but when it dawned on me that I still had quite a bit to do I realised I could no longer be bothered, especially when I don't know exactly what he would consider acceptable. I could spend a lot of time only for the OP to tell he it was useless to him. :(

This leads me back to something I already kind of knew when I began. Before doing a minimal install be certain that is actually what you want. For the desktop in particular a full install is generally just fine. It isn't that big and because Slackware doesn't automatically enable services when you install a package, having lots of apps sitting on your disk does not affect performance. If you want a faster Slackware you actually need to start tweaking system and startup files and/or recompile packages with different options. If you don't do this and don't enable the extra software, a full install runs just as fast as a minimal one. Finally, if you really do need a minimal install you are best doing it yourself. You know what you want/need, so the end goal is much clearer. Spending a hour or two getting the package selection "just right" is worth it for an individual doing it for his/herself and teaches you a lot about the system along the way (also you only spend this long the first time, after that you use tag files to replicate it).

That all said, here are the tagfiles (which may or may not work for you): minimal_tags_14.0-x86_64.tar.gz

TobiSGD 10-04-2012 06:49 AM

Thanks for those files. I usually also prefer a full install, but I just got hands on an old Eee PC 701 (man, I just love that machine) to do some hardware mods on it. This thing has only a 4GB SSD, so a fairly small base system which I can build on is what I need, unless it gets a "more space mod". I have already done that, but am always interested in how other people's minimal install looks like.

ruario 10-04-2012 07:21 AM

@TobiSGD: I have some tag files I made earlier this year for a basic Slackware (32-Bit) 13.37 desktop tagfiles_13.37.tar.bz2. It was was just me playing around with tag files as a learning exercise. Apart from being the older release it might actually suit you better. Pretty sure it should be small enough for what you need (though I don't actually remember the exact install size) and you could upgrade it to Slackware 14.0 later. You might want to try it in a VM first.


All times are GMT -5. The time now is 11:10 PM.