Menu

PCMCIA

Help
Chris
2012-04-19
2012-12-12
  • Chris

    Chris - 2012-04-19

    Anyone ever successfully booted DRBL using a PCMCIA network card? When I try, it falls back to busybox and says the kernel doesn't have a driver for my network adapter. However, when I use a PCI one with the PCMCIA one as a second NIC, the PCMCIA one works fine.

     
  • Steven Shiau

    Steven Shiau - 2012-04-20

    Unless your PCMCIA card supports PXE, otherwise it won't work.
    Maybe it's possible to try ipxe/gpxe, but I have never done this.

    Steven.

     
  • Chris

    Chris - 2012-04-20

    I've got PXE booting working (with netboot + packet driver), but not DRBL. As I said, it falls back to busybox, so the Linux boot is failing. My guess is DRBL is trying to mount the NFS shares before PCMCIA devices are available.

     
  • Steven Shiau

    Steven Shiau - 2012-04-20

    So did you modify the initrd to make PCMCIA device starts first, then mount the NFS root?

    Steven.

     
  • Chris

    Chris - 2012-04-20

    No. I was just looking at mkpxeinitrd-net trying to figure out how to do that.

     
  • Chris

    Chris - 2012-04-20

    I've made progress. I added these lines to mkpxeinitrd-net:

    mkdir -p $initrd/lib/modules/$kernel_ver/kernel/drivers/pcmcia
    cp -a /lib/modules/$kernel_ver/kernel/drivers/pcmcia/*.ko $initrd/lib/modules/$kernel_ver/kernel/drivers/pcmcia
    ls -l $initrd/lib/modules/$kernel_ver/kernel/drivers/pcmcia
    

    Now I can see my PCMCIA card is loaded, but only after dropping to busybox. How do I force it to load the PCMCIA card first or delay mounting the NFS root a few seconds?

     
  • Chris

    Chris - 2012-04-20

    It works!

    I had to get the pcmcia NET drivers loaded as well as the pcmcia drivers in mkpxeinitrd-net:

    echo "Use kernel modules from $drbl_kernel_mod_path/lib/modules/$kernel_ver."
    mkdir -p $initrd/lib/modules/$kernel_ver/kernel/drivers/pcmcia
    cp -a /lib/modules/$kernel_ver/kernel/drivers/pcmcia/*.ko $initrd/lib/modules/$kernel_ver/kernel/drivers/pcmcia
    mkdir -p $initrd/lib/modules/$kernel_ver/kernel/drivers/net/pcmcia
    cp -a /lib/modules/$kernel_ver/kernel/drivers/net/pcmcia/*.ko $initrd/lib/modules/$kernel_ver/kernel/drivers/net/pcmcia
    

    then I had to delay bringing up the network interface until the PCMCIA NIC could be initialized in linuxrc-or-init:

    sleep 5
    $echo "Loading network device modules..."
    

    then run mkpxeinitrd-net and good to go!

     
  • Steven Shiau

    Steven Shiau - 2012-04-26

    Cool! Thanks for sharing that.

    Steven.

     

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.