How Common Are Homegrown Linux Distributions?
Andreas Krennmair asks: "I'm planning to build my new Linux system from scratch, similar to Linux From Scratch. I'm currently collecting all source packages, and I wonder how common it still is to use a self-built Linux system, although graphical (or pseudo-graphical, curses-based) installation programs with automatic hardware component detection and great software package management systems are used in almost every modern Linux distribution. And are there any people left who still use Jurix or Yggdrasil?"
it seems CS departments "roll their own" often, I know for a fact that here at UK we use a heavily modified debian core in the cs/enginering linux lab, I am pretty sure that U of Michigan uses a redhat-based system.
Read my plan to save the Bengals
Contrary to almost every other Linux distribution out there, we have a functional source-based Linux 'distro' using a single source tree (ala BSD). Instead of having to untar/configure/make/install, a single command allows us to rebuild the entire system. In addition, system coherency is greatly enhanced when the entire system is built and maintained in a common tree.
Unfortunately, the Linux community as a whole does not seem interested in a system like this. The closest 'main-stream' distribution to do anything like this is perhaps Rock Linux, though they still use tarballs and scripts to extract/configure/build/etc. Otherwise, binary distros are the norm.
BTW, yggdrasil hasn't had an offering since '95 or '96. If you are still using an original yggdrasil distribution, you are probably complete out-of-date. Hell, you might as well be using SLS.
Even as I type, I am dl'ing the source packages to do the same thing. I tried (in vain) to install RH on a Thinkpad 360P. No matter what I did, I could not get rid of enough packages to fit on a 250 +/- partition. Too damned many interdependencies. As I don't have a current disk for a conventional distro, I figured I'd do it this way.
It would seem that the next step, once one has gained some proficiency with Linux is to either HEAVILY modify their distro, or roll their own. Nine times out of ten, I skip the RPM's anyway. And if you aren't using them or DEB's, and have your favorite config tools (I like emacs myself, although I suppose I might have to learn vi to squeeze things onto the drive:) why not roll your own?
BTW, one trick in my install is that I will be installing the laptop drive into a desktop, do the compiling on the desktop (Celeron 550, I think, vs a 486 SX), thus making some of the install steps a little different than the 'official' LinuxFromScratch steps. Should be fun.
One more BTW: why a ratty old 486SX laptop? A few reasons. First, it is free. Second, it has an active matrix screen. Third, it is free. Fourth, I also scored the WaveLan wireless rig we used at work (complete with access point!) Finally, coding in front of the idiot box without annoying the SO with a full tower in the living room:) Oh, did I mention it was free? That last seems to be a great motivator in many a Linux project.
Jesus was all right but his disciples were thick and ordinary. -John Lennon
I've been using Vector linux as a workstation for a while, I'm quite impressed.
It's intended as a base for home-grown distributions, installs in under 200 megs, has X, GTK, Netscape, licq, spruce, nedit ... most everything you'd want in a basic workstation, including developement tools.
The install is VERY basic, the only real options you get are "Which partition?", but not a real problem in my mind.
Check out their homepage, http://metalab.unc.edu/vectorlinux/
The fact that no one understands you doesn't mean you're an artist.
Even as I type, I am dl'ing the source packages to do the same thing. I tried (in vain) to install RH on a Thinkpad 360P. No matter what I did, I could not get rid of enough packages to fit on a 250 +/- partition. Too damned many interdependencies. As I don't have a current disk for a conventional distro, I figured I'd do it this way.
You might want to try Slackware for your notebook. Depending on what you leave out, you should be able to get it down to 250 megs without too much difficulty (just don't plan on rebuilding X from source, for instance). I've had to install it on limited space myself a few times.
And if you feel like mixing and matching pieces, all of it's stored as straight tarballs on the CD, so it's easy to pick through (though I'm sure tools for RPM and DEB let you do this too).
I wouldn't know how easy it is to put together a Linux distribution by hand; I haven't had enough experience with it to form any kind of educated opinion. However, I do know a bit about doing this with BSD -- FreeBSD in particular. It's pretty easy to do, actually. I went from zero to finish in just one day by reading sections from The Complete FreeBSD and by looking at the PicoBSD scripts. Sorry, no links as I've gotta run. I would suggest you include BSD in your considerations.
Washington, DC: It's like Hollywood for ugly people.
I have a "spare" drive that is only 100MB in size. It holds a 20MB swap partition and a working Slack installation including X in the rest. It is just your basic stuff that allows it to drive my ISA ethernet card, ppp on a modem, firewall/routing tools, xterms, disk recovery and repair tools, lynx, ftp and mail clients and the basic daemons. There is no netscape, gnome/KDE, kernel sources, dev tools, xeyes, games, or anything like that. It used to run on an ISA only 386sx40 w/16MB RAM that was the computer that I used to access the 'net while the kids were hogging the main box. Now it's just sitting in the closet.
I don't think that I could have built it "from scratch" without another working box.
Good judgement comes from experience, and experience comes from bad judgement.
- W. Wriston, former Citibank CEO
But eventually packages progressed, getting better, newer features, and it became a royal pain to try to keep up. I finally gave up after spending way too much time sorting out dependencies and tracking down old files from older versions of packages.
By '98 or so I had switched to RedHat due to rpm and have been reasonably happy with that, applying a lot of my own customizations. Even now, though, every time I upgrade I like to do a clean install and then apply my custom changes - it turns out to be quite a project for a couple hours. One reason why I still haven't gone up to 6.2. Plus I'd like to try Debian and maybe a BSD or two one of these days... If only I had the time. ;-)
Bottom line, it's a lot of fun but be prepared to spend some time on it.
Say hello to zMac.
First was Redhat 4.2, then RH 5.2, then Redhat 6.0 (downloaded on a 28.8 modem!), then SuSE 6.3. By RH 6.0, I was downloading lots of packages, compiling and installing them by hand. This behavior is NOT good for a RPM-based distro, especially when you replace things like gtk and glib... I ended up looking through the list of needed dependencies, and using --nodeps if I had everything already.
Then linuxfromscratch made it to Slashdot, and I decided to do what I had been pondering to do for several months. I took notes the whole way, and started 7-8-2000. I had functioning system by the 21st.
This was great fun, and I learned a lot. I finally figured out how the *complete* boot process works in Linux, and I wrote a Perl script to manage the whole runlevel changing mess. I figured out routing for the first time. I figured out how to start networking from scratch for the first time. I figured out IP Masquerading for the first time (Whee!). Everything went mostly flawlessly, and I'm greatly pleased with the result.
I wanted to keep RPM completely off my computer. Unfortunately, I broke down and installed the binary tar.gz rpm package (the first binary package to go on my system, because the source wouldn't compile), just to install the Mozilla M17 devel package so I could run Galeon.
I copied the libc5 libs from another SuSE 6.3 system--and somehow made those work without destroying my computer--just to run Netscape 3.
This brings up another coolness--I finally figured out how to run Quake II on my computer using SVGAlib! Way cool! It runs smoothly at 512x384 on my S3 ViRGE (2d mode) vid card and an AMD K6/2 400 with 64 MB RAM. (Anybody got a Voodoo 3 card they're willing to sell? lf11@andonet.com)
I'm afraid I've wandered, but I love linux, and I really love building things from scratch, tinkering with them, learning how they work...
In short, GO FOR IT! (but it might take more time than one might suppose)
-lf
I just tryied OpenBSD 2.7. Very lean, well done, doc are excellent. Complete base system (including dev environnement) without X fit in 120MB. Also, base Debian 2.1 fit on 7 floppy ... (last time I checked)
Personnally, I ditched RedHat for server/router/fw. They have the install system that could be the most flexible, but they screwed it up with so many interdepencies that you can't build a coherent system by hand. I once spent 2 hour trimming the packages list, but gave up. It's fine for a workstation to have two dozen image converter, but you don't want all this shit on fw.
:wq
I've been using Linux since late 1995; I installed with Slackware 2.1 (kernel 1.1.59!), and have been updating via tarballs since. My /usr/src directory has a good 200 or so packages in it at the moment, most of which I've used at one time or another. The system has worked without any problems to speak of, except occasionally when doing upgrades (installing ELF libraries and compiler was a pain).
I personally enjoy tinkering with the system, customizing it to fit my needs best, but I wouldn't dare give my current setup to anyone else. I have libc4, libc5, and libc6 all coexisting somehow, and programs to go with each--some things like gzip which never change haven't been touched since the original a.out install. The directory structure is a mess, too; I've never gotten around to sorting things out. It can take quite a bit of time to keep things up to date, though I probably would have been better off if I had had something like the FHS to guide me. If you're going to go with your own distribution, such resources are definitely worth a read.
Although it takes effort, the results can be nice. Obviously you can install whatever software you like without having to worry about dependencies or wonder what someone's install script will do to your /etc directory; you can also tune it to fit different configurations if your computing environment changes. When faced with a PC at a summer job whose SCSI card was flakey, I was able to extract the bare bones from my home system and create a two-floppy Linux system with pico, telnet, ftp, and ssh (plus basic shell utilities)--more than enough for what I needed it for.
So yes, there's at least one person out here who uses a homegrown distribution. (-:
Within a few days of downloading I had a working system which was able to re-compile the kernel and most software. Occasionally I'd find something that wouldn't build, usually due to the build process requiring something obscure I hadn't yet installed. I learnt a lot - pity these skills havn't come in handy workwise.
The system ran for 9 months before the disk expired. I'm now running an old slackware with almost everything upgraded. Next time, though, I'll plump for Debian.