spi flash型号是mx25l25635,log如下。
U-Boot SPL 2017.01-rc2-00073-gdd6e874-dirty (Jan 24 2019 - 21:12:22)
DRAM: 64 MiB
Trying to boot from sunxi SPI
U-Boot 2017.01-rc2-00073-gdd6e874-dirty (Jan 24 2019 - 21:12:22 -0800) Allwinner Technology
CPU: Allwinner V3s (SUN8I 1681)
Model: Lichee Pi Zero
DRAM: 64 MiB
MMC: SUNXI SD/MMC: 0
SF: Detected mx25l25635f with page size 256 Bytes, erase size 64 KiB, total 32 MiB
*** Warning - bad CRC, using default environment
In: serial@01c28000
Out: serial@01c28000
Err: serial@01c28000
U-Boot 2017.01-rc2-00073-gdd6e874-dirty (Jan 24 2019 - 21:12:22 -0800) Allwinner Technology
CPU: Allwinner V3s (SUN8I 1681)
Model: Lichee Pi Zero
DRAM: 64 MiB
MMC: SUNXI SD/MMC: 0
SF: Detected mx25l25635f with page size 256 Bytes, erase size 64 KiB, total 32 MiB
*** Warning - bad CRC, using default environment
In: serial@01c28000
Out: serial@01c28000
Err: serial@01c28000
Net: No ethernet found.
starting USB...
No controllers found
Hit any key to stop autoboot: 0
SF: Detected mx25l25635f with page size 256 Bytes, erase size 64 KiB, total 32 MiB
device 0 offset 0x100000, size 0x10000
SF: 65536 bytes @ 0x100000 Read: OK
device 0 offset 0x110000, size 0x600000
SF: 6291456 bytes @ 0x110000 Read: OK
## Flattened Device Tree blob at 41800000
Booting using the fdt blob at 0x41800000
Loading Device Tree to 42dfa000, end 42dffd8e ... OK
Starting kernel ...
[ 0.000000] Booting Linux on physical CPU 0x0
[ 0.000000] Linux version 4.14.14-licheepi-zero+ (monosail@ubuntu) (gcc version 6.3.1 20170109 (Linaro GCC 6.3-2017.02)) #6 SMP Fri Jan 25 04:29:14 PST 2019
[ 0.000000] CPU: ARMv7 Processor [410fc075] revision 5 (ARMv7), cr=10c5387d
[ 0.000000] CPU: div instructions available: patching division code
[ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[ 0.000000] OF: fdt: Machine model: Lichee Pi Zero with Dock
[ 0.000000] Memory policy: Data cache writealloc
[ 0.000000] random: fast init done
[ 0.000000] percpu: Embedded 16 pages/cpu @c3f5f000 s33740 r8192 d23604 u65536
[ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 16256
[ 0.000000] Kernel command line: console=ttyS0,115200 earlyprintk panic=5 rootwait mtdparts=spi32766.0:1M(uboot)ro,64k(dtb)ro,6M(kernel)ro,-(rootfs) root=/dev/mtdblock3 rw rootfstype=jffs2
[ 0.000000] PID hash table entries: 256 (order: -2, 1024 bytes)
[ 0.000000] Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
[ 0.000000] Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
[ 0.000000] Memory: 55024K/65536K available (6144K kernel code, 284K rwdata, 1472K rodata, 1024K init, 264K bss, 10512K reserved, 0K cma-reserved, 0K highmem)
[ 0.000000] Virtual kernel memory layout:
[ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB)
[ 0.000000] fixmap : 0xffc00000 - 0xfff00000 (3072 kB)
[ 0.000000] vmalloc : 0xc4800000 - 0xff800000 ( 944 MB)
[ 0.000000] lowmem : 0xc0000000 - 0xc4000000 ( 64 MB)
[ 0.000000] pkmap : 0xbfe00000 - 0xc0000000 ( 2 MB)
[ 0.000000] modules : 0xbf000000 - 0xbfe00000 ( 14 MB)
[ 0.000000] .text : 0xc0008000 - 0xc0700000 (7136 kB)
[ 0.000000] .init : 0xc0900000 - 0xc0a00000 (1024 kB)
[ 0.000000] .data : 0xc0a00000 - 0xc0a47140 ( 285 kB)
[ 0.000000] .bss : 0xc0a4d7d0 - 0xc0a8fb64 ( 265 kB)
[ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[ 0.000000] Hierarchical RCU implementation.
[ 0.000000] RCU event tracing is enabled.
[ 0.000000] RCU restricting CPUs from NR_CPUS=8 to nr_cpu_ids=1.
[ 0.000000] RCU: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=1
[ 0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
[ 0.000000] arch_timer: cp15 timer(s) running at 24.00MHz (virt).
[ 0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x588fe9dc0, max_idle_ns: 440795202592 ns
[ 0.000008] sched_clock: 56 bits at 24MHz, resolution 41ns, wraps every 4398046511097ns
[ 0.000019] Switching to timer-based delay loop, resolution 41ns
[ 0.000190] clocksource: timer: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns
[ 0.000432] Console: colour dummy device 80x30
[ 0.000470] Calibrating delay loop (skipped), value calculated using timer frequency.. 48.00 BogoMIPS (lpj=240000)
[ 0.000485] pid_max: default: 32768 minimum: 301
[ 0.000613] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.000628] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.001273] CPU: Testing write buffer coherency: ok
[ 0.001656] /cpus/cpu@0 missing clock-frequency property
[ 0.001677] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
[ 0.002112] Setting up static identity map for 0x40100000 - 0x40100060
[ 0.002284] Hierarchical SRCU implementation.
[ 0.002787] smp: Bringing up secondary CPUs ...
[ 0.002803] smp: Brought up 1 node, 1 CPU
[ 0.002812] SMP: Total of 1 processors activated (48.00 BogoMIPS).
[ 0.002819] CPU: All CPU(s) started in SVC mode.
[ 0.003580] devtmpfs: initialized
[ 0.006729] VFP support v0.3: implementor 41 architecture 2 part 30 variant 7 rev 5
[ 0.007034] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[ 0.007062] futex hash table entries: 256 (order: 2, 16384 bytes)
[ 0.007247] pinctrl core: initialized pinctrl subsystem
[ 0.008231] NET: Registered protocol family 16
[ 0.008693] DMA: preallocated 256 KiB pool for atomic coherent allocations
[ 0.009761] hw-breakpoint: found 5 (+1 reserved) breakpoint and 4 watchpoint registers.
[ 0.009778] hw-breakpoint: maximum watchpoint size is 8 bytes.
[ 0.022070] SCSI subsystem initialized
[ 0.022317] usbcore: registered new interface driver usbfs
[ 0.022370] usbcore: registered new interface driver hub
[ 0.022462] usbcore: registered new device driver usb
[ 0.022705] pps_core: LinuxPPS API ver. 1 registered
[ 0.022716] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[ 0.022736] PTP clock support registered
[ 0.022916] Advanced Linux Sound Architecture Driver Initialized.
[ 0.024606] clocksource: Switched to clocksource arch_sys_counter
[ 0.033880] NET: Registered protocol family 2
[ 0.034470] TCP established hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.034505] TCP bind hash table entries: 1024 (order: 1, 8192 bytes)
[ 0.034527] TCP: Hash tables configured (established 1024 bind 1024)
[ 0.034732] UDP hash table entries: 256 (order: 1, 8192 bytes)
[ 0.034780] UDP-Lite hash table entries: 256 (order: 1, 8192 bytes)
[ 0.035028] NET: Registered protocol family 1
[ 0.035697] RPC: Registered named UNIX socket transport module.
[ 0.035716] RPC: Registered udp transport module.
[ 0.035722] RPC: Registered tcp transport module.
[ 0.035728] RPC: Registered tcp NFSv4.1 backchannel transport module.
[ 0.037583] workingset: timestamp_bits=30 max_order=14 bucket_order=0
[ 0.042464] NFS: Registering the id_resolver key type
[ 0.042515] Key type id_resolver registered
[ 0.042522] Key type id_legacy registered
[ 0.042584] ntfs: driver 2.1.32 [Flags: R/O].
[ 0.042828] jffs2: version 2.2. (NAND) © 2001-2006 Red Hat, Inc.
[ 0.047014] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 249)
[ 0.047037] io scheduler noop registered
[ 0.047045] io scheduler deadline registered
[ 0.047319] io scheduler cfq registered (default)
[ 0.047333] io scheduler mq-deadline registered
[ 0.047339] io scheduler kyber registered
[ 0.047935] sun4i-usb-phy 1c19400.phy: Couldn't request ID GPIO
[ 0.051189] sun8i-v3s-pinctrl 1c20800.pinctrl: initialized sunXi PIO driver
[ 0.111183] Serial: 8250/16550 driver, 8 ports, IRQ sharing disabled
[ 0.114057] console [ttyS0] disabled
[ 0.134328] 1c28000.serial: ttyS0 at MMIO 0x1c28000 (irq = 36, base_baud = 1500000) is a U6_16550A
[ 0.724886] console [ttyS0] enabled
[ 0.732760] m25p80 spi0.0: mx25l25635e (32768 Kbytes)
[ 0.738914] libphy: Fixed MDIO Bus: probed
[ 0.743490] dwmac-sun8i 1c30000.ethernet: PTP uses main clock
[ 0.749381] dwmac-sun8i 1c30000.ethernet: No regulator found
[ 0.755124] dwmac-sun8i 1c30000.ethernet: Will use internal PHY
[ 0.761283] dwmac-sun8i 1c30000.ethernet: Chain mode enabled
[ 0.766984] dwmac-sun8i 1c30000.ethernet: No HW DMA feature register supported
[ 0.774199] dwmac-sun8i 1c30000.ethernet: Normal descriptors
[ 0.779865] dwmac-sun8i 1c30000.ethernet: RX Checksum Offload Engine supported
[ 0.787088] dwmac-sun8i 1c30000.ethernet: COE Type 2
[ 0.792045] dwmac-sun8i 1c30000.ethernet: TX Checksum insertion supported
[ 0.799029] libphy: stmmac: probed
[ 0.804253] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[ 0.810913] ehci-platform: EHCI generic platform driver
[ 0.816462] ehci-platform 1c1a000.usb: EHCI Host Controller
[ 0.822072] ehci-platform 1c1a000.usb: new USB bus registered, assigned bus number 1
[ 0.830040] ehci-platform 1c1a000.usb: irq 26, io mem 0x01c1a000
[ 0.864623] ehci-platform 1c1a000.usb: USB 2.0 started, EHCI 1.00
[ 0.871717] hub 1-0:1.0: USB hub found
[ 0.875679] hub 1-0:1.0: 1 port detected
[ 0.880190] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[ 0.886509] ohci-platform: OHCI generic platform driver
[ 0.892067] ohci-platform 1c1a400.usb: Generic Platform OHCI controller
[ 0.898789] ohci-platform 1c1a400.usb: new USB bus registered, assigned bus number 2
[ 0.906736] ohci-platform 1c1a400.usb: irq 27, io mem 0x01c1a400
[ 0.979581] hub 2-0:1.0: USB hub found
[ 0.983401] hub 2-0:1.0: 1 port detected
[ 0.990994] udc-core: couldn't find an available UDC - added [g_cdc] to list of pending drivers
[ 1.000563] input: 1c22800.lradc as /devices/platform/soc/1c22800.lradc/input/input0
[ 1.009532] sun6i-rtc 1c20400.rtc: rtc core: registered rtc-sun6i as rtc0
[ 1.016436] sun6i-rtc 1c20400.rtc: RTC enabled
[ 1.020997] i2c /dev entries driver
[ 1.025863] input: ns2009_ts as /devices/platform/soc/1c2ac00.i2c/i2c-0/0-0048/input/input1
[ 1.034799] IR NEC protocol handler initialized
[ 1.039336] IR RC5(x/sz) protocol handler initialized
[ 1.044378] IR RC6 protocol handler initialized
[ 1.048943] IR JVC protocol handler initialized
[ 1.053468] IR Sony protocol handler initialized
[ 1.058096] IR SANYO protocol handler initialized
[ 1.062792] IR Sharp protocol handler initialized
[ 1.067499] IR MCE Keyboard/mouse protocol handler initialized
[ 1.073321] IR XMP protocol handler initialized
[ 1.078541] sunxi-wdt 1c20ca0.watchdog: Watchdog enabled (timeout=16 sec, nowayout=0)
[ 1.144669] sunxi-mmc 1c0f000.mmc: base:0xc48cf000 irq:23
[ 1.204635] sunxi-mmc 1c10000.mmc: base:0xc48d3000 irq:24
[ 1.211022] usbcore: registered new interface driver usbhid
[ 1.216677] usbhid: USB HID core driver
[ 1.222130] sun4i-codec 1c22c00.codec: ASoC: /soc/codec-analog@01c23000 not registered
[ 1.230172] sun4i-codec 1c22c00.codec: Failed to register our card
[ 1.237708] NET: Registered protocol family 17
[ 1.242271] Key type dns_resolver registered
[ 1.246812] Registering SWP/SWPB emulation handler
[ 1.260448] usb_phy_generic usb_phy_generic.0.auto: usb_phy_generic.0.auto supply vcc not found, using dummy regulator
[ 1.271911] musb-hdrc musb-hdrc.1.auto: MUSB HDRC host driver
[ 1.277757] musb-hdrc musb-hdrc.1.auto: new USB bus registered, assigned bus number 3
[ 1.286733] hub 3-0:1.0: USB hub found
[ 1.290771] hub 3-0:1.0: 1 port detected
[ 1.295875] using random self ethernet address
[ 1.300328] using random host ethernet address
[ 1.305763] usb0: HOST MAC 3a:9a:b8:f9:cc:e2
[ 1.310133] usb0: MAC 9a:1b:4b:7c:09:56
[ 1.314025] g_cdc gadget: CDC Composite Gadget, version: King Kamehameha Day 2008
[ 1.321594] g_cdc gadget: g_cdc ready
[ 1.327821] sun4i-codec 1c22c00.codec: Codec <-> 1c22c00.codec mapping ok
[ 1.336289] sun6i-rtc 1c20400.rtc: setting system clock to 1970-01-01 00:16:41 UTC (1001)
[ 1.344816] vcc5v0: disabling
[ 1.347793] ALSA device list:
[ 1.350757] #0: V3s Audio Codec
[ 1.354930] Waiting for root device /dev/mtdblock3...
我发现在这句话之后,
[ 0.732760] m25p80 spi0.0: mx25l25635e (32768 Kbytes)
并没有列出4个mtd分区的数据,不知道是什么原因导致的。
然后最后就卡在Waiting for root device /dev/mtdblock3了。
离线
有一个 PARSE CMD LINE 的宏,你开启没有?
离线
CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_FROM_BOOTLOADER=y
这个开了
离线
CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_FROM_BOOTLOADER=y
这个开了
不是
是 CONFIG_MTD_CMDLINE_PARTS, 这个开了吗?
离线
我觉得不是这个问题,因为它已经parse出了4个mtd,并且知道用/dev/mtdblock3去启动,问题是,它在wait这个设备。。。
[ 0.748769] m25p80 spi32766.0: mx25l25635e (32768 Kbytes)
[ 0.754200] spi32766.0: parser cmdlinepart: 4
[ 0.758633] 4 cmdlinepart partitions found on MTD device spi32766.0
[ 0.764892] Creating 4 MTD partitions on "spi32766.0":
[ 0.770053] 0x000000000000-0x000000100000 : "uboot"
[ 0.775526] 0x000000100000-0x000000110000 : "dtb"
[ 0.780700] 0x000000110000-0x000000710000 : "kernel"
[ 0.786106] 0x000000710000-0x000002000000 : "rootfs"
离线
我觉得不是这个问题,因为它已经parse出了4个mtd,并且知道用/dev/mtdblock3去启动,问题是,它在wait这个设备。。。
[ 0.748769] m25p80 spi32766.0: mx25l25635e (32768 Kbytes)
[ 0.754200] spi32766.0: parser cmdlinepart: 4
[ 0.758633] 4 cmdlinepart partitions found on MTD device spi32766.0
[ 0.764892] Creating 4 MTD partitions on "spi32766.0":
[ 0.770053] 0x000000000000-0x000000100000 : "uboot"
[ 0.775526] 0x000000100000-0x000000110000 : "dtb"
[ 0.780700] 0x000000110000-0x000000710000 : "kernel"
[ 0.786106] 0x000000710000-0x000002000000 : "rootfs"
可是你 1楼的 log 并没有吧
离线
我后来下载了4.13重编译之后,这些log就有了,但是最后还是一样的,会不会那个时候dev/mtdblock3还不存在?或者叫别的名字?
离线
问题解决了,只要在uboot里面把/dev/mtdblock3改成31:3就行了
离线
问题解决了,只要在uboot里面把/dev/mtdblock3改成31:3就行了
https://whycan.cn/t_1361.html#p8409
https://whycan.cn/t_1712.html#p9806
好几个网友遇到这个问题, 同一个坑.
标记一下, 下次再有朋友遇到, 应该不会忘记了.
离线