20120503

USB Media and the Buggy BIOS

OK, so maybe the BIOS isn't entirely to blame, but in my older machines I'm finding that they treat the flash media a bit oddly.

Something has issues.  It may be a convoluted blend of issues.  Anyway, nix the GPT partition table if you want any hope of GRUB actually booting.  Of course I am referring to whatever version they've stuffed into Ubuntu Server 11.04.  My current recipe is as follows:

  1. Create (explicitly) a DOS partition table
  2. Set up a partition starting at cylinder 2
  3. Load up the boot files into that partition (under a sensible file system, like ext2)
  4. grub-install /dev/my-usb-device
  5. Animal sacrifice
The grub-install is a bit dicey.  Here's the problem: the older BIOS on a particular machine seems to see the USB device as a floppy drive.  grub-install offers the --accept-floppy option, though I'm not sure if this does any good in my situation or not.  Regardless, GRUB seems to boot with the right incantation.  The array this device services is currently living with one USB boot device, since the RAID-1 configuration was giving it strange heartburn.  I still don't know why.  Its sister system, which is almost identical in model, has had (as far as I know) no real problems dealing with the RAID-1 file systems.

Of other interest, the partitions are only 500M in size.  I got tired of syncing 8G between two USB flash drives.  I also noticed that it gets really finicky with regard to the name of the RAID device, if you get that far.  On one system the name got mangled by the kernel and/or the md driver.  Whatever did the job, it made sure the array remembered its name as md127 instead of md1.  After learning my limited way around the grub rescue> prompt, I was able to boot the system regardless of this mishap.

The solution?  update-grub to regenerate the grub.cfg file with the correct device name.  Other issues that had to be resolved to make this work:
  • mdadm.conf didn't have my current RAID-1.  Remember that each array gets a new UUID, so recreating an array means it's totally different and has to be added to the conf file.
  • Metadata 0.90 doesn't seem to support the name attribute, and was refusing to assemble the array on that account alone (during testing).
I think metadata 1.2 will work - it works for the other two machines.  The catch may be the partition table, the grub.cfg and the grub-install --allow-floppy procedure.

My Adaptec 2805 controller came with old and buggy firmware, and lost a drive on my RAID-6 during a cold-boot test.  Luckily they had published new firmware, and now the device is up-to-date.  Other than that it's been a good card so far...and for the 24 hours it's been running.  We'll see how it holds up.  I only wanted a SATA controller, no RAID, but those seem to be really hard to find.  HighPoint seems to offer a solution that may or may not include RAID support.  I don't need that support, so I don't want it.  But the sites that list the card's features are ambiguous.  And it's almost as expensive, if not more so, than the Adaptec!  On the flip-side, if it could manage cards without having to taint them with its own adapter meta-funk, that would be rather nice.   Automation will flow easier from that spring.

I will perform another cold-boot test tomorrow.  

No comments:

Post a Comment