Using Slackware 8.1, I tried to install Linux over a mirrored partition. It took a while but I figured out the steps.

1. After booting the Slackware CD-ROM, create the file /etc/raidtab. Here is what mine had in it:

raiddev /dev/md0
	raid-level		1
	nr-raid-disks		2
	persistent-superblock	1
	chunk-size		65536
	device			/dev/hda1
	raid-disk		0
	device			/dev/hdb1
	raid-disk		1

raiddev /dev/md1
	raid-level		1
	nr-raid-disks		2
	persistent-superblock	1
	chunk-size		65536
	device			/dev/hda3
	raid-disk		0
	device			/dev/hdb3
	raid-disk		1

Note that the chunk-size parameter is really not used for mirror sets, but leaving it at 0 (the default) causes mkraid to fail.

2. Create your partitions on the two drives as you normally would, using fdisk. There is no need to create a file system on the partitions that will be part of a mirrored set.

3. Use mkraid to create the mirrored sets. Do a cat /proc/mdstat to check if everything is working correctly. You can now go ahead and make your file systems with mke2fs or the tool of your choice, on /dev/md0, /dev/md1, etc.

4. Important (this is the bit that almost defeated me): set the partition type of the partitions that will be part of a mirrored set to fd (Linux raid autodetect.) This will ensure that the RAID driver will properly detect the bootable partition when the kernel comes up.

5. Mount your new partitions under /mnt and elsewhere (/mnt and /mnt/home in my case.)

6. Now run Slackware setup. Make sure you skip the bit about selecting your TARGET devices; you already mounted them under /mnt.

7. At the end of Slackware setup, use it to create a LILO configuration file. But before this part of setup, edit /mnt/etc/lilo.conf by hand. Make sure that your root partition is specified as /dev/md0, not /dev/hda1. However, your boot partition must remain /dev/hda, to ensure that the boot record is stored on a physical device. Now use Slackware setup to rerun LILO; make sure you have LILO store the boot record on the MBR.

8. Before rebooting, copy /etc/raidtab to /mnt/etc/raidtab; /etc is on a RAM disk and it will disappear when you reboot.

9. If all went well, Linux will come up on /dev/md0 after a reboot. Check your file systems with the df command, and your RAID status with cat /proc/mdstat.

10. If all did not go well, reboot using the Slackware CD-ROM. If your mirrored partitions were not recognized automatically, re-create /etc/raidtab and start your RAID partitions using raidstart. Mount /dev/md0, /dev/md1, etc. You can now start troubleshooting.