From John Newbigin on Fri, 06 Nov 1998
In response to your note about Suggestions for Linux Users with Ultra Large Disk, here is my suggestion
Create a small partition at the start of the disk, say 10 meg should be plenty, you could get away with ~2 if you are stingy. Use this partition to store the kernel/kernels used to boot linux. You can then create a root partition as large as you like, set lilo up to use the kernel from the first partition and away you go. You would only need to mount the partition if you are going to add a new kernel or run lilo. You could even put kernel modules on the partition if you wanted.
(I have not tried this myself, but I see no reason why it should pose a problem)
As for the 8gig limit, I have an 8.4 gig HD, and linux 2.0.34+ don't have a problem. They do some kind of translation on boot, but it works without any problems.
John. UNIX is user friendly. It's just selective about who its friends are.
It's an excellent suggestion. I've heard variations of it many times --- but many of them haven't explained it as clearly as this.
Let's say make I create this filesystem (/dev/hda1) and then a root filesystem (/dev/hda3 --- we'll say that hda2 is swap). I should create a mount point (let's call that /mnt/kernelfs) which is where I mount /dev/hda1 when I need to update a kernel and/or run /sbin/lilo for any reason. The rest of the time /dev/hda1 doesn't have t be mounted. In fact we don't need to reserve a special mount point (/mnt/kernelfs) for it at all --- that's just a bit of syntactic sugar that "self documents" what we're doing in the /etc/lilo.conf and other configuration files and scripts.
I've tried many times to explain that LILO doesn't care about filesystems. /sbin/lilo needs to see files in order to interpret the configuration directives and put the LILO boot blocks and maps in the correct places. One of these days it will sink into the consiousness of a critical mass of Linux users. (Then someone will patch the ext2fs superblock to automatically bootstrap kernels by name and 90%+ of the Linux users won't care about LILO).
In any event, I've also suggested that such users actually put a whole rootfs unto such a small partition --- an "altroot." This can be faster and handier than a boot/root diskette and can give you a way to test new kernels more easily with less risk.
When testing new kernels you sometimes needs to replace some utilities. Back in 1.3 to 2.x we had to do the whole procps suite recently it's been the 'mount' command, and some others. Having the whole original suite on your altroot can make for a much easier time of it!
Also, the "autorecovery" configuration that I talked about last month requires an extra root partition. If you ever want to experiment with that --- you want to create that "little root" partition from the start.
Another advantage of the "altroot" variant of this suggestion is that it's actually a little easier to implement. Most distribution setup/installation scripts can handle a "minimal" installation (in 64Mb or less). So you essentially just do your Red Hat, Caldera, S.u.S.E. or Debian install twice. Once is the 'short form' to just create the altroot. The other is your "real" installation (with all the bells and whistles).