Linux 内核无法从 USB 挂载 rootfs

Linux kernel not able to mount rootfs from USB

我正在使用具有 64 位 x86 架构的 Intel Joule 570x 板作为参考。

我使用 GRUB2 作为引导加载程序和主线内核 4.9。我构建了内核,还有 busybox rootfs,然后在 qemu 上测试了它们,我可以启动到 shell.

现在我把内核bzImage、GRUB 和rootfs 放到USB 上。我已经将第一个分区创建为 FAT,并将 bzImage 和 GRUB 文件放在那里。我将第二个分区创建为 ext4 并将 rootfs 文件放在那里。然后我把它插到开发板上。

这是我的 GRUB 菜单项:

menuentry "dev kernel" {
    set root=(hd0,msdos2)
    linux (hd0,msdos1)/bzImage root=/dev/sda console=ttyS2,115200n8 console=tty0
}

内核抛出错误:

VFS: Cannot open root device "sda" or unknown-block(0,0): error -6

谁能帮忙。我的 USB 也被检测到,我已经将所有文件系统(fat、ext4 等)构建到内核中。该板还具有 eMMC 内置存储和 SD 卡,它们也被检测到。

这是完整的启动日志:

  Booting a command list

***** skipped some logs ******

[    0.000000] Kernel command line: BOOT_IMAGE=(hd0,msdos1)/bzImage root=/dev/sda console=ttyS2,115200n8 console=tty0

