Newer versions of LILO support booting directly off
of a RAID1 md (multiple devices) partition, but if you
want to go RAID0 (striped), here's a very good workaround.
It relies on the fact that LILO only needs to load the
stuff in /boot (e.g. the kernel) while everything else is
loaded in by the kernel proper.
Thus, all you have to do is make a tiny LILO-bootable
partition (8MB ext2 partition in my case) to mount
/boot on while mounting the rest of the system (/)
on a RAID0 (or whatever you like) array.
Under Slackware, here is how it goes:
1) Boot the Slackware Install CD and choose an md-enabled
kernel (the default bare.i supports this)
2) Create your partitions via cfdisk or fdisk.
In my case, I use two identical 20GB hard drives, but as
you can see from below, that is not really necessary, and
I have, in fact, partitioned them differently:
1ST DRIVE
=========
Disk /dev/hda: 20.0 GB, 20020396032 bytes
255 heads, 63 sectors/track, 2434 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/hda1 * 1 1 8001 83 Linux
/dev/hda2 125 2434 18555075 fd Linux raid autodetect
/dev/hda3 2 63 498015 82 Linux swap
/dev/hda4 64 124 489982+ 83 Linux
2ND DRIVE
=========
Disk /dev/hdc: 20.0 GB, 20020396032 bytes
255 heads, 63 sectors/track, 2434 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/hdc1 125 2434 18555075 fd Linux raid autodetect
/dev/hdc2 1 63 506016 82 Linux swap
/dev/hdc3 64 124 489982+ 83 Linux
/dev/hda1 is a an 8MB partition mounted under /boot.
This partition is the only one LILO needs to be able to access.
/dev/hda4 is a 500MB partition mounted under /root
/dev/hdc3 is a 500MB partition mounted under /home
I chose to put /root and /home on non md devices only to be able
to compare performance later. They can both be mounted under
/dev/md0.
/dev/hda3 and /dev/hdc2 are the swap partitions which
are said to be automatically 'striped' to by the kernel. I
have around 1GB swap space in this case. Probably overkill.
/dev/hda2 and /dev/hdc1 will be for /dev/md0 and I made
them identical in size, but afaik md can stripe across
different-sized partitions (at least under RAID0).
3) Create your RAID0 md device by means of an /etc/raidtab,
raiddev /dev/md0
raid-level 0
nr-raid-disks 2
nr-spare-disks 0
persistent-superblock 1
device /dev/hda2
raid-disk 0
device /dev/hdc1
raid-disk 1
chunk-size 32
and mkraid:
mkraid /dev/md0
3) Now that your partitions have been created, enter
the Slackware setup, use /dev/md0 as the target partition
and do things as usual. Configure LILO as you see fit
and ignore the LILO failed message.
4) Once the setup is over, /boot will still be mounted
as part of /dev/md0. LILO failed because it discovered
that /mnt/boot was mounted under a partition type it doesn't
know how to boot from.
To fix that:
mv /mnt/boot /mnt/boot.old
mkdir /mnt/boot
mount /dev/hda1 /mnt/boot
cp /mnt/boot.old/* /mnt/boot
5) Check your lilo.conf to see if it the following options
are as follows:
image = /boot/vmlinuz
root = /dev/md0
then do,
lilo -r /mnt
Reboot. THAT'S IT!
--
http://www.neotitans.com
Web and Software Development
reply-to: a n d y @ n e o t i t a n s . c o m
--
Philippine Linux Users' Group (PLUG) Mailing List
[email protected] (#PLUG @ irc.free.net.ph)
Official Website: http://plug.linux.org.ph
Searchable Archives: http://marc.free.net.ph
.
To leave, go to http://lists.q-linux.com/mailman/listinfo/plug
.
Are you a Linux newbie? To join the newbie list, go to
http://lists.q-linux.com/mailman/listinfo/ph-linux-newbie