首先感谢aodzip大佬分享的开发包,让我这个菜鸟编译系统顺利了n倍,感谢晕哥提供的平台和各位大佬的帮助。
最近想跟着逸俊晨晖大佬的帖子,跑一下视频硬解码,结果每次编译后文件系统的挂载都有问题,后来发现只要在菜单勾选ffmpg选项,哪怕只选择h264解码也不行。(编译的文件系统14M左右)
看报错unable to read id index table是分区表没找到,导致挂载文件系统失败?
看论坛的帖子,知道开发包的文件系统分squashfs只读文件系统和overlay分区的可写文件系统来实现可读可写,会不会是文件系统变大超出分区了?
0x000000000000-0x000000080000 : "u-boot"
0x000000080000-0x000000600000 : "kernel.itb"
0x000000600000-0x000004600000 : "rom" //squashfs只读文件系统
0x000004800000-0x000007800000 : "overlay" //jffs2文件系统
应该改 buildroot-tiny200/board/allwinner/generic/genimage-nand.cfg nand镜像分区配置?
还是改 buildroot-tiny200/board/allwinner/generic/uboot.env
buildroot-tiny200/board/allwinner/generic/legacy/uboot.env 里面的环境变量?
板子:MangoPi R3 128M nand版
环境:buildroot-tiny200 (F1C100/200s) 开发包
下面是勾选配置和完整启动信息,那位大佬知道的话还请指点一二 ^_^!
U-Boot SPL 2020.07 (Jun 10 2021 - 15:57:37 +0800)
DRAM: 64 MiB
Trying to boot from MMC1
Card did not respond to voltage select!
spl: mmc init failed with error: -95
Trying to boot from MMC2
Card did not respond to voltage select!
spl: mmc init failed with error: -95
Trying to boot from sunxi SPI
SPI-NAND: GigaDevice GD5F1GQ4UAYIG
SPI-NAND: U-Boot address: 53248
U-Boot 2020.07 (Jun 10 2021 - 15:57:37 +0800) Allwinner Technology
CPU: Allwinner F Series (SUNIV)
Model: Allwinner F1C100s Generic Device
DRAM: 64 MiB
MMC: mmc@1c0f000: 0, mmc@1c10000: 1
Setting up a 800x480 lcd console (overscan 0x0)
In: serial
Out: serial
Err: serial
Allwinner mUSB OTG (Peripheral)
Hit any key to stop autoboot: 0
Card did not respond to voltage select!
Card did not respond to voltage select!
unrecognized JEDEC id bytes: ff, c8, f1
Failed to initialize SPI flash at 0:0 (error -2)
List of MTD devices:
* spi-nand0
- device: spi-nand@1
- parent: spi@1c05000
- driver: spi_nand
- type: NAND flash
- block size: 0x20000 bytes
- min I/O: 0x800 bytes
- OOB size: 64 bytes
- OOB available: 31 bytes
- 0x000000000000-0x000008000000 : "spi-nand0"
=========================
Boot Device: spi
Boot Slot 0: empty
Boot Slot 1: spi-nand
=========================
DFU waiting on SPI-NAND...
musb-hdrc: peripheral reset irq lost!
Booting from SPI-NAND...
Reading 5767168 byte(s) (2816 page(s)) at offset 0x00080000
## Loading kernel from FIT Image at 81000000 ...
Using 'conf@0' configuration
Trying 'kernel@0' kernel subimage
Description: Linux kernel
Type: Kernel Image
Compression: uncompressed
Data Start: 0x810000cc
Data Size: 4309048 Bytes = 4.1 MiB
Architecture: ARM
OS: Linux
Load Address: 0x80000000
Entry Point: 0x80000000
Hash algo: crc32
Hash value: f1a8af74
Verifying Hash Integrity ... crc32+ OK
## Loading fdt from FIT Image at 81000000 ...
Using 'conf@0' configuration
Trying 'fdt@0' fdt subimage
Description: Flattened Device Tree blob
Type: Flat Device Tree
Compression: uncompressed
Data Start: 0x8141c1e8
Data Size: 15655 Bytes = 15.3 KiB
Architecture: ARM
Hash algo: crc32
Hash value: 7947cec8
Verifying Hash Integrity ... crc32+ OK
Booting using the fdt blob at 0x8141c1e8
Loading Kernel Image
Loading Device Tree to 80ff9000, end 80fffd26 ... OK
Cannot setup simplefb: node not found
Starting kernel ...
[ 0.000000] Booting Linux on physical CPU 0x0
[ 0.000000] Linux version 5.4.92 (root@8d496aa93fd6) (gcc version 8.4.0 (Buildroot -g22245a5-dirty)) #1 Thu Jun 10 15:58:19 CST 2021
[ 0.000000] CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=0005317f
[ 0.000000] CPU: VIVT data cache, VIVT instruction cache
[ 0.000000] OF: fdt: Machine model: Widora MangoPi R3
[ 0.000000] Memory policy: Data cache writeback
[ 0.000000] cma: Reserved 16 MiB at 0x83000000
[ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 16256
[ 0.000000] Kernel command line: console=ttyS0,115200 rootwait init=/preinit root=/dev/mtdblock2 rootfstype=squashfs overlayfsdev=/dev/mtdblock3 net.ifnames=0 vt.global_cursor_default=0
[ 0.000000] Dentry cache hash table entries: 8192 (order: 3, 32768 bytes, linear)
[ 0.000000] Inode-cache hash table entries: 4096 (order: 2, 16384 bytes, linear)
[ 0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[ 0.000000] Memory: 38736K/65536K available (6144K kernel code, 248K rwdata, 1676K rodata, 1024K init, 225K bss, 10416K reserved, 16384K cma-reserved)
[ 0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[ 0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
[ 0.000000] random: get_random_bytes called from start_kernel+0x254/0x444 with crng_init=0
[ 0.000049] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 89478484971ns
[ 0.000142] clocksource: timer: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns
[ 0.000897] Console: colour dummy device 80x30
[ 0.000992] Calibrating delay loop... 203.16 BogoMIPS (lpj=1015808)
[ 0.070263] pid_max: default: 32768 minimum: 301
[ 0.070804] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[ 0.070851] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[ 0.072786] CPU: Testing write buffer coherency: ok
[ 0.074862] Setting up static identity map for 0x80100000 - 0x80100058
[ 0.076053] devtmpfs: initialized
[ 0.088203] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[ 0.088267] futex hash table entries: 256 (order: -1, 3072 bytes, linear)
[ 0.092586] pinctrl core: initialized pinctrl subsystem
[ 0.095137] NET: Registered protocol family 16
[ 0.098898] DMA: preallocated 256 KiB pool for atomic coherent allocations
[ 0.101302] cpuidle: using governor menu
[ 0.145666] SCSI subsystem initialized
[ 0.146068] usbcore: registered new interface driver usbfs
[ 0.146227] usbcore: registered new interface driver hub
[ 0.146389] usbcore: registered new device driver usb
[ 0.146912] mc: Linux media interface: v0.10
[ 0.147042] videodev: Linux video capture interface: v2.00
[ 0.147176] pps_core: LinuxPPS API ver. 1 registered
[ 0.147194] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[ 0.147260] PTP clock support registered
[ 0.148360] ion_parse_dt_heap_common: id 4 type 4 name cma align 1000
[ 0.149297] Advanced Linux Sound Architecture Driver Initialized.
[ 0.151849] clocksource: Switched to clocksource timer
[ 0.183688] thermal_sys: Registered thermal governor 'step_wise'
[ 0.184503] NET: Registered protocol family 2
[ 0.185993] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 4096 bytes, linear)
[ 0.186070] TCP established hash table entries: 1024 (order: 0, 4096 bytes, linear)
[ 0.186124] TCP bind hash table entries: 1024 (order: 0, 4096 bytes, linear)
[ 0.186171] TCP: Hash tables configured (established 1024 bind 1024)
[ 0.186435] UDP hash table entries: 256 (order: 0, 4096 bytes, linear)
[ 0.186493] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes, linear)
[ 0.187018] NET: Registered protocol family 1
[ 0.189658] NetWinder Floating Point Emulator V0.97 (double precision)
[ 0.191556] Initialise system trusted keyrings
[ 0.192324] workingset: timestamp_bits=30 max_order=14 bucket_order=0
[ 0.214764] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[ 0.215423] jffs2: version 2.2. (NAND) (SUMMARY) © 2001-2006 Red Hat, Inc.
[ 0.337664] Key type asymmetric registered
[ 0.337705] Asymmetric key parser 'x509' registered
[ 0.337882] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 249)
[ 0.337908] io scheduler mq-deadline registered
[ 0.337926] io scheduler kyber registered
[ 0.354205] suniv-f1c100s-pinctrl 1c20800.pinctrl: initialized sunXi PIO driver
[ 0.379602] Serial: 8250/16550 driver, 8 ports, IRQ sharing disabled
[ 0.385922] suniv-f1c100s-pinctrl 1c20800.pinctrl: 1c20800.pinctrl supply vcc-pa not found, using dummy regulator
[ 0.387295] printk: console [ttyS0] disabled
[ 0.407601] 1c25400.serial: ttyS0 at MMIO 0x1c25400 (irq = 27, base_baud = 6250000) is a 16550A
[ 0.841418] printk: console [ttyS0] enabled
[ 0.851177] suniv-f1c100s-pinctrl 1c20800.pinctrl: 1c20800.pinctrl supply vcc-pd not found, using dummy regulator
[ 0.872318] panel-simple panel: panel supply power not found, using dummy regulator
[ 0.881965] SCSI Media Changer driver v0.25
[ 0.887809] suniv-f1c100s-pinctrl 1c20800.pinctrl: 1c20800.pinctrl supply vcc-pc not found, using dummy regulator
[ 0.900714] spi-nand spi0.0: GigaDevice SPI NAND was found.
[ 0.906419] spi-nand spi0.0: 128 MiB, block size: 128 KiB, page size: 2048, OOB size: 64
[ 0.916009] 4 fixed-partitions partitions found on MTD device spi0.0
[ 0.922475] Creating 4 MTD partitions on "spi0.0":
[ 0.927313] 0x000000000000-0x000000080000 : "u-boot"
[ 0.937742] 0x000000080000-0x000000600000 : "kernel.itb"
[ 0.946595] random: fast init done
[ 0.969643] 0x000000600000-0x000004600000 : "rom"
[ 1.203317] 0x000004800000-0x000007800000 : "overlay"
[ 1.380159] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[ 1.386811] ehci-platform: EHCI generic platform driver
[ 1.392508] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[ 1.398733] ohci-platform: OHCI generic platform driver
[ 1.404552] usbcore: registered new interface driver usb-storage
[ 1.411526] usb_phy_generic usb_phy_generic.0.auto: usb_phy_generic.0.auto supply vcc not found, using dummy regulator
[ 1.425183] i2c /dev entries driver
[ 1.429333] suniv-f1c100s-pinctrl 1c20800.pinctrl: 1c20800.pinctrl supply vcc-pd not found, using dummy regulator
[ 1.443175] suniv-f1c100s-pinctrl 1c20800.pinctrl: 1c20800.pinctrl supply vcc-pe not found, using dummy regulator
[ 1.454196] sun4i-csi 1cb0000.csi: Packed (RAW) format enabled.
[ 1.462071] sunxi-wdt 1c20ca0.watchdog: Watchdog enabled (timeout=16 sec, nowayout=0)
[ 1.472136] suniv-f1c100s-pinctrl 1c20800.pinctrl: 1c20800.pinctrl supply vcc-pf not found, using dummy regulator
[ 1.510184] sunxi-mmc 1c0f000.mmc: initialized, max. request size: 16384 KB
[ 1.519608] usbcore: registered new interface driver usbhid
[ 1.525300] usbhid: USB HID core driver
[ 1.529474] sunxi-cedar 1c0e000.video-codec: sunxi cedar version 0.01alpha
[ 1.536807] sunxi-cedar 1c0e000.video-codec: cedar-ve the get irq is 20
[ 1.548638] debugfs: Directory '1c23c00.codec' with parent 'F1C100s Audio Codec' already present!
[ 1.562557] sun4i-codec 1c23c00.codec: Codec <-> 1c23c00.codec mapping ok
[ 1.578587] NET: Registered protocol family 17
[ 1.583275] Key type dns_resolver registered
[ 1.588662] Loading compiled-in X.509 certificates
[ 1.607053] sun4i-drm soc:display-engine: bound 1e00000.display-frontend (ops 0xc073b278)
[ 1.616110] sun4i-drm soc:display-engine: bound 1e60000.display-backend (ops 0xc073aab8)
[ 1.625668] sun4i-drm soc:display-engine: bound 1c0c000.lcd-controller (ops 0xc0739658)
[ 1.634256] sun4i-drm soc:display-engine: bound 1c0a000.tv-encoder (ops 0xc073a378)
[ 1.642032] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[ 1.648633] [drm] No driver support for vblank timestamp query.
[ 1.656340] [drm] Initialized sun4i-drm 1.0.0 20150629 for soc:display-engine on minor 0
[ 1.665374] [drm] kms: can't enable cloning when we probably wanted to.
[ 1.737113] Console: switching to colour frame buffer device 100x30
[ 1.775979] sun4i-drm soc:display-engine: fb0: sun4i-drmdrmfb frame buffer device
[ 1.784530] cfg80211: Loading compiled-in X.509 certificates for regulatory database
[ 1.802354] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
[ 1.809113] ALSA device list:
[ 1.812215] #0: F1C100s Audio Codec
[ 1.816494] platform regulatory.0: Direct firmware load for regulatory.db failed with error -2
[ 1.825227] cfg80211: failed to load regulatory.db
[ 1.836565] unable to read id index table
[ 1.840975] List of all partitions:
[ 1.844663] 1f00 512 mtdblock0
[ 1.844672] (driver?)
[ 1.851280] 1f01 5632 mtdblock1
[ 1.851287] (driver?)
[ 1.857903] 1f02 65536 mtdblock2
[ 1.857908] (driver?)
[ 1.864528] 1f03 49152 mtdblock3
[ 1.864535] (driver?)
[ 1.871058] No filesystem could mount root, tried:
[ 1.871063] squashfs
[ 1.875969]
[ 1.879769] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(31,2)
[ 1.888107] CPU: 0 PID: 1 Comm: swapper Not tainted 5.4.92 #1
[ 1.893834] Hardware name: Allwinner suniv Family
[ 1.898615] [<c010e1a8>] (unwind_backtrace) from [<c010b954>] (show_stack+0x10/0x14)
[ 1.906385] [<c010b954>] (show_stack) from [<c06ee31c>] (panic+0xe8/0x2e4)
[ 1.913278] [<c06ee31c>] (panic) from [<c090135c>] (mount_block_root+0x2bc/0x31c)
[ 1.920760] [<c090135c>] (mount_block_root) from [<c0901568>] (prepare_namespace+0x128/0x188)
[ 1.929289] [<c0901568>] (prepare_namespace) from [<c06f6154>] (kernel_init+0x8/0x108)
[ 1.937204] [<c06f6154>] (kernel_init) from [<c01010e0>] (ret_from_fork+0x14/0x34)
[ 1.944752] Exception stack(0xc2839fb0 to 0xc2839ff8)
[ 1.949801] 9fa0: 00000000 00000000 00000000 00000000
[ 1.957968] 9fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 1.966130] 9fe0: 00000000 00000000 00000000 00000000 00000013 00000000
[ 1.972739] ---[ end Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(31,2) ]---
离线
嗯嗯,多谢晕哥解答,这是生成的镜像大小
是改 /board/widora/mangopi/r3/devicetree/linux下的devicetree.dts么?把ram分区调大么?
spi-nand@0 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "spi-nand";
reg = <0>;
spi-max-frequency = <50000000>;
//status = "disabled";
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "u-boot";
reg = <0x000000 0x80000>;
read-only;
};
partition@1 {
label = "kernel.itb";
reg = <0x80000 0x580000>;
read-only;
};
partition@2 {
label = "rom";
reg = <0x600000 0x4000000>;
read-only;
};
partition@3 {
label = "overlay";
reg = <0x4800000 0x3000000>;
};
};
};
应该是squashfs根文件系统系统超大了,你看下文件系统镜像文件多大,然后改dts文件,应该就可以了。
离线
嗯嗯,多谢:D
离线