bcraid drivers part two

Here’s a small patch that tweak the broadcom raid drivers for the bc4000 series to run on the latest kernels:


Note that it is everything but complete. Some other pointers getting the bcraid to work:

  • Use sparse memory or conitguous memory instead of incontiguous memory in the memory layout configuration in the kernel. (CONFIG_SPARSEMEM=y)
  • Enable the magic sysrq key (CONFIG_MAGIC_SYSRQ=y)

At the moment I’m trying to get the bcraid module working in an initrd to allow the root partition on the raid drivers.

4 thoughts on “bcraid drivers part two”

  1. Hey Bas –

    I’m impressed that you’ve gotten at least some of this to work. I must say that my sys-admining skills are a bit lacking, and I’m having issues with my setup. Wondering if you could give some helpful hints 🙂

    My setup has 4 SATA drives set up in RAID10. I’ve created the RAID configuration, and my BIOS now sees one big fast drive. I’m using the gentoo 2006.1 LiveCD.

    I’ve been trying to get this RAID recognized by linux all day. I was very frustrated with only the binary drivers, and because of your page (and one other one), I finally found the driver source. I’ve been trying to build these drivers ever since, but no luck.

    I think this may come back down to my admining skills… I see lots of errors about things like “include/linux/autoconf.h no such file or directory”. Now obviously there is a /usr/include/linux/autoconf.h, so I have a feeling that I need to have this code sitting in /usr or something when I build it. But this seems pretty strange to me :/

    So, I guess I need to know where the source should be when I’m building it, and also how and where I should apply your patch.

    I guess that should be enough for me to actually recognize my array. Any progress on the initrd front?

    Thanks alot!
    Brian Budge

  2. Hi Brian,

    Sorry for the late response, I’ve been a bit busy.

    What’s the distro you are using? When it’s a binary based distro you probably won’t have got all the stuff installed to compile from source. You’ll at least need gcc, binutils and the autotools.

    About the initrd, it finally worked out, but it’s definitely ugly. Basically I just took the default way of creating an initrd for a module and added a little homwritten tool (see the bcmap blog post) to map the array to a fixed device node.

  3. Hey Bas –

    Thanks. I actually gave up. I believe it’s possible (I’m running gentoo), but I don’t have a few days to waste doing it. I just switched to software RAID. Is the controller much faster than linux software RAID? I doubt I’d switch at this point, but if the speed was more than 30 or 40% faster, I’d consider it.

  4. Hi,

    Strange that you get that kind of compile errors on Gentoo.

    Software hardware raid (it’s a microcontroller with software on the raid card) isn’t a lot faster than software on your cpu. With linux the difference is probably neglectable because the linux drivers aren’t that good.

    Real hardware raid, on the other hand, is worth it. But those cards cost a fortune.

Leave a Reply

Your email address will not be published. Required fields are marked *