The Perfect Distribution?
Q-tip writes, "After researching the various major distibutions, I have come to the conclusion that none of them really stack up to what I want, so I'm wondering just how much work it would entail to create my own Linux setup from scratch. I imagine it would save quite a bit of time to reuse and heavily modify the startup scripts of another distro, but what else am I overlooking that could be a major hangup? " We've talked about creating Linux distros from scratch but Q-tip is looking to make derivatives of existing distributions. Any helpful suggestions?
I have also wanted to create my own distribution for some time now. every distribution i've seen is either lacking something i want/need or doesn't give me enough control over how and what it installs. Slackware comes the closest to providing the kind of control i am interested in; perhaps the best plan is to build on Slackware.
I think the best use for a custom distribution is in a situation where you envision a large scale rollout, for example when you are going to upgrade or install Linux machines for everyone in your office. In this case, the main advantage would be that you can do all the customizations in advance (non-standard file locations, standardize on applications, customize NFS and NIS, etc). RedHat provides this with their KickStart option, but it's still installing the RedHat distribution, for better or worse.
My ideal distribution: A custom kernel and a bunch of well-written and well-thought-out Makefiles. It would handle fresh installs as well as upgrades (of the system and of individual packages). It could also possibly allow you to install different kernels -- Hurd anyone? With severla binaries for GCC (Linux, Hurd, FreeBSD, etc) and the preferred kernel, and source for everything, the same install media could handle *BSD, Hurd, or Linux (if you choose Hurd, rather than Linux, for example, the install procedure would compile the packages from the included source using the correct GCC, otherwise it would install the precompiled Linux binaries).
My mind is a mind that I have come to know,
(darren)
I was in your position about 5 months ago and I got Green Frog Linux and am quite happy witht that. It is a small minimal distro, just enought to get you to a shell with a compliler and your basic utilities. I think the DL is about 26 meg.
It uses R2D2 init scripts which in my opinion kick ass. they are easy to admin and don't reqire any config app to make sure you get it right. It also comes with DevFS which did cause some headaches when I set it up but there is a new version since I installed GFL which may have solved the small problems. IMO DevFS is a good thing TM.
My adivce if you try it is download everything you'll need, GFL, kernel sources, devfs patch, and a good boot disk (Tomsbrst works well), and be familar with the chroot commmand. Then format your install partition and put these files on it so you don't need networking until your up and running.
Once your have GFL up and running it isn't that hard to build the rest into a perfect machine.
Citrix
Leknor
http://Leknor.com
"So many idiots, so few comets"
i had to do just that once for an embedded system. way more of a pain in the ass than it's worth. at one time a few years back this was the way to go. but now with the sheer bulk of software, and complexity inheirent in a modern unix, go with an existing distro.
what exactly do you want to tell the installer to do? do you want a feature that isn't available in any other distro? people who read debian-devel know how i feel about frivilrous project forking, so this answer is not new to them:
if Foobar GNU/Linux doesn't quite do what you want, join their development team and make it do what you want. if it doesn't include Barney, package Barney in their package format! if the installer doesnt give you enough control, send the maintainers a patch! ask for cvs access! contribute!
I did something similar; Got tired of my disparate installations of varying distros on varying machines. Used SuSE as the base, because frankly they include almost everything known to man in their distributions. I ran through to establish what I would need installed on each machine, and lumped into one huge list of packages. After adding a couple of new kernels that would fit the needs of all my hardware, plus a modular one that would work on damn near everything, and making a few modifications to the package list, I burned it to CD using the standard SuSE disk structure so I still could use the SuSE install diskettes. Later, after implementing a Linux rapidinstaller for Win32 systems, I went back and juggled the packages so that they could be tranparently installed/upgraded over the network. Pop a disk into the FD, cycle the machine, and a disk-specific script on the server does the work. Upgrade X to 3.9.xx? Sure.. tar the tree up and slap it on the server. Assign it a new task ID, generate a boot floppy with that ID. Pop that floppy into the boxen you need upgraded and cycle them. Same goes for reinstallation, repartitioning, etc..
.sig: Now legally binding!
there is a guy in Holland who has written a Linux/ products/lfs-howto.html
From Scratch HOWTO. An earlier version of this appeared
in Linux Gazette recently. Although it doesn't claim
to be based on any particular distro, he does it by
building the new system using an existing Linux
system on the same machine. I suspect that you would
end up with something based on your existing
installation.
http://tts.ookhoi.dds.nl
3 words: DEB - I - AN if yer gunna modify something, modify this distro.
---
CYA
Kenny Sabarese
Left Ear Music
greasy311@bigfoot.com
CYA
Kenny Sabarese
Left Ear Music
kfs@leftearmusic.com
irc.openprojects.net #windowma