Is it possible to enable the usb-host boot support in the ARMMP kernel for the cubietruck in the way that the hd-media tarball used by d-i does? I've tried experimenting with the various options, I've narrowed it to just the initrd. With the installer initrd, I can boot from USB and access the USB filesystem. With the default armmp initrd, I get a kernel panic: [ 4.879987] sda: sda1 sda2 sda3 < sda5 > [ 4.886513] sd 0:0:0:0: [sda] Attached SCSI disk [ 4.893857] sd 0:0:0:0: Attached scsi generic sg0 type 0 Begin: Loading essential drivers ... done. Begin: Running /scripts/init-premount ... done. Begin: Mounting root file system ... Begin: Running /scripts/local-top ... done. Begin: Waiting for root file system ... done. Gave up waiting for root device. Common problems: - Boot args (cat /proc/cmdline) - Check rootdelay= (did the system wait long enough?) - Check root= (did the system wait for the right device?) - Missing modules (cat /proc/modules; ls /dev) ALERT! /dev/disk/by-uuid/"8c5538d5-e865-4650-a51c-ce955b6e132f" does not exist. Dropping to a shell! modprobe: module i8042 not found in modules.dep [ 36.102241] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver [ 36.110876] ehci-pci: EHCI PCI platform driver [ 36.124979] ehci-orion: EHCI orion driver modprobe: module uhci-hcd not found in modules.dep [ 36.163008] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver BusyBox v1.22.1 (Debian 1:1.22.0-9+b1) built-in shell (ash) Enter 'help' for a list of built-in commands. /bin/sh: can't access tty; job control turned off (initramfs) (/dev/sda in this case is a SATA drive which I want to ignore for the purposes of this boot) There is no uhci listing in the modules.dep of the running system which accesses /dev/sdb1 just fine. Running system installed on SATA: # lsmod|grep hci ohci_platform 4082 0 ehci_platform 4562 0 ohci_hcd 37631 1 ohci_platform ehci_hcd 64429 1 ehci_platform ahci_sunxi 2652 0 libahci_platform 4679 4 ahci_sunxi libahci 23077 1 libahci_platform libata 161809 3 libahci,libahci_platform,ahci_sunxi UUID="8c5538d5-e865-4650-a51c-ce955b6e132f" is the first partition of a USB stick, which shows as /dev/sdb1 *after* boot but is not available in the default initrd. I've tried to tweak the default initrd manually: Added to ohci-platform and ehci-platform modules, added these lines to modules.dep (ignore line breaks): kernel/drivers/usb/host/ohci-platform.ko: kernel/drivers/usb/host/ohci-hcd.ko kernel/drivers/usb/host/ehci-platform.ko: kernel/drivers/usb/host/ehci-hcd.ko Added modprobe.d/aliases.conf: softdep uhci-hcd pre: ehci-hcd softdep ohci-hcd pre: ehci-hcd kernel/drivers/usb/host/ehci-platform.ko: kernel/drivers/usb/host/ehci-hcd.ko Briefly, before the installer starts, I can see that sdb is recognised by either the installer kernel or the default armmp kernel but it disappears behind the installer prompt and I can't seem to replicate this with the default armmp initrd. uboot commands for usb boot: setenv autoload no usb start setenv initrd_high '0xffffffff' setenv fdt_high '0xffffffff' setenv initrd_addr_r ${ramdisk_addr_r} setenv loadkernel 'load usb 0:1 ${kernel_addr_r} vmlinuz-3.16.0-4-armmp-lpae' setenv loadinitrd 'load usb 0:1 ${initrd_addr_r} initrd-usb.img-3.16.0-4-armmp-lpae.u-boot; setenv initrd_size ${filesize}' setenv loadfdt 'load usb 0:1 ${fdt_addr_r} dtb-3.16.0-4-armmp-lpae' setenv bootargs 'console=ttyS0,115200 rw root=UUID="8c5538d5-e865-4650-a51c-ce955b6e132f" ip=dhcp' setenv bootcmd 'run loadkernel; run loadinitrd; run loadfdt; bootz ${kernel_addr_r} ${initrd_addr_r}:${filesize} ${fdt_addr_r}' boot -- Neil Williams ============= http://www.linux.codehelp.co.uk/
Attachment:
pgpfXqORdHhAL.pgp
Description: OpenPGP digital signature