2

I have an ASUS P5Q deluxe from an old gaming computer that I'm converting to a server. Unfortunately, while their silly onboard fake RAID thing(drive xpert) worked fine in Windows, the drives are not being detected at all when I attempt to install openSUSE to them. I've tried disabling it and setting it to "normal" but still no luck. The other SATA ports are detected without issue, but they're for my storage drives. Eventually I decided the better option might be a pcie SATA card, but I'm not positive it will solve my problem:

Will I be able to install to drives attached through a PCIE card? If so is there a specific card anybody could recommend?

Gilles 'SO- stop being evil'
  • 807,993
  • 194
  • 1,674
  • 2,175
Daniel B.
  • 125
  • 1
  • 7

2 Answers2

1

As a rule of thumb, always turn off fakeraid (RAID which is declared in the BIOS but actually performed by an OS driver). Fakeraid only exists for two reasons:

  • because some OSes have no native RAID capabilities and need some external assistance;
  • because it lets hardware manufacturers advertise a feature that they aren't really implementing.

There is no advantage of fakeraid over Linux RAID, only downsides such as the reliance on a specific driver and hardware.

With some motherboards (or more precisely with some RAID BIOSes), you can't turn off RAID modes if the drives contain a valid RAID signature. You need to wipe off this signature. Boot from a Linux CD and zero out the first few kilobytes and the last few kilobytes of the disk (or the whole disk, if you have time to spare). Note that this will remove all the data on the drive; if you want to save some data, you will probably need a more complex strategy involving temporarily removing the drives (or plugging them in the non-RAID SATA ports). Then reboot and go back into the BIOS, and you should see an extra option that lets you really turn off RAID.

Gilles 'SO- stop being evil'
  • 807,993
  • 194
  • 1,674
  • 2,175
  • I'm not concerned with preserving the data, they're just not being detected in the first place. Perhaps if I install in the non-raid ports first as you suggested, it will solve my dilemma. I feel silly not thinking of that myself. – Daniel B. Jan 09 '12 at 00:25
  • So far so good. It's a bit of a clunky solution but it's a solution I can live with. – Daniel B. Jan 09 '12 at 06:04
0

Try installing boot loader + /boot partition on a non pcie drive, and root partition on the pcie.

Linux is great booting from a ram drive (kernel + initramfs on /boot partition), that way the boot can power up the pcie card.

To check, try on your Live Linux install CD/DVD/USB media if it can see the drives of the pcie card or not.

Some pcie cards have chupsets that Linux has not drivers for them, while others works. Manufactures may not list Linux on the compatibility list but that does not mean they work on Linux; most of the times it is because their FakeRAID is Windows only.

Rule: BIOS can detect some drives, use one or multiple of them for the main boot pat (bootloader + kernel + initramfs or similar, aka /boot partition) and put root on the drives you want since after first part of boot (initramfs or similar) drivers for PCIe and other things are running, so at that stage of boot that drives are seen while not at bios boot stage.

If BIOS does not see a working drive that does not limit you to have root filesystem on it, it only limits you not having bootloader and /boot partition on it.

Note: Bootloader and /boot partition can also be on a USB stick if motherboard allows you to boot from USB.

Most people never think on separating / and /boot partituons onto multiple different disks, there is no need to have both on the same media.

Also, you can have /boot inside a LVM+LUKS mega complicated structure of multiple layers and multiple disks with stripping, mirroring, etc.

To do such, search for 'modules=' parameter of grub2-install, Grub2 is great for such things, its grub.cfg file (and all its files) can reside inside any weird combination of LVM+LUKS, it is just a matter of telling grub2-installer that it must incluse some modules on the boot stages, so it pre-loads them, also seach for BIOSGRUB partition, that helps understanding it.

On your case: Just use bootloader + /boot on a separate disk combination than root filesystem, put them where ever you want but on things seen by BIOS, all the rest (root, home, etc) put them whwere ever you want, also on non seen by BIOS disks, the initramfs will load from BIOS seen disk/s and will make all the rest be seen.

Maybe it does not work for all PCIe cards, maybe on some you will need ti investigate and configure initramfs to pre-load PCIe card, etc. But normally if the live media can see it, on the initramfs stage of booting it can also be seen.

Rui F Ribeiro
  • 55,929
  • 26
  • 146
  • 227
Laura
  • 1
  • 1