[    0.000000] Console: colour dummy device 80x25
[    0.000000] console [tty0] enabled
[    0.000000] console [ttyS2] enabled
[    0.015799] Security Framework initialized
[    0.016158] SELinux:  Initializing.
[    0.242204] smpboot: Total of 4 processors activated (13546.74 BogoMIPS)
[    0.246269] devtmpfs: initialized
[    0.246953] PM: Registering ACPI NVS region [mem 0x6b37f000-0x6b3defff] (393216 bytes)
[    0.247630] PM: Registering ACPI NVS region [mem 0x79dfb000-0x79dfbfff] (4096 bytes)
[    0.248388] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 1911260446275000 ns
[    0.248473] kworker/u8:0 (30) used greatest stack depth: 14152 bytes left
[    0.249850] xor: measuring software checksum speed
[    0.259845]    prefetch64-sse:  8832.000 MB/sec
[    0.269872]    generic_sse:  7648.000 MB/sec
[    0.270243] xor: using function: prefetch64-sse (8832.000 MB/sec)
[    0.271541] NET: Registered protocol family 16
[    0.277997] cpuidle: using governor menu
[    0.278437] ACPI FADT declares the system doesn't support PCIe ASPM, so disable it
[    0.279093] ACPI: bus type PCI registered
[    0.279549] PCI: MMCONFIG for domain 0000 [bus 00-3f] at [mem 0xe0000000-0xe3ffffff] (base 0xe0000000)
[    0.280348] PCI: MMCONFIG at [mem 0xe0000000-0xe3ffffff] reserved in E820
[    0.280934] PCI: Using configuration type 1 for base access
[    0.292840] HugeTLB registered 2 MB page size, pre-allocated 0 pages
[    0.310540] raid6: sse2x1   gen()  3921 MB/s
[    0.327606] raid6: sse2x1   xor()  2253 MB/s
[    0.344647] raid6: sse2x2   gen()  4289 MB/s
[    0.361691] raid6: sse2x2   xor()  2619 MB/s
[    0.378739] raid6: sse2x4   gen()  4894 MB/s
[    0.395767] raid6: sse2x4   xor()  2271 MB/s
[    0.396143] raid6: using algorithm sse2x4 gen() 4894 MB/s
[    0.396610] raid6: .... xor() 2271 MB/s, rmw enabled
[    0.397042] raid6: using ssse3x2 recovery algorithm
[    0.397511] ACPI: Added _OSI(Module Device)
[    0.397880] ACPI: Added _OSI(Processor Device)
[    0.398282] ACPI: Added _OSI(3.0 _SCP Extensions)
[    0.398688] ACPI: Added _OSI(Processor Aggregator Device)
[    0.400181] ACPI: Executed 5 blocks of module-level executable AML code
[    0.410040] ACPI: Dynamic OEM Table Load:
[    0.410450] ACPI: SSDT 0xFFFF88017A5E0000 000102 (v02 PmRef  Cpu0Cst  00003001 INTL 20150818)
[    0.411738] ACPI: Dynamic OEM Table Load:
[    0.412123] ACPI: SSDT 0xFFFF88017A5E0200 00015F (v02 PmRef  ApIst    00003000 INTL 20150818)
[    0.413186] ACPI: Dynamic OEM Table Load:
[    0.413575] ACPI: SSDT 0xFFFF88017A4A4300 00008D (v02 PmRef  ApCst    00003000 INTL 20150818)
[    0.416052] ACPI: Interpreter enabled
[    0.416421] ACPI: (supports S0 S4 S5)
[    0.416744] ACPI: Using IOAPIC for interrupt routing
[    0.417228] PCI: Using host bridge windows from ACPI; if necessary, use "pci=nocrs" and report a bug
[    0.418946] ACPI: Power Resource [PXP] (on)
[    0.438938] ACPI: Power Resource [PXP] (on)
[    0.461403] ACPI: Power Resource [VANA] (off)
[    0.461852] ACPI: Power Resource [VDIG] (off)
[    0.462292] ACPI: Power Resource [VAF] (off)
[    0.462724] ACPI: Power Resource [VIO] (off)
[    0.463802] ACPI: Power Resource [VANA] (off)
[    0.464247] ACPI: Power Resource [VDIG] (off)
[    0.464697] ACPI: Power Resource [VAF] (off)
[    0.475093] ACPI: PCI Root Bridge [PCI0] (domain 0000 [bus 00-ff])
[    0.475644] acpi PNP0A08:00: _OSC: OS supports [ExtendedConfig ASPM ClockPM Segments MSI]
[    0.476959] acpi PNP0A08:00: _OSC: OS now controls [PCIeHotplug PME AER PCIeCapability]
[    0.477652] acpi PNP0A08:00: FADT indicates ASPM is unsupported, using BIOS configuration
[    0.478372] acpi PNP0A08:00: [Firmware Info]: MMCONFIG for domain 0000 [bus 00-3f] only partially covers this bridge
[    0.479434] PCI host bridge to bus 0000:00
[    0.479800] pci_bus 0000:00: root bus resource [io  0x0070-0x0077]
[    0.480337] pci_bus 0000:00: root bus resource [io  0x0000-0x006f window]
[    0.480906] pci_bus 0000:00: root bus resource [io  0x0078-0x03ff window]
[    0.481497] pci_bus 0000:00: root bus resource [io  0x0480-0x0cf7 window]
[    0.482077] pci_bus 0000:00: root bus resource [io  0x0d00-0xffff window]
[    0.482669] pci_bus 0000:00: root bus resource [mem 0x000a0000-0x000bffff window]
[    0.483315] pci_bus 0000:00: root bus resource [mem 0x000c0000-0x000dffff window]
[    0.483961] pci_bus 0000:00: root bus resource [mem 0x000e0000-0x000fffff window]
[    0.484602] pci_bus 0000:00: root bus resource [mem 0x7c000001-0x7fffffff window]
[    0.485249] pci_bus 0000:00: root bus resource [mem 0x80000000-0xcfffffff window]
[    0.485893] pci_bus 0000:00: root bus resource [bus 00-ff]
[    0.488151] pci 0000:00:0e.0: System wakeup disabled by ACPI
[    0.489539] pci 0000:00:14.0: System wakeup disabled by ACPI
[    0.490419] pci 0000:00:15.0: System wakeup disabled by ACPI
[    0.491315] pci 0000:00:15.1: System wakeup disabled by ACPI
[    0.498775] pci 0000:01:00.0: can't set Max Payload Size to 256; if necessary, use "pci=pcie_bus_safe" and report a bug
[    0.502772] pci 0000:00:14.0: PCI bridge to [bus 01]
[    0.507965] vgaarb: setting as boot device: PCI:0000:00:02.0
[    0.508456] vgaarb: device added: PCI:0000:00:02.0,decodes=io+mem,owns=io+mem,locks=none
[    0.509162] vgaarb: loaded
[    0.509402] vgaarb: bridge control possible 0000:00:02.0
[    0.509968] SCSI subsystem initialized
[    0.510441] ACPI: bus type USB registered
[    0.510832] usbcore: registered new interface driver usbfs
[    0.511334] usbcore: registered new interface driver hub
[    0.511827] usbcore: registered new device driver usb
[    0.512296] pps_core: LinuxPPS API ver. 1 registered
[    0.512732] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[    0.513514] PTP clock support registered
[    0.513999] Registered efivars operations
[    0.523720] Advanced Linux Sound Architecture Driver Initialized.
[    0.524267] PCI: Using ACPI for IRQ routing
[    0.532269] NetLabel: Initializing
[    0.532578] NetLabel:  domain hash size = 128
[    0.532962] NetLabel:  protocols = UNLABELED CIPSOv4
[    0.533415] NetLabel:  unlabeled traffic allowed by default
[    0.534085] hpet0: at MMIO 0xfed00000, IRQs 2, 8, 0, 0, 0, 0, 0, 0
[    0.534762] hpet0: 8 comparators, 64-bit 19.200000 MHz counter
[    0.537347] clocksource: Switched to clocksource hpet
[    0.553394] VFS: Disk quotas dquot_6.6.0
[    0.553771] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
[    0.554515] pnp: PnP ACPI init
[    0.555748] system 00:01: [mem 0xe0000000-0xefffffff] could not be reserved
[    0.556332] system 00:01: [mem 0xfea00000-0xfeafffff] has been reserved
[    0.556916] system 00:01: [mem 0xfed01000-0xfed01fff] has been reserved
[    0.557497] system 00:01: [mem 0xfed03000-0xfed03fff] has been reserved
[    0.558063] system 00:01: [mem 0xfed06000-0xfed06fff] has been reserved
[    0.558643] system 00:01: [mem 0xfed08000-0xfed09fff] has been reserved
[    0.559204] system 00:01: [mem 0xfed80000-0xfedbffff] has been reserved
[    0.559785] system 00:01: [mem 0xfed1c000-0xfed1cfff] has been reserved
[    0.560369] system 00:01: [mem 0xfee00000-0xfeefffff] has been reserved
[    0.561681] pnp: PnP ACPI: found 2 devices
[    0.569529] clocksource: acpi_pm: mask: 0xffffff max_cycles: 0xffffff, max_idle_ns: 2085701024 ns
[    0.570326] pci 0000:00:14.0: PCI bridge to [bus 01]
[    0.570783] pci 0000:00:14.0:   bridge window [mem 0x92300000-0x923fffff]
[    0.571552] NET: Registered protocol family 2
[    0.572212] TCP established hash table entries: 32768 (order: 6, 262144 bytes)
[    0.573027] TCP bind hash table entries: 32768 (order: 7, 524288 bytes)
[    0.573840] TCP: Hash tables configured (established 32768 bind 32768)
[    0.574456] UDP hash table entries: 2048 (order: 4, 65536 bytes)
[    0.575016] UDP-Lite hash table entries: 2048 (order: 4, 65536 bytes)
[    0.575678] NET: Registered protocol family 1
[    0.576271] RPC: Registered named UNIX socket transport module.
[    0.576794] RPC: Registered udp transport module.
[    0.577198] RPC: Registered tcp transport module.
[    0.577606] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.578178] pci 0000:00:02.0: Video device with shadowed ROM at [mem 0x000c0000-0x000dffff]
[    0.579432] PCI-DMA: Using software bounce buffering for IO (SWIOTLB)
[    0.579993] software IO TLB [mem 0x74c1e000-0x78c1e000] (64MB) mapped at [ffff880074c1e000-ffff880078c1dfff]
[    0.580989] RAPL PMU: API unit is 2^-32 Joules, 4 fixed counters, 655360 ms ovfl timer
[    0.581689] RAPL PMU: hw unit of domain pp0-core 2^-14 Joules
[    0.582183] RAPL PMU: hw unit of domain package 2^-14 Joules
[    0.582677] RAPL PMU: hw unit of domain dram 2^-14 Joules
[    0.583142] RAPL PMU: hw unit of domain pp1-gpu 2^-14 Joules
[    0.583722] platform rtc_cmos: registered platform RTC device (no PNP device found)
[    0.585081] Scanning for low memory corruption every 60 seconds
[    0.585994] futex hash table entries: 1024 (order: 4, 65536 bytes)
[    0.586557] audit: initializing netlink subsys (disabled)
[    0.587039] audit: type=2000 audit(1484314800.570:1): initialized
[    0.588155] workingset: timestamp_bits=56 max_order=20 bucket_order=0
[    0.592463] NFS: Registering the id_resolver key type
[    0.592898] Key type id_resolver registered
[    0.593265] Key type id_legacy registered
[    0.593644] ntfs: driver 2.1.32 [Flags: R/O].
[    0.594218] JFS: nTxBlock = 8192, nTxLock = 65536
[    0.596833] SGI XFS with security attributes, no debug enabled
[    0.601391] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 251)
[    0.602011] io scheduler noop registered
[    0.602371] io scheduler deadline registered
[    0.602751] io scheduler cfq registered (default)
[    0.603678] pcieport 0000:00:14.0: Signaling PME through PCIe PME interrupt
[    0.604267] pci 0000:01:00.0: Signaling PME through PCIe PME interrupt
[    0.604860] pci_hotplug: PCI Hot Plug PCI Core version: 0.5
[    0.605387] efifb: probing for efifb
[    0.605720] efifb: framebuffer at 0x80000000, using 9024k, total 9024k
[    0.606275] efifb: mode is 1920x1200x32, linelength=7680, pages=1
[    0.606810] efifb: scrolling: redraw
[    0.607127] efifb: Truecolor: size=8:8:8:8, shift=24:16:8:0
[    0.618555] Console: switching to colour frame buffer device 240x75
[    0.629275] fb0: EFI VGA frame buffer device
[    0.632973] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
[    0.634649] Non-volatile memory driver v1.3
[    0.635135] Linux agpgart interface v0.103
[    0.635802] [drm] Initialized
[    0.636841] [drm] Memory usable by graphics device = 4096M
[    0.637386] fb: switching to inteldrmfb from EFI VGA
[    0.637881] Console: switching to colour dummy device 80x25
[    0.638524] [drm] Replacing VGA console driver
[    0.639396] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[    0.639960] [drm] Driver supports precise vblank timestamp query.
[    0.642553] i915 0000:00:02.0: Direct firmware load for i915/bxt_dmc_ver1_07.bin failed with error -2
[    0.643336] i915 0000:00:02.0: Failed to load DMC firmware [https://01.org/linuxgraphics/intel-linux-graphics-firmwares], disabling runtime power management.
[    0.644923] vgaarb: device changed decodes: PCI:0000:00:02.0,olddecodes=io+mem,decodes=io+mem:owns=io+mem
[    1.630958] [drm] failed to retrieve link info, disabling eDP
[    1.633466] [drm] GuC firmware load skipped
[    1.646479] tsc: Refined TSC clocksource calibration: 1689.599 MHz
[    1.647029] clocksource: tsc: mask: 0xffffffffffffffff max_cycles: 0x185ac5ca321, max_idle_ns: 440795231783 ns
[    1.650989] random: fast init done
[    1.770721] ACPI: Video Device [GFX0] (multi-head: yes  rom: no  post: no)
[    1.772107] acpi device:44: registered as cooling_device4
[    1.772677] input: Video Bus as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/LNXVIDEO:00/input/input0
[    1.773505] [drm] Initialized i915 1.6.0 20160919 for 0000:00:02.0 on minor 0
[    1.777433] loop: module loaded
[    1.781332] dw-apb-uart.8: ttyS0 at MMIO 0x92430000 (irq = 4, base_baud = 460800) is a 16550A
[    1.782696] dw-apb-uart.9: ttyS1 at MMIO 0x92432000 (irq = 5, base_baud = 460800) is a 16550A
[    1.784122] console [ttyS2] disabled
[    1.784477] dw-apb-uart.10: ttyS2 at MMIO 0x92434000 (irq = 6, base_baud = 460800) is a 16550A
[    2.661355] clocksource: Switched to clocksource tsc
[    2.741029] [drm] RC6 on
[    4.303847] console [ttyS2] enabled
[    4.303914] fbcon: inteldrmfb (fb0) is primary device
[    4.304411] dw-apb-uart.11: ttyS3 at MMIO 0x92436000 (irq = 7, base_baud = 460800) is a 16550A
[    4.305851] e100: Intel(R) PRO/100 Network Driver, 3.5.24-k2-NAPI
[    4.305851] e100: Copyright(c) 1999-2006 Intel Corporation
[    4.305874] e1000: Intel(R) PRO/1000 Network Driver - version 7.3.21-k8-NAPI
[    4.305875] e1000: Copyright (c) 1999-2006 Intel Corporation.
[    4.305897] e1000e: Intel(R) PRO/1000 Network Driver - 3.2.6-k
[    4.305898] e1000e: Copyright(c) 1999 - 2015 Intel Corporation.
[    4.305930] sky2: driver version 1.30
[    4.306203] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    4.306204] ehci-pci: EHCI PCI platform driver
[    4.306228] ehci-platform: EHCI generic platform driver
[    4.306271] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[    4.306277] ohci-pci: OHCI PCI platform driver
[    4.306297] ohci-platform: OHCI generic platform driver
[    4.306319] uhci_hcd: USB Universal Host Controller Interface driver
[    4.306525] xhci_hcd 0000:00:15.0: xHCI Host Controller
[    4.306654] xhci_hcd 0000:00:15.0: new USB bus registered, assigned bus number 1
[    4.307770] xhci_hcd 0000:00:15.0: hcc params 0x200077c1 hci version 0x100 quirks 0x00109810
[    4.307926] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
[    4.307929] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    4.307931] usb usb1: Product: xHCI Host Controller
[    4.307933] usb usb1: Manufacturer: Linux 4.9.0 xhci-hcd
[    4.307934] usb usb1: SerialNumber: 0000:00:15.0
[    4.308296] hub 1-0:1.0: USB hub found
[    4.308311] hub 1-0:1.0: 4 ports detected
[    4.308764] xhci_hcd 0000:00:15.0: xHCI Host Controller
[    4.308974] xhci_hcd 0000:00:15.0: new USB bus registered, assigned bus number 2
[    4.309029] usb usb2: New USB device found, idVendor=1d6b, idProduct=0003
[    4.309031] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    4.309033] usb usb2: Product: xHCI Host Controller
[    4.309034] usb usb2: Manufacturer: Linux 4.9.0 xhci-hcd
[    4.309036] usb usb2: SerialNumber: 0000:00:15.0
[    4.309285] hub 2-0:1.0: USB hub found
[    4.309298] hub 2-0:1.0: 4 ports detected
[    4.309516] usb: port power management may be unreliable
[    4.309781] usbcore: registered new interface driver usblp
[    4.309807] usbcore: registered new interface driver usb-storage
[    4.309820] usbcore: registered new interface driver ums-realtek
[    4.309830] usbcore: registered new interface driver ums-usbat
[    4.309868] usbcore: registered new interface driver usbserial
[    4.309881] usbcore: registered new interface driver usbserial_generic
[    4.309892] usbserial: USB Serial support registered for generic
[    4.309904] usbcore: registered new interface driver pl2303
[    4.309914] usbserial: USB Serial support registered for pl2303
[    4.309918] usbip_core: USB/IP Core v1.0.0
[    4.310062] i8042: PNP: No PS/2 controller found. Probing ports directly.
[    5.408427] i8042: No controller found
[    5.408691] mousedev: PS/2 mouse device common for all mice
[    5.408905] ACPI Error: Could not enable RealTimeClock event (20160831/evxfevnt-212)
[    5.408908] ACPI Warning: Could not enable fixed event - RealTimeClock (4) (20160831/evxface-654)
[    5.409640] rtc_cmos rtc_cmos: rtc core: registered rtc_cmos as rtc0
[    5.409788] rtc_cmos rtc_cmos: alarms up to one month, y3k, 114 bytes nvram, hpet irqs
[    5.410003] device-mapper: ioctl: 4.35.0-ioctl (2016-06-23) initialised: dm-devel@redhat.com
[    5.410018] sdhci: Secure Digital Host Controller Interface driver
[    5.410019] sdhci: Copyright(c) Pierre Ossman
[    5.410042] sdhci-pci 0000:00:1b.0: SDHCI controller found [8086:1aca] (rev c)
[    5.410256] sdhci-pci 0000:00:1b.0: failed to setup card detect gpio
[    5.416566] mmc0: SDHCI controller on PCI [0000:00:1b.0] using ADMA 64-bit
[    5.416651] sdhci-pci 0000:00:1c.0: SDHCI controller found [8086:1acc] (rev c)
[    5.423563] mmc1: SDHCI controller on PCI [0000:00:1c.0] using ADMA 64-bit
[    5.423788] usbcore: registered new interface driver ushc
[    5.423790] EFI Variables Facility v0.08 2004-May-17
[    5.436816] hidraw: raw HID events driver (C) Jiri Kosina
[    5.437175] usbcore: registered new interface driver usbhid
[    5.437176] usbhid: USB HID core driver
[    5.438050] Netfilter messages via NETLINK v0.30.
[    5.438166] nf_conntrack version 0.5.0 (16384 buckets, 65536 max)
[    5.438245] ctnetlink v0.93: registering with nfnetlink.
[    5.438672] ip_tables: (C) 2000-2006 Netfilter Core Team
[    5.438701] Initializing XFRM netlink socket
[    5.438882] NET: Registered protocol family 10
[    5.439222] ip6_tables: (C) 2000-2006 Netfilter Core Team
[    5.439375] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
[    5.439591] NET: Registered protocol family 17
[    5.439622] Key type dns_resolver registered
[    5.439970] microcode: sig=0x506c2, pf=0x1, revision=0xa
[    5.440066] microcode: Microcode Update Driver: v2.01 <tigran@aivazian.fsnet.co.uk>, Peter Oruba
[    5.440268] registered taskstats version 1
[    5.440823] Btrfs loaded, crc32c=crc32c-generic
[    5.443436] snd_hda_intel 0000:00:0e.0: bound 0000:00:02.0 (ops 0xffffffff81ca3980)
[    5.445136]   Magic number: 1:456:685
[    5.445177] misc nvram: hash matches
[    5.445186]  clocksource: hash matches
[    5.447584] hdaudio hdaudioC0D1: Unable to bind the codec
[    5.454231] Console: switching to colour frame buffer device 240x75
[    5.541996] mmc0: new high speed SDHC card at address 1234
[    5.542391] mmcblk0: mmc0:1234 SA16G 14.4 GiB 
[    5.544015]  mmcblk0: p1
[    5.595442] mmc1: new HS400 MMC card at address 0001
[    5.595700] mmcblk1: mmc1:0001 016G32 14.7 GiB 
[    5.595787] mmcblk1boot0: mmc1:0001 016G32 partition 1 4.00 MiB
[    5.595885] mmcblk1boot1: mmc1:0001 016G32 partition 2 4.00 MiB
[    5.595970] mmcblk1gp0: mmc1:0001 016G32 partition 4 4.00 MiB
[    5.596058] mmcblk1gp3: mmc1:0001 016G32 partition 7 4.00 MiB
[    5.596144] mmcblk1rpmb: mmc1:0001 016G32 partition 3 4.00 MiB
[    5.598227]  mmcblk1: p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13
[    5.630221] usb 2-2: new SuperSpeed USB device number 2 using xhci_hcd
[    5.699723] usb 2-2: New USB device found, idVendor=8564, idProduct=4100
[    5.699726] usb 2-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[    5.699728] usb 2-2: Product: USB3.0 Hub
[    5.699730] usb 2-2: Manufacturer: Transcend Info
[    5.768362] hub 2-2:1.0: USB hub found
[    5.775377] hub 2-2:1.0: 4 ports detected
[    5.845170] usb 1-2: new high-speed USB device number 2 using xhci_hcd
[    6.079121] usb 1-2: New USB device found, idVendor=8564, idProduct=4100
[    6.079123] usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[    6.079125] usb 1-2: Product: USB2.0 Hub
[    6.079127] usb 1-2: Manufacturer: Transcend Info
[    6.102982] hub 1-2:1.0: USB hub found
[    6.109513] hub 1-2:1.0: 4 ports detected
[    6.283504] usb 2-2.1: new SuperSpeed USB device number 3 using xhci_hcd
[    6.341416] i915 0000:00:02.0: fb0: inteldrmfb frame buffer device
[    6.342103] usb 2-2.1: New USB device found, idVendor=0781, idProduct=558a
[    6.342106] usb 2-2.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[    6.342107] usb 2-2.1: Product: Ultra
[    6.342109] usb 2-2.1: Manufacturer: SanDisk
[    6.342111] usb 2-2.1: SerialNumber: 4C531003550621112474
[    6.343651] usb-storage 2-2.1:1.0: USB Mass Storage device detected
[    6.343924] scsi host0: usb-storage 2-2.1:1.0
[    6.410171] console [netcon0] enabled
[    6.416562] netconsole: network logging started
[    6.425391] ALSA device list:
[    6.430970]   #0: HDA Intel PCH at 0x92418000 irq 123
[    6.439041] ttyS2 - failed to request DMA
[    6.445806] md: Waiting for all devices to be available before autodetect
[    6.455660] md: If you don't use raid, use raid=noautodetect
[    6.465021] md: Autodetecting RAID arrays.
[    6.471909] md: Scanned 0 and added 0 devices.
[    6.479114] md: autorun ...
[    6.484438] md: ... autorun DONE.
[    6.487454] usb 1-3: new full-speed USB device number 3 using xhci_hcd
[    6.499997] VFS: Cannot open root device "sda" or unknown-block(0,0): error -6
[    6.510294] Please append a correct "root=" boot option; here are the available partitions:
[    6.521895] b300        15126528 mmcblk0 [    6.526210]  driver: mmcblk
[    6.531575]   b301        15125504 mmcblk0p1 00000000-01[    6.537358] 
[    6.541264] b308        15380480 mmcblk1 [    6.545579]  driver: mmcblk
[    6.550953]   b309           61440 mmcblk1p1 fb5f2fd1-926e-4824-9bd3-d7cdfc5a9484[    6.559176] 
[    6.563100]   b30a           60417 mmcblk1p2 51237339-1727-41c2-9dfe-3a48de708967[    6.571321] 
[    6.575246]   b30b           29697 mmcblk1p3 e26cbdbe-958c-4813-813e-a580aab236cc[    6.583468] 
[    6.587399]   b30c           29698 mmcblk1p4 d1b1361a-54eb-4cc5-8584-09e3dd161317[    6.595613] 
[    6.599554]   b30d               2 mmcblk1p5 ea2de08a-21d6-422a-b333-bbeb01074d91[    6.607778] 
[    6.611719]   b30e           15363 mmcblk1p6 a85e7cf4-b662-4448-aa75-6aaae46c4457[    6.619962] 
[    6.623925]   b30f         3668995 mmcblk1p7 fcca825b-7dcb-41d2-81d9-b430ae829b12[    6.632149] 
[    6.636100]   103:00000     101380 mmcblk1p8 ba14eaf1-4002-412e-a21c-5d75901ac87c[    6.644322] 
[    6.648287]   103:00001          4 mmcblk1p9 4c4a2cac-4fdb-4428-8b8c-4a4a21533a6e[    6.656501] 
[    6.660461]   103:00002    1534981 mmcblk1p10 7f9c6212-42e8-4037-af65-63fa74ad54f5[    6.668783] 
[    6.672747]   103:00003       7173 mmcblk1p11 b8a54634-b3ff-4383-87fc-ec234e30cc23[    6.681059] 
[    6.685009]   103:00004       9222 mmcblk1p12 0f9c8abc-bfbd-4d70-866b-0d2a646d35c9[    6.693329] 
[    6.697300]   103:00005    9848815 mmcblk1p13 0c0de561-b34b-4244-aff6-3b445acd6ded[    6.705621] 
[    6.709552] b330            4096 mmcblk1rpmb [    6.714259]  (driver?)
[    6.719197] b328            4096 mmcblk1gp3 [    6.723806]  (driver?)
[    6.728745] b320            4096 mmcblk1gp0 [    6.733355]  (driver?)
[    6.738279] b318            4096 mmcblk1boot1 [    6.743082]  (driver?)
[    6.747996] b310            4096 mmcblk1boot0 [    6.752799]  (driver?)
[    6.757685] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
[    6.769245] CPU: 3 PID: 1 Comm: swapper/0 Not tainted 4.9.0 #6
[    6.778067] Hardware name: Intel Corp. Joule DVT2/SDS, BIOS GTPP181A.X64.0143.B30.1701132137 01/13/2017
[    6.790929]  ffffc90000653dd8 ffffffff814c97df 0000000000008000 ffffffff81dd8f78
[    6.801611]  ffffc90000653e50 ffffffff81123cfb ffff880100000010 ffffc90000653e60
[    6.812325]  ffffc90000653e00 62316b6c62636d6d ffffc90000653e68 0000000000000001
[    6.823005] Call Trace:
[    6.828132]  [<ffffffff814c97df>] dump_stack+0x4d/0x6e
[    6.836281]  [<ffffffff81123cfb>] panic+0xd0/0x20e
[    6.844032]  [<ffffffff8218a4ac>] mount_block_root+0x182/0x23c
[    6.852976]  [<ffffffff8218a66b>] mount_root+0x105/0x10e
[    6.861297]  [<ffffffff8218a7b0>] prepare_namespace+0x13c/0x174
[    6.870323]  [<ffffffff8218a1de>] kernel_init_freeable+0x1ce/0x1e1
[    6.879617]  [<ffffffff82189933>] ? set_debug_rodata+0x12/0x12
[    6.888526]  [<ffffffff81ae56b0>] ? rest_init+0x80/0x80
[    6.896736]  [<ffffffff81ae56b9>] kernel_init+0x9/0x100
[    6.904956]  [<ffffffff81aeb192>] ret_from_fork+0x22/0x30
[    6.913423] Kernel Offset: disabled
[    6.919701] ---[ end Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
[    6.932266] ------------[ cut here ]------------
[    6.939850] WARNING: CPU: 3 PID: 1 at arch/x86/kernel/smp.c:127 native_smp_send_reschedule+0x3a/0x40
[    6.952542] Modules linked in:
[    6.958438] CPU: 3 PID: 1 Comm: swapper/0 Not tainted 4.9.0 #6
[    6.967461] Hardware name: Intel Corp. Joule DVT2/SDS, BIOS GTPP181A.X64.0143.B30.1701132137 01/13/2017
[    6.980529]  ffff88017fd83e10 ffffffff814c97df 0000000000000000 0000000000000000
[    6.991430]  ffff88017fd83e50 ffffffff81058f4c 0000007f7fd97820 0000000000000000
[    7.002301]  0000000000000003 00000000fffb8712 ffff88017ab58000 ffff88017fd911e8
[    7.013163] Call Trace:
[    7.018427]  <IRQ> [    7.020578]  [<ffffffff814c97df>] dump_stack+0x4d/0x6e
[    7.028889]  [<ffffffff81058f4c>] __warn+0xcc/0xf0
[    7.036832]  [<ffffffff81059028>] warn_slowpath_null+0x18/0x20
[    7.045953]  [<ffffffff8103b37a>] native_smp_send_reschedule+0x3a/0x40
[    7.055865]  [<ffffffff8108e9d4>] trigger_load_balance+0x104/0x1a0
[    7.065380]  [<ffffffff81080bd7>] scheduler_tick+0x97/0xc0
[    7.074105]  [<ffffffff810c4210>] ? tick_sched_do_timer+0x30/0x30
[    7.083519]  [<ffffffff810b5792>] update_process_times+0x42/0x50
[    7.092833]  [<ffffffff810c3c71>] tick_sched_handle.isra.13+0x31/0x40
[    7.102642]  [<ffffffff810c4248>] tick_sched_timer+0x38/0x70
[    7.111524]  [<ffffffff810b638a>] __hrtimer_run_queues+0xda/0x250
[    7.120932]  [<ffffffff810b67d3>] hrtimer_interrupt+0xa3/0x190
[    7.130032]  [<ffffffff8103d650>] local_apic_timer_interrupt+0x30/0x60
[    7.139903]  [<ffffffff8103e138>] smp_apic_timer_interrupt+0x38/0x50
[    7.149575]  [<ffffffff81aebb2f>] apic_timer_interrupt+0x7f/0x90
[    7.158861]  <EOI> [    7.161023]  [<ffffffff81123e00>] ? panic+0x1d5/0x20e
[    7.169257]  [<ffffffff81123dfc>] ? panic+0x1d1/0x20e
[    7.177497]  [<ffffffff8218a4ac>] mount_block_root+0x182/0x23c
[    7.186601]  [<ffffffff8218a66b>] mount_root+0x105/0x10e
[    7.195091]  [<ffffffff8218a7b0>] prepare_namespace+0x13c/0x174
[    7.204259]  [<ffffffff8218a1de>] kernel_init_freeable+0x1ce/0x1e1
[    7.213699]  [<ffffffff82189933>] ? set_debug_rodata+0x12/0x12
[    7.222734]  [<ffffffff81ae56b0>] ? rest_init+0x80/0x80
[    7.231073]  [<ffffffff81ae56b9>] kernel_init+0x9/0x100
[    7.239378]  [<ffffffff81aeb192>] ret_from_fork+0x22/0x30
[    7.247868] ---[ end trace 9dc963ca26f1cf14 ]---

编辑 我注意到的一种行为是,如果我将 GRUB2 的内核参数作为 /dev/sdb 传递,则内核将 sda1sda2 显示为可用分区,并出现相同的错误。

内核配置文件:https://pastebin.com/twi9Deis

解决方案是在内核命令行中添加"rootwait"。 USB pendrive 需要一点时间来识别,因此内核需要等待它。