On 2016-12-13, peter green wrote: > On 13/12/16 21:42, peter green wrote: >> I would guess at this point either a race condition or a power glitch >> (maybe powering the HDD off one of the USB ports wasn't such a good >> idea). >> > OK, I found that adding ahci-imx.hotplug=1 to the kernel command line > made it work. > > Checking the schematic I notice that the USB ports seem to have power > control, I wonder if they are power-cycled at some point during the boot > process.
Had a similar issue on a Cubox-I4pro, and your ahci-imx.hotplug=1 workaround also worked for me. Maybe it's not loading the USB drivers in the initramfs... or maybe it's just a race condition. A different (more cumbersome) workaround is making sure all the drivers are available in the initramfs. I use this from time to time when adding support to debian for new arm systems. Why it worked in this case seems surprising... but... well... /etc/initramfs-tools/hooks/all-drivers: #!/bin/sh # must be marked executable, e.g. chmod +x PREREQS="" prereqs() { echo "$PREREQS"; } case "$1" in prereqs) prereqs exit 0 ;; esac . /usr/share/initramfs-tools/hook-functions copy_modules_dir kernel/drivers lsmod from initramfs shell where it failed to mount the rootfs on sata: Module Size Used by Tainted: G ci_hdrc_imx 6936 0 ci_hdrc 35216 1 ci_hdrc_imx extcon_core 13223 1 ci_hdrc ahci_imx 6207 0 ehci_hcd 64996 1 ci_hdrc libahci_platform 6494 1 ahci_imx libahci 23377 2 ahci_imx,libahci_platform udc_core 26444 1 ci_hdrc libata 192873 3 ahci_imx,libahci_platform,libahci usbcore 195888 2 ci_hdrc,ehci_hcd sdhci_esdhc_imx 12147 0 sdhci_pltfm 3338 1 sdhci_esdhc_imx scsi_mod 187963 1 libata sdhci 39324 2 sdhci_esdhc_imx,sdhci_pltfm usb_common 3659 3 ci_hdrc,udc_core,usbcore i2c_imx 15436 0 usbmisc_imx 6594 1 ci_hdrc_imx anatop_regulator 4712 1 phy_mxs_usb 6386 2 at803x 4176 0 lsmod on a successfully booted system: Module Size Used by snd_soc_imx_spdif 1954 0 sg 23603 0 snd_soc_fsl_spdif 16193 2 imx_pcm_dma 1244 1 snd_soc_fsl_spdif snd_soc_core 144850 3 snd_soc_fsl_spdif,imx_pcm_dma,snd_soc_imx_spdif snd_pcm_dmaengine 3583 1 snd_soc_core snd_pcm 83374 2 snd_pcm_dmaengine,snd_soc_core snd_timer 20317 1 snd_pcm snd 55403 3 snd_timer,snd_soc_core,snd_pcm soundcore 5571 1 snd ip_tables 12425 0 x_tables 14826 1 ip_tables autofs4 32792 2 ext4 551118 2 crc16 1274 1 ext4 jbd2 94046 1 ext4 crc32c_generic 1862 2 fscrypto 15747 1 ext4 ecb 2191 0 mbcache 5508 3 ext4 dm_mod 103345 7 sd_mod 32731 3 brcmfmac 240005 0 brcmutil 5789 1 brcmfmac cfg80211 475128 1 brcmfmac rfkill 16819 2 cfg80211 imx_ipuv3_crtc 10746 0 ahci_imx 6207 2 libahci_platform 6494 1 ahci_imx libahci 23377 2 libahci_platform,ahci_imx libata 192873 3 libahci_platform,libahci,ahci_imx ci_hdrc_imx 6936 0 imx_ipu_v3 75709 1 imx_ipuv3_crtc ci_hdrc 35216 1 ci_hdrc_imx scsi_mod 187963 3 sd_mod,libata,sg extcon_core 13223 1 ci_hdrc ehci_hcd 64996 1 ci_hdrc udc_core 26444 1 ci_hdrc i2c_imx 15436 0 sdhci_esdhc_imx 12147 0 sdhci_pltfm 3338 1 sdhci_esdhc_imx usbcore 195888 3 ehci_hcd,brcmfmac,ci_hdrc sdhci 39324 2 sdhci_pltfm,sdhci_esdhc_imx usbmisc_imx 6594 1 ci_hdrc_imx usb_common 3659 3 udc_core,usbcore,ci_hdrc ir_lirc_codec 5112 0 anatop_regulator 4712 1 phy_mxs_usb 6386 2 imx2_wdt 4189 0 dw_hdmi_imx 3203 0 dw_hdmi 14062 1 dw_hdmi_imx imxdrm 5486 1 imx_ipuv3_crtc drm_kms_helper 117326 4 imx_ipuv3_crtc,dw_hdmi,imxdrm lirc_dev 8715 1 ir_lirc_codec etnaviv 66053 0 pwm_imx 3678 1 drm 276288 7 imx_ipuv3_crtc,etnaviv,dw_hdmi,dw_hdmi_imx,imxdrm,drm_kms_helper evdev 12740 0 leds_pwm 3220 0 gpio_ir_recv 3212 0 at803x 4176 0 live well, vagrant
signature.asc
Description: PGP signature