本帖最后由 一只耳朵怪 于 2018-6-21 11:08 编辑
各位好:
在NAND FLASH中写入ubi文件系统,内核启动时出现挂载失败。
SDK:ti-processor-sdk-linux-am335x-evm-01.00.00.03-Linux-x86-Install.bin
NAND FLASH(美光:MT29F16G08CBACAWP)参数:
Page size x8: 4320 bytes (4096 + 224 bytes)
– Block size: 256 pages (1024K + 56K bytes)
– Plane size: 2 planes x 1024 blocks per plane
– Device size: 16Gb: 2048 blocks;
32Gb: 4096 blocks
制作ubi文件系统的命令(使用SDK自带的文件系统arago-base-tisdk-image-am335x-evm.tar.gz解压后作为原始的文件系统):
mkfs.ubIFs -F -q -r /opt/ti-processor-sdk-linux-am335x-evm-01.00.00.03/filesystem/target_fs -m 4096 -e 1040384 -c 2047 -o ubifs.img
ubinize -o ubi.img -m 4096 -p 256KiB ubinize.cfg
另外:mtd0为SPI NOR FLASH设备,mtd1设备为NAND FLASH设备
启动信息如下:
bootcomd:console=ttyO0,115200n8 root=ubi0:rootfs rw ubi.mtd=1,4096 rootfstype=ubifs rootwait=1
in boot_jump_linux addr=0x82000000 r2=0x8fff4000
[ 0.000000] Booting Linux on physical CPU 0x0
[ 0.000000] Linux version 3.14.43dj-g875c69b (root@ubuntu) (gcc version 4.7.3 20130226 (prerelease) (crosstool-NG linaro-1.13.1-4.7-2013.03-20130313 - Linaro GCC 2013.03) ) #507 Tue Mar 8 17:23:30 CST 2016
[ 0.000000] CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c5387d
[ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[ 0.000000] Machine model: TI AM335x EVM-SK
[ 0.000000] cma: CMA: reserved 24 MiB at ae000000
[ 0.000000] Memory policy: Data cache writeback
[ 0.000000] On node 0 totalpages: 261888
[ 0.000000] free_area_init_node: node 0, pgdat c0886f30, node_mem_map ed7ee000
[ 0.000000] Normal zone: 1520 pages used for memmap
[ 0.000000] Normal zone: 0 pages reserved
[ 0.000000] Normal zone: 194560 pages, LIFO batch:31
[ 0.000000] HighMem zone: 528 pages used for memmap
[ 0.000000] HighMem zone: 67328 pages, LIFO batch:15
[ 0.000000] CPU: All CPU(s) started in SVC mode.
[ 0.000000] AM335X ES2.1 (neon )
[ 0.000000] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
[ 0.000000] pcpu-alloc: [0] 0
[ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 260368
[ 0.000000] Kernel command line: console=ttyO0,115200n8 root=ubi0:rootfs rw ubi.mtd=1,4096 rootfstype=ubifs rootwait=1
[ 0.000000] >>>> ubi_mtd_param_parse >>>>
[ 0.000000] PID hash table entries: 4096 (order: 2, 16384 bytes)
[ 0.000000] Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
[ 0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
[ 0.000000] Memory: 1004576K/1047552K available (5631K kernel code, 449K rwdata, 2288K rodata, 410K init, 404K bss, 42976K reserved, 269312K highmem)
[ 0.000000] Virtual kernel memory layout:
[ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB)
[ 0.000000] fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB)
[ 0.000000] vmalloc : 0xf0000000 - 0xff000000 ( 240 MB)
[ 0.000000] lowmem : 0xc0000000 - 0xef800000 ( 760 MB)
[ 0.000000] pkmap : 0xbfe00000 - 0xc0000000 ( 2 MB)
[ 0.000000] modules : 0xbf000000 - 0xbfe00000 ( 14 MB)
[ 0.000000] .text : 0xc0008000 - 0xc07c3fc4 (7920 kB)
[ 0.000000] .init : 0xc07c4000 - 0xc082a984 ( 411 kB)
[ 0.000000] .data : 0xc082c000 - 0xc089c490 ( 450 kB)
[ 0.000000] .bss : 0xc089c490 - 0xc09017b8 ( 405 kB)
[ 0.000000] NR_IRQS:16 nr_irqs:16 16
[ 0.000000] IRQ: Found an INTC at 0xfa200000 (revision 5.0) with 128 interrupts
[ 0.000000] Total of 128 interrupts on 1 active controller
[ 0.000000] OMAP clockevent source: timer2 at 24000000 Hz
[ 0.000014] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 178956969942ns
[ 0.000039] OMAP clocksource: timer1 at 24000000 Hz
[ 0.000229] WARNING: Your 'console=ttyO0' has been replaced by 'ttyS0'
[ 0.000238] This ensures that you still see kernel messages. Please
[ 0.000245] update your kernel commandline.
[ 0.000276] Calibrating delay loop... 718.02 BogoMIPS (lpj=3590144)
[ 0.119153] pid_max: default: 32768 minimum: 301
[ 0.119294] Security