LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware (http://www.linuxquestions.org/questions/slackware-14/)
-   -   small slackware even smaller?? (http://www.linuxquestions.org/questions/slackware-14/small-slackware-even-smaller-697161/)

MiroL 01-14-2009 12:41 AM

small slackware even smaller??
 
I followed instructions on http://small-slackware.blogspot.com/ to make minimum slackware installation and i managed to cut off even more by erasing man files and files in /usr/doc. is there anything else i can erase to make it even smaller?

gnashley 01-14-2009 02:19 AM

That really is a very good howto with very close to the minimum you can install and still have a runnable and extendable system.
The big question is what do you want to be able to do with your installation?

I see a very few packages there which migt be dispensed with:
man & groff (since you don't want man-pages)
cxxlibs (these are libs for programs written in C++ none of the base porgrams use them)

If you can do without udev and use static device files, then you can get rid of udev and device-mapper

You can also get rid of findutils, sed, grep and gawk but you may need them later if you start adding other things...

You can get rid of bzip2 until you need it.
And you can get rid of utempter -it is only needed for xterm.

You can get rid of all the network packages or replace them without whaever is appropriate for your setup.
You can even do without sysklogd if you don't need system logging.
You can leave out less.
The biggest savings you can make out of all that is to get rid of the kernel modules and the huge kernel, by compiling a custom kernel which includes all the features you need hard-linked into the kernel. You can then get rid of module-init-tools as well Saves about 20MB removing these three! Or, since the huge kernel already includes nearly eveyrthing essential, juts use it and leave the modules and module-init-tools out.

You can leave out aaa_elflibs as it contains lots of libraries not needed for your tiny system, but you'd need to install a couple of extra packages separately like ncurses and maybe others.

Everything else is aboslutely essential to boot the system -except for tar, pkgtools and gzip which you will need in order to add any packages. Also lilo could be left out, assuming you have installed lilo during installation and never need to change the configuration, or are using the bootloader from some other installation.

If the following short list won't boot, then leave in aaa_elflibs and find out what is needed from it and substitute it with the real package for that.

That leaves you with:
A packages:
sysvinit
sysvinit-scripts
etc
aaa_base
aaa_terminfo
bash
glibc-solibs
coreutils
kbd (you can leave this out if you have a US keayboard)
shadow
devs
util-linux
e2fsprogs
pkgtools
getty
shadow
tar
gzip
lilo
kernel-huge

L packages:
ncurses


HMMM, I swore I'd never try to create a list like this again, but I've just gotten up and am still sleepy, so my resistance was low...

sahko 01-14-2009 03:22 AM

Quote:

Originally Posted by gnashley (Post 3407962)
And you can get rid of utempter -it is only needed for xterm.

Just to note that utempter is neeed by every terminal emulator, not just xterm, including GNU screen.

Also i dont like such HOW-TOs cause users have defferent needs they cant be covered in such articles, furthermore if they dont explain why a package isnt needed or when its needed, kinda like gnashley did above.
If you want a "small Slackware" you better make your own HOW-TO.

gnashley 01-14-2009 07:57 AM

That's why I had sworn not to attempt such lists any more -as soon as you accomodate someone with a well-though-out list, they usually come back and say something like -but I want compiz to be included and *all* the video codecs :-)
sahko, you are correct about utempter -that is unless one compiles the terminal emulators without utempter support. It was obviouls out of place in this list becasue the list doesn't inlcude X.
One other note, after thinking about it, you could probably leave out aaa_terminfo as long as ncurses is included.

MiroL 01-14-2009 02:46 PM

It's good to take away more and more, bit by bit, until it stops to work.

At first I installed full Slackware installation and I was lost in so many packages. I used maybe 20% of them or of course more by not knowing it. Now to start from minimum, it gives me the feeling that i can still have everything under control. I also like old cars where i can repair stuff by myself. My favorite was Fiat 126. Slackware would be maybe Saab 900.

fotoguy 01-14-2009 03:42 PM

If physical size is also important, then maybe rebuilding the kernel with unionfs an squashfs, and then compressing the operating system, you can get upto 1/3 the size.

MiroL 01-15-2009 08:16 AM

Thank you all for your suggestions,

Fotoguy, now that is something that interests me - to use a compressed writable file system in such ascetic environments. Correct me if i am wrong, but unionfs an squashfs are read-only? I was trying to squeeze everything using FuseCompress http://miio.net/fusecompress/ i wanted to have a complete system compressed with it, but that needs a bit more effort and knowledge.

fotoguy 01-16-2009 11:36 AM

Quote:

Originally Posted by MiroL (Post 3409618)
Thank you all for your suggestions,

Fotoguy, now that is something that interests me - to use a compressed writable file system in such ascetic environments. Correct me if i am wrong, but unionfs an squashfs are read-only? I was trying to squeeze everything using FuseCompress http://miio.net/fusecompress/ i wanted to have a complete system compressed with it, but that needs a bit more effort and knowledge.

Yeah they are read-only systems, the way around this is to create a branch through unionfs. Unionfs uses 2 branches, a read-only, and a read-write branch, the read-write is usually created in your ram, basically creating a little hard drive from some of the space in your ram, while leaving enough of the ram left for the operating system to function, I have a live DvD project which is used in this way


All times are GMT -5. The time now is 12:00 AM.