Dear 晕哥:
最近有空帮大家准备step by step for spi flash的教程哈,小弟目前还卡在jffs2 错误,期待您的教程哈。
要是荔枝派能像海豚派一样提供一个完整的编译包就好了。
==========================================================
#0: V3s Audio Codec
jffs2: jffs2_scan_dirent_node(): Node CRC failed on node at 0x000000ec: Read 0x702d3e20, cal
jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00001138: 0x19ff instead
jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x0000113c: 0x00ba instead
=========================================================
一直打印这个错误log, 最后出现以下错误, 晕哥帮忙看下可能是什么原因呢。
=========================================================
[ 27.447985] jffs2: jffs2_scan_inode_node(): CRC failed on node at 0x00ae62ac: Read 0x04a3000f, calculated 0xebb740cc
[ 27.460020] jffs2: jffs2_scan_inode_node(): CRC failed on node at 0x00ae830c: Read 0x6df702a3, calculated 0x82e34260
[ 27.490598] VFS: Mounted root (jffs2 filesystem) on device 31:3.
[ 27.497916] Freeing unused kernel memory: 1024K
[ 27.502699] Kernel panic - not syncing: No working init found. Try passing init= option to kernel. See Linux Documentation/admin-guide/init.rst for guidance.
[ 27.516861] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.13.16-licheepi-zero #7
[ 27.524071] Hardware name: Allwinner sun8i Family
[ 27.528811] [<c010e4c4>] (unwind_backtrace) from [<c010b218>] (show_stack+0x10/0x14)
[ 27.536558] [<c010b218>] (show_stack) from [<c0673c5c>] (dump_stack+0x84/0x98)
[ 27.543784] [<c0673c5c>] (dump_stack) from [<c011b544>] (panic+0xdc/0x248)
[ 27.550663] [<c011b544>] (panic) from [<c0686670>] (kernel_init+0x100/0x110)
[ 27.557709] [<c0686670>] (kernel_init) from [<c0107578>] (ret_from_fork+0x14/0x3c)
[ 27.565281] Rebooting in 5 seconds..
==========================================================
晕哥晚上好哈:
请教个问题和现在MTD table看起来是有了,不过又遇到jffs2: jffs2_scan_dirent_node(): Node CRC failed 的错误, 用我自己编译的rootfs 和v3s-rtl8723bs(flash烧录镜像,wifi自动获取ip,可以上互联网)里面的都有这个问题,可能会是什么原因呢?
vcc5v0: disabling
ALSA device list:
#0: V3s Audio Codec
jffs2: jffs2_scan_dirent_node(): Node CRC failed on node at 0x000000ec: Read 0x0a4b1fdb, calculated 0x83142e05
jffs2: Node at 0x00000fc4 with length 0x000000cd would run over the end of the erase block
jffs2: Perhaps the file system was created with the wrong erase size?
jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00000fc8: 0x00cd instead
jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00000fcc: 0x02ac instead
谢谢晕哥,看了下这个config是有打开的。
晕哥sun8i-v3s-licheepi-zero.dts 文件在uboot 和 Kernel 下都有,两者的关系是什么呢? 我感觉应该一样才对,我的现在是不一样的,要保持一样吗? dts不是应该有u-boot传给kernel吗?
u-boot\arch\arm\dts\sun8i-v3s-licheepi-zero.dts
linux-zero-4.13.y\arch\arm\boot\dts\sun8i-v3s-licheepi-zero.dts
另外:Kernel下有
linux-zero-4.13.y\arch\arm\boot\dts\sun8i-v3s-licheepi-zero-dock.dts
linux-zero-4.13.y\arch\arm\boot\dts\sun8i-v3s-licheepi-zero.dts
这两者的关系又是什么呢?
请晕哥帮忙解答下困惑哈
Thanks
晕哥, 参考这个帖子还是没搞定哈,期待您的详细帖子哈 ^^.
我搜了下大家的帖子,看起来大部分网友都是卡在这里了。
VFS: Cannot open root device "31:03" or unknown-block(31,3): error -19
Please append a correct "root=" boot option; here are the available partitions:
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(31,3)
我按照帖子中在dts中增加以下选项,不过MTD分区信息还是没打印出来,还有其他地方要改吗?
&spi0 {
pinctrl-names = "default";
pinctrl-0 = <&spi0_pins>;
status = "okay";
spi-max-frequency = <50000000>;
flash: w25q128@0 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "winbond,w25q128", "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <50000000>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "u-boot";
reg = <0x000000 0x100000>;
read-only;
};
partition@100000 {
label = "dtb";
reg = <0x100000 0x10000>;
read-only;
};
partition@110000 {
label = "kernel";
reg = <0x110000 0x400000>;
read-only;
};
partition@510000 {
label = "rootfs";
reg = <0x510000 0xAF0000>;
};
};
};
};
另外我试着把sun8.h 中的root描述按照帖子改成 root=/dev/mtdblock3 rw rootfstype=jffs2
则会卡在以下:
[ 1.111513] Waiting for root device /dev/mtdblock3...
[ 5.123884] random: fast init done
[ 5.132458] g_cdc gadget: high-speed config #1: CDC Composite (ECM + ACM)
感觉问题就出在Kernel 如何识别rootfs 分区这块了,但对这块的机理不是太了解,求助哈。
晕哥,请帮忙看下, MTDpart 看起来也有
=> printenv bootcmd
bootcmd=sf probe 0; sf read 0x41800000 0x100000 0x10000; sf read 0x41000000 0x110000 0x400000; bootz 0x41000000 - 0x41800000
=> printenv bootargs
bootargs=console=ttyS0,115200 earlyprintk panic=5 rootwait mtdparts=spi32766.0:1M(uboot)ro,64k(dtb)ro,4M(kernel)ro,-(rootfs) root=31:03 rw rootfstype=jffs2
=> bootz 0x41000000 - 0x41800000
## Flattened Device Tree blob at 41800000
Booting using the fdt blob at 0x41800000
Loading Device Tree to 42dfa000, end 42dff42d ... OK
Starting kernel ...
undefined instruction
pc : [<4256a968>] lr : [<43d55930>]
reloc pc : [<41615968>] lr : [<42e00930>]
sp : 43b4a070 ip : 00000002 fp : 43d55b34
r10: 00000000 r9 : 43b4cee8 r8 : 43b5658c
r7 : 00000000 r6 : 41000000 r5 : 43db5284 r4 : 00000000
r3 : 0000242e r2 : 43d00000 r1 : 00000000 r0 : 00000000
Flags: nZCv IRQs off FIQs off Mode SVC_32
Resetting CPU ...
resetting ...
完整的开机log:
U-Boot 2017.01-rc2-00073-gdd6e874-dirty (Sep 29 2018 - 11:46:15 +0800) Allwinner Technology
CPU: Allwinner V3s (SUN8I 1681)
Model: Lichee Pi Zero
DRAM: 64 MiB
MMC: SUNXI SD/MMC: 0
SF: Detected w25q128bv with page size 256 Bytes, erase size 4 KiB, total 16 MiB
*** Warning - bad CRC, using default environment
Setting up a 480x272 lcd console (overscan 0x0)
dotclock: 10000kHz = 10000kHz: (1 * 3MHz * 20) / 6
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 w25q128bv with page size 256 Bytes, erase size 4 KiB, total 16 MiB
device 0 offset 0x100000, size 0x10000
SF: 65536 bytes @ 0x100000 Read: OK
device 0 offset 0x110000, size 0x400000
SF: 4194304 bytes @ 0x110000 Read: OK
## Flattened Device Tree blob at 41800000
Booting using the fdt blob at 0x41800000
Loading Device Tree to 42dfa000, end 42dff42d ... OK
Starting kernel ...
[ 0.000000] Booting Linux on physical CPU 0x0
[ 0.000000] Linux version 4.10.15-licheepi-zero (dophin-pi@dophinpi-virtual-machine) (gcc version 5.4.0 20160609 (Ubuntu/Linaro 5.4.0-6ubuntu1~16.04.9) ) #1 SMP Sat Sep 29 17:08:32 CST 2018
[ 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] percpu: Embedded 14 pages/cpu @c3ee3000 s24716 r8192 d24436 u57344
[ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 16129
[ 0.000000] Kernel command line: console=ttyS0,115200 earlyprintk panic=5 rootwait mtdparts=spi32766.0:1M(uboot)ro,64k(dtb)ro,4M(kernel)ro,-(rootfs) root=31:03 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: 54632K/65024K available (6144K kernel code, 199K rwdata, 1408K rodata, 1024K init, 262K bss, 10392K 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 : 0xc4000000 - 0xff800000 ( 952 MB)
[ 0.000000] lowmem : 0xc0000000 - 0xc3f80000 ( 63 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 - 0xc0a31f00 ( 200 kB)
[ 0.000000] .bss : 0xc0a33000 - 0xc0a7484c ( 263 kB)
[ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[ 0.000000] Hierarchical RCU implementation.
[ 0.000000] Build-time adjustment of leaf fanout to 32.
[ 0.000000] RCU restricting CPUs from NR_CPUS=8 to nr_cpu_ids=1.
[ 0.000000] RCU: Adjusting geometry for rcu_fanout_leaf=32, nr_cpu_ids=1
[ 0.000000] NR_IRQS:16 nr_irqs:16 16
[ 0.000000] arm_arch_timer: Architected 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.000007] sched_clock: 56 bits at 24MHz, resolution 41ns, wraps every 4398046511097ns
[ 0.000019] Switching to timer-based delay loop, resolution 41ns
[ 0.000152] clocksource: timer: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns
[ 0.000365] Console: colour dummy device 80x30
[ 0.000402] Calibrating delay loop (skipped), value calculated using timer frequency.. 48.00 BogoMIPS (lpj=240000)
[ 0.000418] pid_max: default: 32768 minimum: 301
[ 0.000556] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.000568] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.001276] CPU: Testing write buffer coherency: ok
[ 0.001680] /cpus/cpu@0 missing clock-frequency property
[ 0.001704] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
[ 0.002089] Setting up static identity map for 0x40100000 - 0x40100058
[ 0.002844] smp: Bringing up secondary CPUs ...
[ 0.002864] smp: Brought up 1 node, 1 CPU
[ 0.002874] SMP: Total of 1 processors activated (48.00 BogoMIPS).
[ 0.002881] CPU: All CPU(s) started in SVC mode.
[ 0.003678] devtmpfs: initialized
[ 0.006622] VFP support v0.3: implementor 41 architecture 2 part 30 variant 7 rev 5
[ 0.006898] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[ 0.006931] futex hash table entries: 256 (order: 2, 16384 bytes)
[ 0.007081] pinctrl core: initialized pinctrl subsystem
[ 0.008102] NET: Registered protocol family 16
[ 0.008577] DMA: preallocated 256 KiB pool for atomic coherent allocations
[ 0.009825] hw-breakpoint: found 5 (+1 reserved) breakpoint and 4 watchpoint registers.
[ 0.009842] hw-breakpoint: maximum watchpoint size is 8 bytes.
[ 0.021901] SCSI subsystem initialized
[ 0.022169] usbcore: registered new interface driver usbfs
[ 0.022250] usbcore: registered new interface driver hub
[ 0.022360] usbcore: registered new device driver usb
[ 0.022580] pps_core: LinuxPPS API ver. 1 registered
[ 0.022591] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[ 0.022613] PTP clock support registered
[ 0.022830] Advanced Linux Sound Architecture Driver Initialized.
[ 0.024652] clocksource: Switched to clocksource arch_sys_counter
[ 0.025494] simple-framebuffer 43f80000.framebuffer: framebuffer at 0x43f80000, 0x7f800 bytes, mapped to 0xc4080000
[ 0.025516] simple-framebuffer 43f80000.framebuffer: format=x8r8g8b8, mode=480x272x32, linelength=1920
[ 0.028332] Console: switching to colour frame buffer device 60x34
[ 0.030653] simple-framebuffer 43f80000.framebuffer: fb0: simplefb registered!
[ 0.040399] NET: Registered protocol family 2
[ 0.040997] TCP established hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.041031] TCP bind hash table entries: 1024 (order: 1, 8192 bytes)
[ 0.041055] TCP: Hash tables configured (established 1024 bind 1024)
[ 0.041140] UDP hash table entries: 256 (order: 1, 8192 bytes)
[ 0.041188] UDP-Lite hash table entries: 256 (order: 1, 8192 bytes)
[ 0.041392] NET: Registered protocol family 1
[ 0.042026] RPC: Registered named UNIX socket transport module.
[ 0.042046] RPC: Registered udp transport module.
[ 0.042053] RPC: Registered tcp transport module.
[ 0.042058] RPC: Registered tcp NFSv4.1 backchannel transport module.
[ 0.044302] workingset: timestamp_bits=30 max_order=14 bucket_order=0
[ 0.053403] NFS: Registering the id_resolver key type
[ 0.053451] Key type id_resolver registered
[ 0.053458] Key type id_legacy registered
[ 0.053508] jffs2: version 2.2. (NAND) © 2001-2006 Red Hat, Inc.
[ 0.058298] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 249)
[ 0.058319] io scheduler noop registered
[ 0.058326] io scheduler deadline registered
[ 0.058550] io scheduler cfq registered (default)
[ 0.062732] sun8i-v3s-pinctrl 1c20800.pinctrl: initialized sunXi PIO driver
[ 0.131220] Serial: 8250/16550 driver, 8 ports, IRQ sharing disabled
[ 0.134375] console [ttyS0] disabled
[ 0.154693] 1c28000.serial: ttyS0 at MMIO 0x1c28000 (irq = 34, base_baud = 1500000) is a U6_16550A
[ 0.755781] console [ttyS0] enabled
[ 0.759970] [drm] Initialized
[ 0.764987] libphy: Fixed MDIO Bus: probed
[ 0.769319] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[ 0.775910] ehci-platform: EHCI generic platform driver
[ 0.781232] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[ 0.787458] ohci-platform: OHCI generic platform driver
[ 0.793149] udc-core: couldn't find an available UDC - added [g_cdc] to list of pending drivers
[ 0.802650] input: 1c22800.lradc as /devices/platform/soc/1c22800.lradc/input/input0
[ 0.811627] sun6i-rtc 1c20400.rtc: rtc core: registered rtc-sun6i as rtc0
[ 0.818532] sun6i-rtc 1c20400.rtc: RTC enabled
[ 0.823081] i2c /dev entries driver
[ 0.827978] input: ns2009_ts as /devices/platform/soc/1c2ac00.i2c/i2c-0/0-0048/input/input1
[ 0.837540] sunxi-wdt 1c20ca0.watchdog: Watchdog enabled (timeout=16 sec, nowayout=0)
[ 0.904688] sunxi-mmc 1c0f000.mmc: base:0xc406b000 irq:23
[ 0.964677] sunxi-mmc 1c10000.mmc: base:0xc406f000 irq:24
[ 0.971064] usbcore: registered new interface driver usbhid
[ 0.976718] usbhid: USB HID core driver
[ 0.982117] sun4i-codec 1c22c00.codec: ASoC: /soc/codec-analog@01c23000 not registered
[ 0.990175] sun4i-codec 1c22c00.codec: Failed to register our card
[ 0.997356] NET: Registered protocol family 17
[ 1.001935] Key type dns_resolver registered
[ 1.006480] Registering SWP/SWPB emulation handler
[ 1.019896] usb_phy_generic.0.auto supply vcc not found, using dummy regulator
[ 1.027906] musb-hdrc musb-hdrc.1.auto: MUSB HDRC host driver
[ 1.033673] musb-hdrc musb-hdrc.1.auto: new USB bus registered, assigned bus number 1
[ 1.042844] hub 1-0:1.0: USB hub found
[ 1.046840] hub 1-0:1.0: 1 port detected
[ 1.051507] using random self ethernet address
[ 1.056084] using random host ethernet address
[ 1.061491] usb0: HOST MAC da:9c:0e:97:50:cd
[ 1.065973] usb0: MAC 16:cb:f1:4a:12:65
[ 1.069858] g_cdc gadget: CDC Composite Gadget, version: King Kamehameha Day 2008
[ 1.077396] g_cdc gadget: g_cdc ready
[ 1.083578] sun4i-codec 1c22c00.codec: Codec <-> 1c22c00.codec mapping ok
[ 1.092568] sun6i-rtc 1c20400.rtc: setting system clock to 1970-01-01 03:03:25 UTC (11005)
[ 1.101154] vcc5v0: disabling
[ 1.104132] ALSA device list:
[ 1.107157] #0: V3s Audio Codec
[ 1.111547] VFS: Cannot open root device "31:03" or unknown-block(31,3): error -19
[ 1.119266] Please append a correct "root=" boot option; here are the available partitions:
[ 1.127659] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(31,3)
[ 1.136006] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.10.15-licheepi-zero #1
[ 1.143215] Hardware name: Allwinner sun8i Family
[ 1.147955] [<c010e254>] (unwind_backtrace) from [<c010b000>] (show_stack+0x10/0x14)
[ 1.155698] [<c010b000>] (show_stack) from [<c0345fe8>] (dump_stack+0x84/0x98)
[ 1.162918] [<c0345fe8>] (dump_stack) from [<c01a6eac>] (panic+0xdc/0x248)
[ 1.169796] [<c01a6eac>] (panic) from [<c090120c>] (mount_block_root+0x198/0x270)
[ 1.177277] [<c090120c>] (mount_block_root) from [<c0901408>] (mount_root+0x124/0x12c)
[ 1.185187] [<c0901408>] (mount_root) from [<c0901560>] (prepare_namespace+0x150/0x198)
[ 1.193185] [<c0901560>] (prepare_namespace) from [<c0900e44>] (kernel_init_freeable+0x1d4/0x1e4)
[ 1.202050] [<c0900e44>] (kernel_init_freeable) from [<c065bd6c>] (kernel_init+0x8/0x114)
[ 1.210222] [<c065bd6c>] (kernel_init) from [<c0107578>] (ret_from_fork+0x14/0x3c)
[ 1.217791] Rebooting in 5 seconds
晕哥, 及其期待您step by setep for spi flash的帖子 ,
今天有摸索了一天还是没成功,遗憾哈。
一直遇到以下错误, Kernel 里面也有打开jffs2的选项了, 请教晕哥是我Kernel 没生成好呢?还是rootfs or jffs2有问题?
[ 1.107018] #0: V3s Audio Codec
[ 1.111404] VFS: Cannot open root device "31:03" or unknown-block(31,3): error -19
[ 1.119122] Please append a correct "root=" boot option; here are the available partitions:
[ 1.127512] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(31,3)
[ 1.135862] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.10.15-licheepi-zero #1
[ 1.143072] Hardware name: Allwinner sun8i Family
[ 1.147810] [<c010e254>] (unwind_backtrace) from [<c010b000>] (show_stack+0x10/0x14)
[ 1.155553] [<c010b000>] (show_stack) from [<c0345fe8>] (dump_stack+0x84/0x98)
[ 1.162775] [<c0345fe8>] (dump_stack) from [<c01a6eac>] (panic+0xdc/0x248)
[ 1.169653] [<c01a6eac>] (panic) from [<c090120c>] (mount_block_root+0x198/0x270)
[ 1.177133] [<c090120c>] (mount_block_root) from [<c0901408>] (mount_root+0x124/0x12c)
晕哥大神国庆好哈,能否这对V3S 帮忙给大家出个step by step的SPI 镜像编译教程,小弟按照大家的帖子搞了块2周了还是无法完整的从uboot 跑到rootfs,还请晕哥普度众生哈。
小弟是按照 https://whycan.cn/t_682.html ,这个帖子来编译的。
目前遇到的困惑:
1. Uboot/Kernel/buildroot 的Menu config 具体要怎么配置?
现有的帖子好像config部分介绍的都比较简单。
2. buildroot 要如何生成jffs2 格式。
该帖子中的rootf_jffs2 百度链接也已经失效。