Ticket #7620 (closed defect: fixed)

Opened 4 months ago

Last modified 4 months ago

Joyride builds cannot boot from USB

Reported by: dsaxena Owned by: dsaxena
Priority: blocker Milestone: 8.2.0 (was Update.2)
Component: not assigned Version: not specified
Keywords: joyride-2200:- blocks:8.2 Cc: dsaxena
Action Needed: test in build Verified: no
Deployments affected: Blocked By:
Blocking: #7413

Description

As per http://lists.laptop.org/pipermail/devel/2008-July/017192.html, we can't boot from USB in latest joyride. I looked at the initramfs and we are missing the following modules:

kernel/drivers/usb/core/usbcore.ko kernel/drivers/usb/host/hcd-echi.ko

What package/repository pulls the modules from the kernel into the olpcrd?

Attachments

usb_boot.patch (0.6 kB) - added by dsaxena 4 months ago.

Change History

Changed 4 months ago by dsaxena

Also missing kernel/drivers/usb/storage/libusual.ko

Changed 4 months ago by cscott

pilgrim does this; I've patched it to fix the problem. Should be in next joyride.

Changed 4 months ago by dsaxena

  • owner changed from cscott to dsaxena
  • status changed from new to assigned
  • next_action changed from never set to diagnose

Testing shows that even with libusual, hcd-echi, and usbcore, boot from USB fails. I've also added sg.ko which is needed for the /dev/sd* interfaces but this does not solve the problem. Taking to debug.

Changed 4 months ago by cscott

There's an 'interactive mode' in the olpcrd you can set at the top of init; that might prove useful.

Changed 4 months ago by dsaxena

Changed 4 months ago by dsaxena

Problem ended up being that we need to load ohci-hdc, not ehci-hcd. ehci-hcd should be dropped and replaced with ohci-hcd in the ramdisk image. In addition, we need to add drivers/scsi/sg.ko and apply the the attached patch (usb_boot.patch).

Changed 4 months ago by dsaxena

  • next_action changed from diagnose to package

Changed 4 months ago by dsaxena

  • blocking 7413 added

Changed 4 months ago by dsaxena

  • summary changed from olpcrd missing usb modules to Joyride builds cannot boot from USB

Changed 4 months ago by cscott

Why do we need sg? That doesn't seem right.

Changed 4 months ago by cscott

It appears that ohci_hcd and ehci_hcd modules have been renamed to ohci-hcd and ehci-hcd, and thus weren't being copied into the initramfs. I don't think the above usb_boot.patch is necessary. I've fixed the module inclusion in joyride, please test and let me know if this indeed fixed the problems.

Changed 4 months ago by dsaxena

Downloaded joyride-2230 and the problem still exists. 'modprobe usb-storage' loads usbcore and libusual along with it, but we still need to manually 'modprobe ohci-hcd' to instantiate and enable the underlying host controller interface.

Changed 4 months ago by tvoverbeek

Just confirming dsaxena's experience with joyride-2230. Adding the single line 'call(['/sbin/modprobe','ohci-hcd'])' to initutil.py in the ramdisk makes the boot from USB work.

Changed 4 months ago by cscott

  • next_action changed from package to test in build

Patched in olpcrd 0.47; should be in joyride-2262 and following. Please test.

Changed 4 months ago by tvoverbeek

  • status changed from assigned to closed
  • resolution set to fixed

Tested with joyride-2263. Boots OK from USB now. Thanks for fixing this.

Note: See TracTickets for help on using tickets.