• 自己编译的openwrt在开机时一直打印jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found...的错误提示


    具体的输入信息是这样的。

    
    uboot> http
    Link down: eth0
    Ethernet mode (duplex/speed): 1/1000 Mbps
    HTTP server is starting at IP: 192.168.0.250
    HTTP server is ready!
    
    Request for: /
    Request for: /style.css
    Data will be downloaded at 0x80800000 in RAM
    Upgrade type: firmware
    Upload file size: 3407876 bytes
    Loading: #######################################
             #######################################
             #######################################
             #######################################
             #######################################
             #######################################
             #######################################
             #######################################
             #######################################
             #######################################
             #######################################
             #######################################
             #######################################
             #######################################
             #######################################
             #######################################
             #######################################
             #######################################
             #######################################
             #######################################
             #######################################
             #######################################
             #######################################
             #######################################
             #######################################
             #######################################
             #######################################
             #######################################
             #######################################
             #######################################
             #######################################
             #######################################
             #######################################
             #######################################
             #######################################
             #######################################
             #######################################
             #######################################
             #######################################
             #######################################
             #######################################
             #######################################
             #######################################
             #######################################
             #######################################
             #######################################
             #######################################
             #######################################
             #######################################
             #######################################
             #######################################
             #######################################
             #######################################
             #######################################
             #######################################
             #######################################
             #######################################
             #######################################
             #######################################
             #######################################
             ####################
    
    HTTP upload is done! Upgrading...
    
    
    ****************************
    *    FIRMWARE UPGRADING    *
    * DO NOT POWER OFF DEVICE! *
    ****************************
    
    Executing: erase 0x9F050000 +0x340004; cp.b 0x80800000 0x9F050000 0x340004
    
    Erase flash from 0x9F050000 to 0x9F39FFFF in bank #1
    Erasing: #######################################
             ##############
    
    Erased sectors: 53
    
    Copying to flash...
    Writting at address: 0x9F050000
    
    Done!
    
    HTTP ugrade is done! Rebooting...
    
    
    Resetting the board...
    
    
    *********************************************
    *        U-Boot 1.1.4  (Jun 12 2014)        *
    *********************************************
    
    AP121 (AR9331) U-Boot for AP02 v0.0
    
    DRAM:   64 MB DDR2 16-bit
    FLASH:  Gigadevice GD25Q64B (8 MB)
    CLOCKS: 400/400/200/33 MHz (CPU/RAM/AHB/SPI)
    
    LED on during eth initialization...
    
    Hit any key to stop autobooting:  0 
    
    Booting image at: 0x9F050000
    
       Image name:   MIPS OpenWrt Linux-3.10.49
       Created:      2014-09-03   7:30:58 UTC
       Image type:   MIPS Linux Kernel Image (lzma compressed)
       Data size:    1056463 Bytes = 1 MB
       Load address: 0x80060000
       Entry point:  0x80060000
    
    Uncompressing kernel image... OK!
    Starting kernel...
    
    [    0.000000] Linux version 3.10.49 (tf@ubuntu) (gcc version 4.8.3 (OpenWrt/Linaro GCC 4.8-2014.04 r42311) ) #25 Wed Sep 3 15:30:48 CST 2014
    [    0.000000] bootconsole [early0] enabled
    [    0.000000] CPU revision is: 00019374 (MIPS 24Kc)
    [    0.000000] SoC: Atheros AR9330 rev 1
    [    0.000000] Clocks: CPU:400.000MHz, DDR:400.000MHz, AHB:200.000MHz, Ref:25.000MHz
    [    0.000000] Determined physical RAM map:
    [    0.000000]  memory: 04000000 @ 00000000 (usable)
    [    0.000000] Initrd not found or empty - disabling initrd
    [    0.000000] Zone ranges:
    [    0.000000]   Normal   [mem 0x00000000-0x03ffffff]
    [    0.000000] Movable zone start for each node
    [    0.000000] Early memory node ranges
    [    0.000000]   node   0: [mem 0x00000000-0x03ffffff]
    [    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] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 16256
    [    0.000000] Kernel command line:  board=DRAGINO2 console=ttyATH0,115200 mtdparts=spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,1280k(kernel),6464k(rootfs),64k(NVRAM),64k(ART)ro,7744k@0x50000(firmware) rootfstype=squashfs,jffs2 noinitrd
    [    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] Writing ErrCtl register=00000000
    [    0.000000] Readback ErrCtl register=00000000
    [    0.000000] Memory: 61272k/65536k available (2239k kernel code, 4264k reserved, 604k data, 228k init, 0k highmem)
    [    0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
    [    0.000000] NR_IRQS:51
    [    0.000000] Calibrating delay loop... 265.42 BogoMIPS (lpj=1327104)
    [    0.080000] pid_max: default: 32768 minimum: 301
    [    0.080000] Mount-cache hash table entries: 512
    [    0.090000] NET: Registered protocol family 16
    [    0.100000] MIPS: machine is Dragino Dragino v2
    [    0.510000] Register platform device spi_gpio.1
    [    0.510000] Register board infos 
    [    0.560000] bio: create slab <bio-0> at 0
    [    0.560000] Switching to clocksource MIPS
    [    0.570000] NET: Registered protocol family 2
    [    0.570000] TCP established hash table entries: 512 (order: 0, 4096 bytes)
    [    0.580000] TCP bind hash table entries: 512 (order: -1, 2048 bytes)
    [    0.580000] TCP: Hash tables configured (established 512 bind 512)
    [    0.590000] TCP: reno registered
    [    0.590000] UDP hash table entries: 256 (order: 0, 4096 bytes)
    [    0.600000] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
    [    0.610000] NET: Registered protocol family 1
    [    0.630000] squashfs: version 4.0 (2009/01/31) Phillip Lougher
    [    0.630000] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
    [    0.650000] msgmni has been set to 119
    [    0.650000] io scheduler noop registered
    [    0.650000] io scheduler deadline registered (default)
    [    0.660000] Serial: 8250/16550 driver, 1 ports, IRQ sharing disabled
    [    0.660000] ar933x-uart: ttyATH0 at MMIO 0x18020000 (irq = 11) is a AR933X UART
    [    0.670000] console [ttyATH0] enabled, bootconsole disabled
    [    0.670000] console [ttyATH0] enabled, bootconsole disabled
    [    0.680000] ath79-spi ath79-spi: master is unqueued, this is deprecated
    [    0.690000] m25p80 spi0.0: found gd25q64, expected m25p80
    [    0.690000] m25p80 spi0.0: gd25q64 (8192 Kbytes)
    [    0.700000] 7 cmdlinepart partitions found on MTD device spi0.0
    [    0.710000] Creating 7 MTD partitions on "spi0.0":
    [    0.710000] 0x000000000000-0x000000040000 : "u-boot"
    [    0.720000] 0x000000040000-0x000000050000 : "u-boot-env"
    [    0.720000] 0x000000050000-0x000000190000 : "kernel"
    [    0.730000] 0x000000190000-0x0000007e0000 : "rootfs"
    [    0.730000] mtd: device 3 (rootfs) set to be root filesystem
    [    0.750000] mtdsplit: no squashfs found in "rootfs"
    [    0.770000] mtdsplit: no squashfs found in "spi0.0"
    [    0.770000] 0x0000007e0000-0x0000007f0000 : "NVRAM"
    [    0.780000] 0x0000007f0000-0x000000800000 : "ART"
    [    0.780000] 0x000000050000-0x0000007e0000 : "firmware"
    [    0.810000] libphy: ag71xx_mdio: probed
    [    1.360000] ag71xx-mdio.1: Found an AR7240/AR9330 built-in switch
    [    2.390000] eth0: Atheros AG71xx at 0xba000000, irq 5, mode:GMII
    [    2.940000] ag71xx ag71xx.0: connected to PHY at ag71xx-mdio.1:04 [uid=004dd041, driver=Generic PHY]
    [    2.950000] eth1: Atheros AG71xx at 0xb9000000, irq 4, mode:MII
    [    2.960000] TCP: cubic registered
    [    2.960000] NET: Registered protocol family 17
    [    2.960000] 8021q: 802.1Q VLAN Support v1.8
    [    2.970000] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00000000: 0x1292 instead
    [    2.980000] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00000004: 0x4e50 instead
    [    2.990000] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00000008: 0xc936 instead
    .....

    造成这个问题的原因是因为我们对FLASH的分区不正确导致的,经过两天的跟踪我发现了这个问题出在image/Makefile中。

    我这个板的MTDLAYOUT内容是这样子的:

    dragino2_mtdlayout=mtdparts=spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,1024k(kernel),6720k(rootfs),64k(NVRAM),64k(ART)ro,7744k@0x50000(firmware)

    而我刚刚下载下去的Kernel大小为1056463,即为1031kB,已经超出了1024k了。我猜想后面的rootfs已经不在0x150000(256k+64k+1024k)这个地址上了,真实的rootfs在哪儿我没有去测,但我猜测是在256k+64k+1056463=0x151ECF之后了。u-boot得到的消息却说rootfs在0x150000上,所以就出错了。

    解决方法就是加大kernel的值,加这个值有讲究,只能64k地64k地加,如果kernel用不完这64k,就不要给它加128k,否则出错!所以这儿需要把MTDLAYOUT设置为

    dragino2_mtdlayout=mtdparts=spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,1088k(kernel),6656k(rootfs),64k(NVRAM),64k(ART)ro,7744k@0x50000(firmware)

  • 相关阅读:
    web中的安全编码
    网站安全(学习)
    head 命令(转)
    less 命令(转)
    简单网站优化
    Yahoo团队总结的关于网站性能优化的经验(转)
    more命令(转)
    linux安装oracle
    Ubuntu系统环境变量配置文件(转)
    nl命令(转)
  • 原文地址:https://www.cnblogs.com/tfanalysis/p/3956432.html
Copyright © 2020-2023  润新知