booting -buntu from an SD(HC) card

Discussion in 'Linux' started by RockDoctor, Jan 8, 2009.

  1. RockDoctor

    RockDoctor

    Joined:
    Aug 21, 2008
    Messages:
    963
    Likes Received:
    0
    Location:
    Minnesota, USA
    The question, can I boot (insert favorite distro's name here) Linux directly from an SD card, has come up numerous times in the forum. It has been pointed out, and correctly so, that the answer is no, but... That but being you need a small boot sector on your SDD/HDD/USB boot device with a kernel (or initial ram disk image) that will recognize the SD card slot. Well boys and girls, a step-by-step explanation of how to set this up for Eeebuntu 2.0 is given here:
    http://www.osnews.com/story/20743/Eeebuntu_2_0_SD_Card_Installation_on_the_Aspire_One
    Now, there's nothing Eeebuntu-specific here, the method will work with any -buntu or any other Debian-based distro that uses initramfs-tools. A similar methodology would presumably work with Fedora and any other distro that uses mkinitrd (using the --preload=module option for mmc_core, mmc_block, sdhci, and sdhci-pci).

    Disclaimer: I haven't tried it (yet)
     
    RockDoctor, Jan 8, 2009
    #1
  2. RockDoctor

    LewsTherin

    Joined:
    Oct 15, 2008
    Messages:
    2
    Likes Received:
    0
    Hi there,

    I found this guide as well, and while it looks quite good it is oriented around first installing Ubuntu on the 8GB internal, and then doing another install onto the SDHC card, using the ubuntu initramfs tools. It would be nice to dual boot Linpus and Eeebuntu.

    As you noted, it should be possible to keep Linpus the default install and using mkinitrd to create an initrd with the needed sdhc drivers. I am attempting to do this, but am running into the following:

    (First yum install mkinitrd)

    [root@localhost boot]# mkinitrd myinitrd bzImage
    No modules available for kernel "bzImage".
    [root@localhost boot]#
    [root@localhost boot]# cp -rpa /lib/modules/2.6.23.9lw/ /lib/modules/bzImage
    [root@localhost boot]#
    [root@localhost boot]# mkinitrd myinitrd bzImage
    No module ohci-hcd found for kernel bzImage, aborting.

    Also I can not find any mkinitrd.conf, nor any list of modules to include in /etc/modules, etc. so I am honestly not sure where it is getting the idea it needs ohci-hcd as this module is not compiled for the default kernel - so why does it think it needs it? Should there not be a file specifying the modules to build into the new initrd?

    My idea here is to use the default fedora kernel, make a new initrd for it that has the needed modules for the SDHC, boot using that kernel to the Ubuntu install on the SDHC, then once in Ubuntu, do the same of the Ubuntu kernel - make an initrd for the Ubuntu kernel. After this I think grub could boot the Ubuntu kernel directly?

    Am I thinking right on this and does anyone have an suggestions on how to correctly build a new initrd which has the needed modules?

    Installing Ubuntu twice seems kind of silly, it would be more fun to have linpus and eeebuntu both. I would appreciate any assistance anyone can be in helping get this worked out.

    Cheers,
    Pete
     
    LewsTherin, Jan 10, 2009
    #2
Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.