openwrt在9344上可以引导内核不能加载根文件系统
本人想将openwrt移植到9344的板子上,在下载attitude_adjustment_12.09分支后,完成Target System, Target Profile (Atheros DB120 reference board) 后,编译版本后生成bin文件。通过串口烧录到分区中,内核可以引导,但在加载根文件系统失败,对于这种问题,应该怎么去排查并找出解决办法?
启动日志如下:[ 0.000000] Linux version 3.3.8 (root@linuxwang) (gcc version 4.6.3 20120201 (prerelease) (Linaro GCC 4.6-2012.02) ) #19 Tue Nov 11 01:57:59 CST 2014
[ 0.000000] bootconsole enabled
[ 0.000000] CPU revision is: 0001974c (MIPS 74Kc)
[ 0.000000] SoC: Atheros AR9344 rev 2
[ 0.000000] Clocks: CPU:560.000MHz, DDR:480.000MHz, AHB:240.000MHz, Ref:40.000MHz
[ 0.000000] Determined physical RAM map:
[ 0.000000]memory: 08000000 @ 00000000 (usable)
[ 0.000000] Initrd not found or empty - disabling initrd
[ 0.000000] Zone PFN ranges:
[ 0.000000] Normal 0x00000000 -> 0x00008000
[ 0.000000] Movable zone start PFN for each node
[ 0.000000] Early memory PFN ranges
[ 0.000000] 0: 0x00000000 -> 0x00008000
[ 0.000000] Built 1 zonelists in Zone order, mobility grouping on.Total pages: 32512
[ 0.000000] Kernel command line:board=DB120 console=ttyS0,115200 mtdparts=spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,6336k(rootfs),1408k(kernel),64k(nvram),64k(art)ro,7744k@0x50000(firmware) root=31:02 rootfstype=squashfs noinitrd
[ 0.000000] PID hash table entries: 512 (order: -1, 2048 bytes)
[ 0.000000] Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
[ 0.000000] Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
[ 0.000000] Primary instruction cache 64kB, VIPT, 4-way, linesize 32 bytes.
[ 0.000000] Primary data cache 32kB, 4-way, VIPT, cache aliases, linesize 32 bytes
[ 0.000000] Writing ErrCtl register=00000000
[ 0.000000] Readback ErrCtl register=00000000
[ 0.000000] Memory: 126612k/131072k available (2086k kernel code, 4460k reserved, 403k data, 208k init, 0k highmem)
[ 0.000000] SLUB: Genslabs=9, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[ 0.000000] NR_IRQS:51
[ 0.000000] Calibrating delay loop... 278.93 BogoMIPS (lpj=1394688)
[ 0.070000] pid_max: default: 32768 minimum: 301
[ 0.070000] Mount-cache hash table entries: 512
[ 0.080000] NET: Registered protocol family 16
[ 0.080000] gpiochip_add: registered GPIOs 0 to 22 on device: ath79
[ 0.090000] MIPS: machine is Atheros DB120 reference board
[ 0.100000] ar724x-pci ar724x-pci: PCIe link is down
[ 0.100000] registering PCI controller with io_map_base unset
[ 0.510000] bio: create slab <bio-0> at 0
[ 0.520000] PCI host bridge to bus 0000:00
[ 0.520000] pci_bus 0000:00: root bus resource
[ 0.530000] pci_bus 0000:00: root bus resource
[ 0.530000] Switching to clocksource MIPS
[ 0.540000] NET: Registered protocol family 2
[ 0.540000] IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.550000] TCP established hash table entries: 4096 (order: 3, 32768 bytes)
[ 0.560000] TCP bind hash table entries: 4096 (order: 2, 16384 bytes)
[ 0.560000] TCP: Hash tables configured (established 4096 bind 4096)
[ 0.570000] TCP reno registered
[ 0.570000] UDP hash table entries: 256 (order: 0, 4096 bytes)
[ 0.580000] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[ 0.580000] NET: Registered protocol family 1
[ 0.600000] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[ 0.610000] JFFS2 version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
[ 0.620000] msgmni has been set to 247
[ 0.620000] io scheduler noop registered
[ 0.620000] io scheduler deadline registered (default)
[ 0.630000] Serial: 8250/16550 driver, 1 ports, IRQ sharing disabled
[ 0.660000] serial8250.0: ttyS0 at MMIO 0x18020000 (irq = 11) is a 16550A
[ 0.660000] console enabled, bootconsole disabled
[ 0.660000] console enabled, bootconsole disabled
[ 0.680000] m25p80 spi0.0: found mx25l25635e, expected m25p80
[ 0.680000] m25p80 spi0.0: mx25l25635e (32768 Kbytes)
[ 0.690000] 7 cmdlinepart partitions found on MTD device spi0.0
[ 0.690000] Creating 7 MTD partitions on "spi0.0":
[ 0.700000] 0x000000000000-0x000000040000 : "u-boot"
[ 0.710000] 0x000000040000-0x000000050000 : "u-boot-env"
[ 0.710000] 0x000000050000-0x000000680000 : "rootfs"
[ 0.720000] mtd:partition "rootfs" set to be root filesystem
[ 0.730000] magic is 73717368 actual:0 in ""
[ 0.730000] split_squashfs: no squashfs found in "spi0.0"
[ 0.740000] 0x000000680000-0x0000007e0000 : "kernel"
[ 0.740000] 0x0000007e0000-0x0000007f0000 : "nvram"
[ 0.750000] 0x0000007f0000-0x000000800000 : "art"
[ 0.760000] 0x000000050000-0x0000007e0000 : "firmware"
[ 0.780000] ag71xx_mdio: probed
[ 0.790000] ag71xx_mdio: probed
[ 0.790000] eth0: Atheros AG71xx at 0xb9000000, irq 4
[ 1.350000] ag71xx ag71xx.0: eth0: no PHY found with phy_mask=00000001
[ 1.350000] eth0: Atheros AG71xx at 0xba000000, irq 5
[ 1.910000] eth0: Found an AR934X built-in switch
[ 2.950000] TCP cubic registered
[ 2.950000] NET: Registered protocol family 17
[ 2.950000] 8021q: 802.1Q VLAN Support v1.8
[ 2.960000] List of all partitions:
[ 2.960000] 1f00 256 mtdblock0(driver?)
[ 2.970000] 1f01 64 mtdblock1(driver?)
[ 2.970000] 1f02 6336 mtdblock2(driver?)
[ 2.980000] 1f03 1408 mtdblock3(driver?)
[ 2.980000] 1f04 64 mtdblock4(driver?)
[ 2.990000] 1f05 64 mtdblock5(driver?)
[ 2.990000] 1f06 7744 mtdblock6(driver?)
[ 3.000000] No filesystem could mount root, tried:squashfs
[ 3.010000] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(31,2) 看看 31、2这个块设备是否存在,如果存在,把它解出来,看看在host里能不能用squashfs挂载。 回复 2# Tinnal
这个分区应该在吧,内核分区都在的话,应该文件系统分区也在吧!如果要看怎么去查看是否分区存在?
"它解出来,看看在host里能不能用squashfs挂载"怎么操作? Kernel command line:board=DB120 console=ttyS0,115200 mtdparts=spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,6336k(rootfs),1408k(kernel),64k(nvram),64k(art)ro,7744k@0x50000(firmware) root=31:02 rootfstype=squashfs noinitrd
确定文件系统类型是否正确 怎么确认??回复 4# yangPSO
你自己制作的根文件系统,类型不知道吗,比如是不是jff2 根据编译生成文件可以知道是squashfs文件系统
选择openwrt-ar71xx-generic-db120-rootfs-squashfs.bin文件烧写到文件系统分区中
回复 6# yangPSO
那你在函数squashfs_fill_super()中添加一些调试语句,首先确认函数执行了没有,然后看看哪里报错了没有 本帖最后由 yangPSO 于 2014-11-28 17:03 编辑
那你在函数squashfs_fill_super()中添加一些调试语句,首先确认函数执行了没有,然后看看哪里报错了没有
你可以把其中的TRACE和ERROR宏打印生效
【不小心发多了一次】
页:
[1]