11.2.0 XO-1 boot from USB or SD doesn't work for me

Frantisek Dufka dufkaf at gmail.com
Wed Aug 24 08:03:25 EDT 2011


previous OS versions booted fine without any change when same build 
files were in internal jffs2 or on SD card or on USB stick. With 11.2.0 
it look like this no longer works.

When I boot from USB or SD slot the initrd prints many lines of 
something similar to 'chdir to /lib/modules failed' and finally 
something like 'Root device not found, sleeping forever'.

When examining initrd files in /boot I found that there are actually two 
initial ramdisks, one initrd below 2MB size and one actrd having ~5MB. 
The 5MB one does have /lib/modules inside while the normal initrd does not.

When replacing initrd by actrd the chdir /lib/modules error message is 
gone, and I see usb modules inserted and I see mass storage module 
detecting the usb device but it printed another messages about 
"scsi_wait_scan module not found" and again root device not found.

I am using SD card with single ext3 partition with fs label "OLPCRoot" 
in usb card reader or directly in SD slot (just like it works with 
previous OS versions).

Then I extracted initrd with gzip and cpio, copied /lib/modules from 
actdr, repacked and can confirm the original initrd code behaves exactly 
the same as actrd one.

Then I found file cmdline/20olpc-boot-cmdline.sh inside intrd that 
checks boot device from ofw and hardcodes root=/dev/sda2 with this code:
if [ -z "$root" ]; then
         # if no root device was specified, use OFW bootpath to find root
                /pci/usb@*) root="/dev/sda2" ;; # external USB, assume 

So I changed sda2 to sda1 but it still does not boot with same message - 
root device not found. Sorry that I don't have exact error messages but 
the device does not boot so I cannot copy them directly.

Currently I am out of ideas.

Is booting from SD or USB on xo-1 supposed to work with 11.2.0? (looks 
like it is not)

Anyone knows the boot procedure inside initrd and can point me to place 
that needs fixing so usb or sd card boot works with 1.2.0?

BTW, I have a need for both ways, my son's xo-1 boots older OS from SD 
card (with swap file) and I have another xo-1 with broken CAFE chip that 
boots (older OS) from USB only and mostly works except internal NAND, SD 
slot and camera - 3 features done by semi-dead CAFE chip. The only 
user-visible issue is camera not working in activities and I can live 
with that :-) Semi-working means that ocassionally the CAFE chip works 
(based on phase of the moon) but mostly the kernel prints some error 
messages at boot when probing PCI devices. When it works it actually 
boots from internal NAND just fine but the system hangs few minutes or 
hours later when CAFE chip decides to go away again.


More information about the Devel mailing list