EasyLFS in numbers
Today I want to abuse my blog to give a little view on the numbers surrounding my "little" project EasyLFS.
I just compiled these yesterday and it was a little surprising how big everything got already. Well, that happens when you don't always keep track of how many packages you have and how many scripts you wrote. ;-)
The ones who have tried Linux from Scratch will surely know that it's a lot of work. I am happy to say that all that work, the typing, is behind me as the scripts are all written. Now it's just changing scripts and adding scripts for new packages.
The current development version of EasyLFS contains 134 source-packages with a total size of 306.6MB. Around 77 of these packages are not part of LFS. These sum up to 135MB, a little less than half of the whole package-directory.
Now let's take into comparison that the last test-LiveCD has 494MB, which doesn't leave very much for the system. Thanks to SquashFS this system gets squeezed down from around 700MB to less than 200MB. The source-packages, already bzip2-compressed, don't loose any or at least not much weight on packaging.
In addition to these packages there are 17 patches, at a weight of 194.3KB, some written by myself, others taken from the LFS-project or patch-archives like of Fedora or Gentoo.
Furthermore there are 2 scripts which I wrote for the InitRamFs, together only 1.4KB small, and a default kernel-configuration including a couple of patches for optional features bringing up 43.6KB in 15 files.
At this time installation is managed by 218 shell-scripts, of which 35 are in Stage1 and 135 in Stage2. All scripts together sum up to 124.8KB and 5759 lines of code.
After installation the finished system has something between 700 to 1100MB (these are rough estimations since I hardly ever install without any options or with all options). During installation more than 2GB (here also I cannot give an exact figure) are necessary because all sources are stored on the partition and compilation is also done there.
Installation takes, depending on the configuration, on my PC, compiling from hard-disk to a mounted image-file around 4 to 5 hours.
The basic configuration of the never released EasyLFS 0.1, which wasn't actually much more than LFS, took 3 days on a 586 notebook.
In QEmu, running on my new notebook, installation with SELinux and some, but not all, optional packages takes around 6 hours.
The system has a boot-time of around 19 seconds from Lilo to login, including startup of LVM, D-Bus, HAL and SSH.
As minimum requirements I see a 586 with around 128MB of RAM. The recommended minimum of hard-disk space is 4GB, of which up to 1GB can be used for swap without having to fear to run out of disk-space during installation.
I hope some of you might find this information and that not all of you are totally bored by this parade of numbers.
For everyone who was thinking to build his own distro but now is scared by these numbers: Don't be afraid. Yes, it is a lot of work, but it's worth it. There's a lot you can learn from it.