Originally Posted by grail
@Erik - From other posts of yours you seem to be the most knowledgeable about this issue (no offense to anyone else). I am currently using Mint and am terribly disappointed and have thought about
switching to Slackware before but never really had the time. I am facing this same issue and was wondering if you could advise on a solution. Mint is already installed on RAID 0 (fake)
on the machine I wish to use and the data would be a pain to move so I am trying to reuse the same partitions.
I'm a little unclear about one thing in particular. Is your current Mint Linux able to see the RAID 0 array? If it is then you should be able to get Slackware to see it.
The "mdadm" program does not support Marvell metadata. With Marvell RAID, the only solution that I know of is to use "dmraid". There are some potential problems using "dmraid".
- I have only gotten dmraid to work on 32-bit
- Need to edit "SETUP" script to recognize devices for install
- Might not work on newer 2.6 kernels
- Have to edit the "init" script in the "initrd" to run "dmraid"
- Partition alignment can confuse "dmraid"
The problem you face is not booting, but how to get Linux to see the RAID 0 array as a disk. If you can get Slackware to see the RAID 0 array then you can get it to boot
Boot considerations for Slackware and fake RAID.
- Install GRUB in "native" mode (grub booted from floppy or CD)
- Add "dmraid" command to "init" script of "initrd"
- Must use "/dev/mapper/XXXX names in "/etc/fstab"
The process that I went through to get Slackware and Promise fake RAID working was rather painful. First, I had to build "dmraid" on another Slackware system. You can use a virtual machine program on Windows to do that. I found that it was easier to temporarily attach a non-RAID hard disk so that I didn't have to keep rebooting. After installing Slackware to the non-RAID disk normally, then I worked on "dmraid" and preparing a "grub" floppy.
I had to copy the "dmraid" and required library onto a disk that I could access from the booted setup CD. I used a floppy. You can use USB or a CD. I booted the normal Slackware setup CD. Then I copied the "dmraid" program and library into the RAM disk, and used "dmraid" to detect the arrays. I edited the "setup" script so that it would recognize the "/dev/mapper/XXXX
" devices. You can also edit "setup" ahead of time and copy it onto the disk with "dmraid". I installed Slackware.
After installing Slackware I used "chroot" and built the "initrd" using "mkinitrd". Then I edited the "init" script in the "initrd" files and used "mkinitrd" with the modified script. I copied the "dmraid" program to the new Slackware installation on the hard disk.
I booted the "grub" floppy and installed "grub" from the grub command line.
There are some quirks with "dmraid". I've noticed that "dmraid" does not always recognize partitions if they are created by anything other than Linux. That seems to be a problem with logical drive partitions in the extended partition. Avoid using logical drives, or make sure that the partitions in the extended partition are created by Linux utilities. When I had the problem, Linux "fdisk" or "cfdisk" would show unused space between the logical drives, while Windows would not. I was able to delete and recreate the partitions in Linux to fix the problem.
I have not found an official 64-bit version of "dmraid" (from the author). There are 64-bit versions in some distros. So far I haven't figured out how to build those on 64-bit Slackware. If you plan to use 64-bit, the first hurdle is building "dmraid" for 64-bit. The problem is the associated libraries more than the actual program.
The best answer I can give you is that maybe you can get Marvell fake raid to work with 32-bit Slackware. Probably you won't be able to get it to work with 64-bit Slackware.
I have not investigated the possibility of manually configuring the device mapper (if that is even possible). One could possibly write a program or script to configure the stripe or mirror without accessing the metadata. Of course any changes to the RAID array would require modifying that program or script to match. You can think of "dmraid" and "mdadm" as software to configure the device mapper in Linux. They do a few other things, such as notify "udev" about device names.
I suggest if you want to discuss this further, start a new thread and perhaps copy the associated posts to the new thread. Also, search for some of my other RAID posts. I suggest reading the newest posts first, as fake RAID is much easier now in Slackware than before.