Ubuntu doesn't install on bootable SD-card
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
grub (Ubuntu) |
Confirmed
|
Wishlist
|
Unassigned | ||
grub-installer (Ubuntu) |
Confirmed
|
Wishlist
|
Unassigned |
Bug Description
Recently, BIOS vendors have been starting to implement a 'boot from SD card' feature, much like they have added 'boot from USB memory stick' some years ago.
The only SD-card host controller that I've seen this implemented for is SDHCI compliant host controllers.
While this is a nice feature to support, for most systems it is just a gimmick and not something neccessarry.
However, there are hand-held devices such as netbooks in the pipeline which do not have any other mass storage device. No hard disk and no IDE-attached flash disk or the like. They just have one (more likely two or more) SD card slots and you install and store not only your data but the entire operating system on that SD card.
Furthermore, there are products like Samsung moviNAND which are basically a SDcard in a BGA package that can be soldered onto a PCB. So from a protocol and software point of view it is a SD card, but it is mechanically soldered onto the board. Such device have gained some popularity in ARM-based designs, but we'll likely see them in the x86 world, too.
I have tested to install "Ubuntu Intrepid alpha 5 desktop i386" and it did not work
Bootloader requirements
There are no specific requirements on the bootloader, since BIOS abstracts all low-level details about how to talk to the SD card (controller) in the usual way through the BIOS ABI.
However, the program that installs the actuall bootloader record (grub-install, grub-installer, the 'lilo' commandline program) has to understand that /dev/mmcblk* is a valid block device and be able to discover the mapping between /dev/mmcblk* and the BIOS device number.
For grub (grub1, the old version), see
* http://
* http://
[edit]
Installer requirements
The distribution installation initrd needs to
1. include and auto-load the sdhc.ko and sdhci_pci.ko kernel modules
2. create the /dev/mmcblk* device nodes as per udev/hotplug events
The actual distribution installation program needs to
1. recognize /dev/mmcblk* as block devices that can be used as target device
2. use a grub-install or similar program that can discover the bios drive number to /dev/mmcblk* device name mapping
You can find more information at http://
Changed in ubiquity: | |
importance: | Undecided → Wishlist |
status: | New → Confirmed |
Changed in grub: | |
importance: | Undecided → Wishlist |
status: | New → Confirmed |
One additional comment: on systems such as the HP EliteBook laptops, which offer bootability from a Ricoh SDHC controller, the initramfs will also need to include the ricoh_mmc driver (disables the proprietary mmc controller) in order for the SDHC controller to handle the cards. Also, I have tried to deploy a liveimage to an SD card via usb-creator, but the initramfs lacks these modules, and usb-creator will not allow non-usb-based disks as targets (a completely separate issue).