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 plug@lists.q-linux.com (#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