很多网友觉得V3s使用TF卡,作为生产不靠谱,nand flash又不支持,使用nor flash空间太小,下面告诉大家怎么使用nor flash挂载squashfs
并且发现一个好处,使用squashfs,系统系统的还更快。
首先参考泽畔的资料SPI Flash 系统编译
测试环境:V3s+MX25L25645G
这里 使用 MX25L25645G, 32M SPI flash 作为启动介质,规划分区如下:
分区序号 分区大小 分区作用 地址空间及分区名
mtd0 1MB spl+uboot 0x0000000-0x0100000 : “uboot”
mtd1 64KB dtb文件 0x0100000-0x0110000 : “dtb”
mtd2 4MB linux内核 0x0110000-0x0510000 : “kernel”
mtd2 8MB linux内核 0x0510000-? : “squashfs”
mtd3 剩余 根文件系统 ?-0x2000000 : “data”
生成
1.1 下载包含spi驱动的体验版本uboot
git clone -b v3s-spi-experimental https://github.com/Lichee-Pi/u-boot.git
cd u-boot
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- LicheePi_Zero_800x480LCD_defconfig
#or make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- LicheePi_Zero480x272LCD_defconfig
#or make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- LicheePi_Zero_defconfig
make ARCH=arm menuconfig
1.2 配置Flash支持型号
执行 make ARCH=arm menuconfig 打开uboot菜单配置,进入到 Device Drivers ‣ SPI Flash Support
注意看一下自己flash的厂家名称,例如选上Macronix SPI flash support用来支持测试用的flash:MX25L25645G。
如果使用的是16MB以上的flash,需要勾选flash bank支持选项,否则最多只能读到16MB: CONFIG_SPI_FLASH_BAR
1.3 配置uboot默认环境变量
在文件 include/configs/sun8i.h 中添加默认bootcmd和bootargs的环境变量设置
注意添加的位置在“ #include <configs/sunxi-common.h> ”的前边。
下面的8M(rootfs)就是后面squashfs的大小,如果你制作的squashfs比这个大,请适当调整
vi include/configs/sun8i.h
#define CONFIG_BOOTCOMMAND "sf probe 0; " \
"sf read 0x41800000 0x100000 0x10000; " \
"sf read 0x41000000 0x110000 0x400000; " \
"bootz 0x41000000 - 0x41800000"
#define CONFIG_BOOTARGS "console=ttyS0,115200 earlyprintk panic=5 rootwait " \
"mtdparts=spi32766.0:1M(uboot)ro,64k(dtb)ro,4M(kernel)ro,8M(rootfs),-(data) root=31:03 rw rootfstype=squashfs"
1.4 编译uboot
time make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- 2>&1 | tee build.log
2.1 下载linux内核,(默认是zero-4.10.y分支)建议选择4.13分支以支持网络啥的
git clone https://github.com/Lichee-Pi/linux.git
cd linux
make ARCH=arm licheepi_zero_defconfig
make ARCH=arm menuconfig
2.2 内核选项配置
执行 make ARCH=arm menuconfig 打开内核菜单配置,
进入到 Device Drivers ‣ Memory Technology Device (MTD) support ,
确保选择上mtd的 <*> Command line partition table parsing 支持,该项目用来解析uboot传递过来的flash分区信息添加对jffs2文件系统的支持,路径在 File systems ‣ Miscellaneous filesystems ‣ Journalling Flash File System v2 (JFFS2) support
如果需要支持overlay,请添加上支持overlay
2.2 设备树配置
修改dts配置添加spi flash节点
vi arch/arm/boot/dts/sun8i-v3s-licheepi-zero.dts
&spi0 {
status ="okay";
mx25l25635e:mx25l25635e@0 {
compatible = "jedec,spi-nor";
reg = <0x0>;
spi-max-frequency = <50000000>;
#address-cells = <1>;
#size-cells = <1>;
};
};
2.3 退出菜单配置并编译内核和dts
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j32
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- dtbs
此处省略一万字,可以其他帖子或者用现成的
mksquashfs rootfs_dir_path/ rootfs.squashfs -no-exports -no-xattrs -all-root
注意此处有坑,如果需要再次mksquashfs,一定要删除上一次生成的rootfs.squashfs
具体怎么什么原理,可以自己去查看一下,使用我的这个命令,制作的squashfs压缩率更高,当然能不能更小了,各位自己去研究一下
dd if=/dev/zero of=flashimg.bin bs=1M count=32
dd if=squashfs_uboot.bin of=flashimg.bin bs=1K conv=notrunc
dd if=sun8i-v3s-licheepi-zero-dock.dtb of=flashimg.bin bs=1K seek=1024 conv=notrunc
dd if=squashfs_zImage of=flashimg.bin bs=1K seek=1088 conv=notrunc
dd if=rootfs.squashfs of=flashimg.bin bs=1K seek=5184 conv=notrunc
启动系统后,挂在剩余的分区jffs2到workdir目录,这里的/workdir,请在制作squashfs文件系统之前mkdir,不然启动后squashfs为只读的,就不能新建文件夹了,这样workdir目录就变成可读写的了
mount -n -t jffs2 /dev/mtdblock4 /workdir
如果想使用overlayfs,请在制作squashfs文件系统之前新建merged 和 overlay
启动系统后
mount -n -t jffs2 /dev/mtdblock4 /overlay
mkdir /overlay/upperdir /overlay/workdir
mount -n -t overlay overlayfs:/overlay -o lowerdir=/,upperdir=/overlay/upperdir,workdir=/overlay/workdir /merged/
这样upperdir的目录就是/overlay/upperdir,lowerdir就是根目录
在你未做修改之前 可以ls查看一下,ls /merged和ls /目录是一样的内容,
这样就可以在/merged添加修改你的东西了
后面我的觉麻烦,而且研究的不透彻就没有使用overlay了
是的方法就是,尽量裁剪qt,单独编译qt静态库,然后时候静态编译qt应用程序,这样我编译后的qt的应用程序差不多有7M左右
直接拷贝到,可读写的 /workdir目录,也方便升级替换
因为我使用了科大讯飞的离线TTS,他这个库文件+资源文件有9M左右,所以不得不使用这种办法
最近编辑记录 a32425262 (2019-02-20 14:23:05)
离线
为什么我没有 /dev/mtdblock4 文件生成?
U-Boot 2017.01-rc2-gdd6e874-dirty (May 07 2020 - 16:51:38 +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
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 42dffc30 ... OK
Starting kernel ...
[ 0.000000] Booting Linux on physical CPU 0x0
[ 0.000000] Linux version 4.13.16-licheepi-zero+ (root@wyj-virtual-machine) (gcc version 6.3.1 20170109 (Linaro GCC 6.3-2017.02)) #7 SMP Thu May 7 17:24:25 CST 2020
[ 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
[ 0.000000] Memory policy: Data cache writealloc
[ 0.000000] percpu: Embedded 16 pages/cpu @c3f5f000 s33868 r8192 d23476 u65536
[ 0.000000] Built 1 zonelists in Zone order, 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,4M(kernel)ro,8M(rootfs) -(data) root=31:03 rw rootfstype=squashfs
[ 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: 55092K/65536K available (6144K kernel code, 218K rwdata, 1476K rodata, 1024K init, 264K bss, 10444K 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 - 0xc0a36b00 ( 219 kB)
[ 0.000000] .bss : 0xc0a3dc28 - 0xc0a7fdec ( 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.000020] Switching to timer-based delay loop, resolution 41ns
[ 0.000175] clocksource: timer: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns
[ 0.000402] Console: colour dummy device 80x30
[ 0.000436] Calibrating delay loop (skipped), value calculated using timer frequency.. 48.00 BogoMIPS (lpj=240000)
[ 0.000450] pid_max: default: 32768 minimum: 301
[ 0.000578] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.000591] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.001183] CPU: Testing write buffer coherency: ok
[ 0.001552] /cpus/cpu@0 missing clock-frequency property
[ 0.001576] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
[ 0.002006] Setting up static identity map for 0x40100000 - 0x40100060
[ 0.002182] Hierarchical SRCU implementation.
[ 0.002690] smp: Bringing up secondary CPUs ...
[ 0.002705] smp: Brought up 1 node, 1 CPU
[ 0.002714] SMP: Total of 1 processors activated (48.00 BogoMIPS).
[ 0.002721] CPU: All CPU(s) started in SVC mode.
[ 0.003466] devtmpfs: initialized
[ 0.006443] VFP support v0.3: implementor 41 architecture 2 part 30 variant 7 rev 5
[ 0.006718] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[ 0.006747] futex hash table entries: 256 (order: 2, 16384 bytes)
[ 0.006912] pinctrl core: initialized pinctrl subsystem
[ 0.007789] random: get_random_u32 called from bucket_table_alloc+0xf4/0x244 with crng_init=0
[ 0.007920] NET: Registered protocol family 16
[ 0.008386] DMA: preallocated 256 KiB pool for atomic coherent allocations
[ 0.009516] hw-breakpoint: found 5 (+1 reserved) breakpoint and 4 watchpoint registers.
[ 0.009530] hw-breakpoint: maximum watchpoint size is 8 bytes.
[ 0.022329] SCSI subsystem initialized
[ 0.022637] usbcore: registered new interface driver usbfs
[ 0.022707] usbcore: registered new interface driver hub
[ 0.022802] usbcore: registered new device driver usb
[ 0.023032] pps_core: LinuxPPS API ver. 1 registered
[ 0.023043] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[ 0.023065] PTP clock support registered
[ 0.023298] Advanced Linux Sound Architecture Driver Initialized.
[ 0.025094] clocksource: Switched to clocksource arch_sys_counter
[ 0.035478] NET: Registered protocol family 2
[ 0.036063] TCP established hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.036098] TCP bind hash table entries: 1024 (order: 1, 8192 bytes)
[ 0.036120] TCP: Hash tables configured (established 1024 bind 1024)
[ 0.036239] UDP hash table entries: 256 (order: 1, 8192 bytes)
[ 0.036287] UDP-Lite hash table entries: 256 (order: 1, 8192 bytes)
[ 0.036501] NET: Registered protocol family 1
[ 0.037074] RPC: Registered named UNIX socket transport module.
[ 0.037094] RPC: Registered udp transport module.
[ 0.037100] RPC: Registered tcp transport module.
[ 0.037106] RPC: Registered tcp NFSv4.1 backchannel transport module.
[ 0.039164] workingset: timestamp_bits=30 max_order=14 bucket_order=0
[ 0.047143] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[ 0.048275] NFS: Registering the id_resolver key type
[ 0.048321] Key type id_resolver registered
[ 0.048329] Key type id_legacy registered
[ 0.048378] jffs2: version 2.2. (NAND) (SUMMARY) 漏 2001-2006 Red Hat, Inc.
[ 0.050088] random: fast init done
[ 0.052964] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 249)
[ 0.052984] io scheduler noop registered
[ 0.052991] io scheduler deadline registered
[ 0.053254] io scheduler cfq registered (default)
[ 0.053265] io scheduler mq-deadline registered
[ 0.053272] io scheduler kyber registered
[ 0.057513] sun8i-v3s-pinctrl 1c20800.pinctrl: initialized sunXi PIO driver
[ 0.127659] Serial: 8250/16550 driver, 8 ports, IRQ sharing disabled
[ 0.130932] console [ttyS0] disabled
[ 0.151204] 1c28000.serial: ttyS0 at MMIO 0x1c28000 (irq = 33, base_baud = 1500000) is a U6_16550A
[ 0.748126] console [ttyS0] enabled
[ 0.755890] m25p80 spi32766.0: w25q128 (16384 Kbytes)
[ 0.760976] spi32766.0: parser cmdlinepart: 4
[ 0.765404] 4 cmdlinepart partitions found on MTD device spi32766.0
[ 0.771664] Creating 4 MTD partitions on "spi32766.0":
[ 0.776827] 0x000000000000-0x000000100000 : "uboot"
[ 0.783064] 0x000000100000-0x000000110000 : "dtb"
[ 0.789095] 0x000000110000-0x000000510000 : "kernel"
[ 0.795329] 0x000000510000-0x000000d10000 : "rootfs"
[ 0.801974] libphy: Fixed MDIO Bus: probed
[ 0.806573] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[ 0.813102] ehci-platform: EHCI generic platform driver
[ 0.818662] ehci-platform 1c1a000.usb: EHCI Host Controller
[ 0.824282] ehci-platform 1c1a000.usb: new USB bus registered, assigned bus number 1
[ 0.832242] ehci-platform 1c1a000.usb: irq 25, io mem 0x01c1a000
[ 0.865129] ehci-platform 1c1a000.usb: USB 2.0 started, EHCI 1.00
[ 0.872413] hub 1-0:1.0: USB hub found
[ 0.876354] hub 1-0:1.0: 1 port detected
[ 0.880793] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[ 0.887087] ohci-platform: OHCI generic platform driver
[ 0.892619] ohci-platform 1c1a400.usb: Generic Platform OHCI controller
[ 0.899361] ohci-platform 1c1a400.usb: new USB bus registered, assigned bus number 2
[ 0.907289] ohci-platform 1c1a400.usb: irq 26, io mem 0x01c1a400
[ 0.980099] hub 2-0:1.0: USB hub found
[ 0.983918] hub 2-0:1.0: 1 port detected
[ 0.991458] udc-core: couldn't find an available UDC - added [g_cdc] to list of pending drivers
[ 1.001174] sun6i-rtc 1c20400.rtc: rtc core: registered rtc-sun6i as rtc0
[ 1.008071] sun6i-rtc 1c20400.rtc: RTC enabled
[ 1.012608] i2c /dev entries driver
[ 1.017496] input: ns2009_ts as /devices/platform/soc/1c2ac00.i2c/i2c-0/0-0048/input/input0
[ 1.026990] sunxi-wdt 1c20ca0.watchdog: Watchdog enabled (timeout=16 sec, nowayout=0)
[ 1.095333] sunxi-mmc 1c0f000.mmc: base:0xc48c2000 irq:23
[ 1.102247] usbcore: registered new interface driver usbhid
[ 1.107918] usbhid: USB HID core driver
[ 1.113547] NET: Registered protocol family 17
[ 1.118221] Key type dns_resolver registered
[ 1.122661] Registering SWP/SWPB emulation handler
[ 1.136562] usb_phy_generic usb_phy_generic.0.auto: usb_phy_generic.0.auto supply vcc not found, using dummy regulator
[ 1.147950] musb-hdrc musb-hdrc.1.auto: MUSB HDRC host driver
[ 1.153717] musb-hdrc musb-hdrc.1.auto: new USB bus registered, assigned bus number 3
[ 1.162925] hub 3-0:1.0: USB hub found
[ 1.166911] hub 3-0:1.0: 1 port detected
[ 1.172061] using random self ethernet address
[ 1.176638] using random host ethernet address
[ 1.182139] usb0: HOST MAC 2a:2c:0b:f7:61:88
[ 1.186600] usb0: MAC aa:a1:b7:35:c9:e7
[ 1.190507] g_cdc gadget: CDC Composite Gadget, version: King Kamehameha Day 2008
[ 1.198033] g_cdc gadget: g_cdc ready
[ 1.201999] sun6i-rtc 1c20400.rtc: setting system clock to 1970-01-01 05:30:15 UTC (19815)
[ 1.210549] vcc3v0: disabling
[ 1.213526] vcc5v0: disabling
[ 1.216541] ALSA device list:
[ 1.219508] No soundcards found.
[ 1.228598] VFS: Mounted root (squashfs filesystem) readonly on device 31:3.
[ 1.238461] devtmpfs: mounted
[ 1.242617] Freeing unused kernel memory: 1024K
[ 1.311131] random: crng init done
Starting syslogd: OK
Starting klogd: OK
Running sysctl: OK
Saving random seed: SKIP (read-only file system detected)
Starting network: OK
Welcome to Buildroot
buildroot login:
最近编辑记录 njitnjit (2020-05-07 18:07:30)
离线
不到2秒就启动了,这么6
为什么我没有 /dev/mtdblock4 文件生成?
U-Boot 2017.01-rc2-gdd6e874-dirty (May 07 2020 - 16:51:38 +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 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 42dffc30 ... OK Starting kernel ... [ 0.000000] Booting Linux on physical CPU 0x0 [ 0.000000] Linux version 4.13.16-licheepi-zero+ (root@wyj-virtual-machine) (gcc version 6.3.1 20170109 (Linaro GCC 6.3-2017.02)) #7 SMP Thu May 7 17:24:25 CST 2020 [ 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 [ 0.000000] Memory policy: Data cache writealloc [ 0.000000] percpu: Embedded 16 pages/cpu @c3f5f000 s33868 r8192 d23476 u65536 [ 0.000000] Built 1 zonelists in Zone order, 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,4M(kernel)ro,8M(rootfs) -(data) root=31:03 rw rootfstype=squashfs [ 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: 55092K/65536K available (6144K kernel code, 218K rwdata, 1476K rodata, 1024K init, 264K bss, 10444K 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 - 0xc0a36b00 ( 219 kB) [ 0.000000] .bss : 0xc0a3dc28 - 0xc0a7fdec ( 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.000020] Switching to timer-based delay loop, resolution 41ns [ 0.000175] clocksource: timer: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns [ 0.000402] Console: colour dummy device 80x30 [ 0.000436] Calibrating delay loop (skipped), value calculated using timer frequency.. 48.00 BogoMIPS (lpj=240000) [ 0.000450] pid_max: default: 32768 minimum: 301 [ 0.000578] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes) [ 0.000591] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes) [ 0.001183] CPU: Testing write buffer coherency: ok [ 0.001552] /cpus/cpu@0 missing clock-frequency property [ 0.001576] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000 [ 0.002006] Setting up static identity map for 0x40100000 - 0x40100060 [ 0.002182] Hierarchical SRCU implementation. [ 0.002690] smp: Bringing up secondary CPUs ... [ 0.002705] smp: Brought up 1 node, 1 CPU [ 0.002714] SMP: Total of 1 processors activated (48.00 BogoMIPS). [ 0.002721] CPU: All CPU(s) started in SVC mode. [ 0.003466] devtmpfs: initialized [ 0.006443] VFP support v0.3: implementor 41 architecture 2 part 30 variant 7 rev 5 [ 0.006718] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns [ 0.006747] futex hash table entries: 256 (order: 2, 16384 bytes) [ 0.006912] pinctrl core: initialized pinctrl subsystem [ 0.007789] random: get_random_u32 called from bucket_table_alloc+0xf4/0x244 with crng_init=0 [ 0.007920] NET: Registered protocol family 16 [ 0.008386] DMA: preallocated 256 KiB pool for atomic coherent allocations [ 0.009516] hw-breakpoint: found 5 (+1 reserved) breakpoint and 4 watchpoint registers. [ 0.009530] hw-breakpoint: maximum watchpoint size is 8 bytes. [ 0.022329] SCSI subsystem initialized [ 0.022637] usbcore: registered new interface driver usbfs [ 0.022707] usbcore: registered new interface driver hub [ 0.022802] usbcore: registered new device driver usb [ 0.023032] pps_core: LinuxPPS API ver. 1 registered [ 0.023043] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it> [ 0.023065] PTP clock support registered [ 0.023298] Advanced Linux Sound Architecture Driver Initialized. [ 0.025094] clocksource: Switched to clocksource arch_sys_counter [ 0.035478] NET: Registered protocol family 2 [ 0.036063] TCP established hash table entries: 1024 (order: 0, 4096 bytes) [ 0.036098] TCP bind hash table entries: 1024 (order: 1, 8192 bytes) [ 0.036120] TCP: Hash tables configured (established 1024 bind 1024) [ 0.036239] UDP hash table entries: 256 (order: 1, 8192 bytes) [ 0.036287] UDP-Lite hash table entries: 256 (order: 1, 8192 bytes) [ 0.036501] NET: Registered protocol family 1 [ 0.037074] RPC: Registered named UNIX socket transport module. [ 0.037094] RPC: Registered udp transport module. [ 0.037100] RPC: Registered tcp transport module. [ 0.037106] RPC: Registered tcp NFSv4.1 backchannel transport module. [ 0.039164] workingset: timestamp_bits=30 max_order=14 bucket_order=0 [ 0.047143] squashfs: version 4.0 (2009/01/31) Phillip Lougher [ 0.048275] NFS: Registering the id_resolver key type [ 0.048321] Key type id_resolver registered [ 0.048329] Key type id_legacy registered [ 0.048378] jffs2: version 2.2. (NAND) (SUMMARY) 漏 2001-2006 Red Hat, Inc. [ 0.050088] random: fast init done [ 0.052964] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 249) [ 0.052984] io scheduler noop registered [ 0.052991] io scheduler deadline registered [ 0.053254] io scheduler cfq registered (default) [ 0.053265] io scheduler mq-deadline registered [ 0.053272] io scheduler kyber registered [ 0.057513] sun8i-v3s-pinctrl 1c20800.pinctrl: initialized sunXi PIO driver [ 0.127659] Serial: 8250/16550 driver, 8 ports, IRQ sharing disabled [ 0.130932] console [ttyS0] disabled [ 0.151204] 1c28000.serial: ttyS0 at MMIO 0x1c28000 (irq = 33, base_baud = 1500000) is a U6_16550A [ 0.748126] console [ttyS0] enabled [ 0.755890] m25p80 spi32766.0: w25q128 (16384 Kbytes) [ 0.760976] spi32766.0: parser cmdlinepart: 4 [ 0.765404] 4 cmdlinepart partitions found on MTD device spi32766.0 [ 0.771664] Creating 4 MTD partitions on "spi32766.0": [ 0.776827] 0x000000000000-0x000000100000 : "uboot" [ 0.783064] 0x000000100000-0x000000110000 : "dtb" [ 0.789095] 0x000000110000-0x000000510000 : "kernel" [ 0.795329] 0x000000510000-0x000000d10000 : "rootfs" [ 0.801974] libphy: Fixed MDIO Bus: probed [ 0.806573] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver [ 0.813102] ehci-platform: EHCI generic platform driver [ 0.818662] ehci-platform 1c1a000.usb: EHCI Host Controller [ 0.824282] ehci-platform 1c1a000.usb: new USB bus registered, assigned bus number 1 [ 0.832242] ehci-platform 1c1a000.usb: irq 25, io mem 0x01c1a000 [ 0.865129] ehci-platform 1c1a000.usb: USB 2.0 started, EHCI 1.00 [ 0.872413] hub 1-0:1.0: USB hub found [ 0.876354] hub 1-0:1.0: 1 port detected [ 0.880793] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver [ 0.887087] ohci-platform: OHCI generic platform driver [ 0.892619] ohci-platform 1c1a400.usb: Generic Platform OHCI controller [ 0.899361] ohci-platform 1c1a400.usb: new USB bus registered, assigned bus number 2 [ 0.907289] ohci-platform 1c1a400.usb: irq 26, io mem 0x01c1a400 [ 0.980099] hub 2-0:1.0: USB hub found [ 0.983918] hub 2-0:1.0: 1 port detected [ 0.991458] udc-core: couldn't find an available UDC - added [g_cdc] to list of pending drivers [ 1.001174] sun6i-rtc 1c20400.rtc: rtc core: registered rtc-sun6i as rtc0 [ 1.008071] sun6i-rtc 1c20400.rtc: RTC enabled [ 1.012608] i2c /dev entries driver [ 1.017496] input: ns2009_ts as /devices/platform/soc/1c2ac00.i2c/i2c-0/0-0048/input/input0 [ 1.026990] sunxi-wdt 1c20ca0.watchdog: Watchdog enabled (timeout=16 sec, nowayout=0) [ 1.095333] sunxi-mmc 1c0f000.mmc: base:0xc48c2000 irq:23 [ 1.102247] usbcore: registered new interface driver usbhid [ 1.107918] usbhid: USB HID core driver [ 1.113547] NET: Registered protocol family 17 [ 1.118221] Key type dns_resolver registered [ 1.122661] Registering SWP/SWPB emulation handler [ 1.136562] usb_phy_generic usb_phy_generic.0.auto: usb_phy_generic.0.auto supply vcc not found, using dummy regulator [ 1.147950] musb-hdrc musb-hdrc.1.auto: MUSB HDRC host driver [ 1.153717] musb-hdrc musb-hdrc.1.auto: new USB bus registered, assigned bus number 3 [ 1.162925] hub 3-0:1.0: USB hub found [ 1.166911] hub 3-0:1.0: 1 port detected [ 1.172061] using random self ethernet address [ 1.176638] using random host ethernet address [ 1.182139] usb0: HOST MAC 2a:2c:0b:f7:61:88 [ 1.186600] usb0: MAC aa:a1:b7:35:c9:e7 [ 1.190507] g_cdc gadget: CDC Composite Gadget, version: King Kamehameha Day 2008 [ 1.198033] g_cdc gadget: g_cdc ready [ 1.201999] sun6i-rtc 1c20400.rtc: setting system clock to 1970-01-01 05:30:15 UTC (19815) [ 1.210549] vcc3v0: disabling [ 1.213526] vcc5v0: disabling [ 1.216541] ALSA device list: [ 1.219508] No soundcards found. [ 1.228598] VFS: Mounted root (squashfs filesystem) readonly on device 31:3. [ 1.238461] devtmpfs: mounted [ 1.242617] Freeing unused kernel memory: 1024K [ 1.311131] random: crng init done Starting syslogd: OK Starting klogd: OK Running sysctl: OK Saving random seed: SKIP (read-only file system detected) Starting network: OK Welcome to Buildroot buildroot login:
离线
@njitnjit bootargs 中间少了一个逗号。
正确的应该是啥样的?,能不能贴出来我对比一下
离线
感谢分析!回头有空我试一试,把 squashfs 加到 buildroot, 一键打包脚本
离线
spi nand用的爽爽的,就是linux-5.4的otg支持还没弄好openwrt-sunxi-cortexa7v3sspinand-sun8i-v3s-licheepi-zero-spinand-ubifs-ubispinand_img.gz
离线
有没有v3s sd卡squashfs+overlay的配置和启动说明?
离线