シスコサポートコミュニティ
キャンセル
次の結果を表示 
次の代わりに検索 
もしかして: 

AP2800/3800 が u-boot から復旧しない時の対処法

 

 

u-boot から起動できない !?

AP2800/3800 を起動させた際、OS が正常に起動せず u-boot モードになることがあります。
通常は boot コマンドにより起動するはずですが、

u-boot >> boot 

以下のように Board initialization process が実行され、いつまでも OS が起動しない場合がございます。

u-boot>> boot
Starting board initialization process. Proceed? [y/N]:
Aborting board initialization...
u-boot>> boot
Starting board initialization process. Proceed? [y/N]: y
BOOTP broadcast 1
BOOTP broadcast 2
DHCP client bound to address 172.22.177.16
Using egiga2 device
TFTP from server 0.0.0.0; our IP address is 172.22.177.16; sending through gateway 172.22.177.254
Filename 'board_init_barbados2k.img'.
Load address: 0x2000000
Loading: T T T T T T T T T T
Retry count exceeded; starting again
mvEgigaInit: egiga1 mvNetaPortEnable failed (error)
mvEgigaInit: egiga1 failed

対処方法

u-boot の bootcmd に boardinit が設定されてしまっているためです。
bootcmd を含む、u-boot の環境変数の一覧は printenv コマンドで確認できます。

u-boot>> printenv
BOOT=part1
CASset=max
ENABLE_BREAK=1
FACTORY_RESET=0
MALLOC_len=5
MANUAL_BOOT=0
MEMORY_DEBUG=0
MPmode=SMP
autoload=yes
baudrate=9600
bootcmd=boardinit <<<<<
bootdelay=3
bootfile=board_init_barbados2k.img
cacheShare=no
disaMvPnp=no
eeeEnable=no
enaClockGating=no
enaCpuStream=no
enaFPU=yes
enaMonExt=no
enaWrAllo=no
eth1addr=00:50:43:xx:xx:xx
eth1mtu=1500
eth2addr=00:50:43:xx:xx:xx
eth2mtu=1500
ethact=egiga2
ethaddr=00:50:43:xx:xx:xx
ethmtu=1500
ethprime=egiga2
image_name=part.bin
initrd_high=0xffffffff
limit_dram_size=yes
loadaddr=0x02000000
loads_echo=0
mtddevname=fs
mtdids=nand0=armada-nand
mtdparts=mtdparts=armada-nand:1m(oops),1m(reserved),-(fs)
nandEcc=nfcConfig=4bitecc
netretry=yes
partition=nand0,2
pcieTune=no
pexMode=RC
stderr=serial
stdin=serial
stdout=serial
yuk_ethaddr=00:00:00:xx:xx:xx

Environment size: 894/65532 bytes

以下のコマンドにより、bootcmd の設定をデフォルトの nandboot に変更し、boot を実行することで OS が正常に起動します。

u-boot>> setenv bootcmd nandboot 
u-boot>> saveenv
u-boot>> boot

サンプルログ

u-boot>> setenv bootcmd nandboot
u-boot>> saveenv
Saving Environment to SPI Flash...
Erasing SPI flash....Writing to SPI flash.....done
u-boot>> boot
Creating 1 MTD partitions on "nand0":
0x000000200000-0x000010000000 : "mtd=2"
UBI: attaching mtd1 to ubi0
UBI: physical eraseblock size: 131072 bytes (128 KiB)
UBI: logical eraseblock size: 126976 bytes
UBI: smallest flash I/O unit: 2048
UBI: VID header offset: 2048 (aligned 2048)
UBI: data offset: 4096
UBI: attached mtd1 to ubi0
UBI: MTD device name: "mtd=2"
UBI: MTD device size: 254 MiB
UBI: number of good PEBs: 2024
UBI: number of bad PEBs: 8
UBI: max. allowed volumes: 128
UBI: wear-leveling threshold: 4096
UBI: number of internal volumes: 1
UBI: number of user volumes: 8
UBI: available PEBs: 0
UBI: total number of reserved PEBs: 2024
UBI: number of PEBs reserved for bad PEB handling: 20
UBI: max/mean erase counter: 198/104
UBIFS: mounted UBI device 0, volume 0, name "part1"
UBIFS: mounted read-only
UBIFS: file system size: 65646592 bytes (64108 KiB, 62 MiB, 517 LEBs)
UBIFS: journal size: 8888320 bytes (8680 KiB, 8 MiB, 70 LEBs)
UBIFS: media format: w4/r0 (latest is w4/r0)
UBIFS: default compressor: LZO
UBIFS: reserved for root: 0 bytes (0 KiB)
Loading file 'part1/part.bin' to addr 0x02000000 with size 18584351 (0x011b931f)...
Done
SF: Detected N25Q32A with page size 64 KiB, total 4 MiB
Checking image signing.
This could take up to 40 seconds. Please wait...
Image signing verification success, continue to run...
## Booting kernel from Legacy Image at 02000000 ...
Image Name: Barbados Firmware Image
Created: 2016-09-27 10:38:44 UTC
Image Type: ARM Linux Multi-File Image (uncompressed)
Data Size: 18583343 Bytes = 17.7 MiB
Load Address: 00008000
Entry Point: 00008000
Contents:
Image 0: 4033488 Bytes = 3.8 MiB
Image 1: 14534391 Bytes = 13.9 MiB
Image 2: 15447 Bytes = 15.1 KiB
Verifying Checksum ... OK
## Loading init Ramdisk from multi component Legacy Image at 02000000 ...
## Flattened Device Tree from multi component Image at 02000000
Booting using the fdt at 0x031b5318
Loading Multi-File Image ... OK
OK
Loading Device Tree to 00ff9000, end 00fffc56 ... OK

Starting Device Tree update ('fdt_skip_update' = no)

Limit DDR size at 3GB due to power of 2 requirement of Address decoding
Updating device tree successful

Starting kernel ...

[01/01/1970 00:00:05.2900] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 260096
[01/01/1970 00:00:05.4000] Memory: 1016064K/1048576K available (5584K kernel code, 362K rwdata, 2412K rodata, 343K init, 465K bss, 32512K reserved, 0K highmem)
[01/01/1970 00:00:05.5700] CPU1: Booted secondary processor
[01/01/1970 00:00:05.6300] buginf tty flushing thread started, ttyport=bf0e7000
[01/01/1970 00:00:05.7500] m25p80 spi1.0: found n25q032a, expected n25q032
[01/01/1970 00:00:05.9700] i2c i2c-0: of_i2c: modalias failure on /soc/internal-regs/i2c@11000/chan2
[01/01/1970 00:00:07.0800] UBI warning: print_rsvd_warning: cannot reserve enough PEBs for bad PEB handling, reserved 20, need 32
[*01/01/1970 00:00:07.2318] buginf() enabled.

Welcome to Cisco.
コメント
Silver

Thanks, this helped me! I had exactly this issue with my new 2802, which I maybe unplugged while it was booting up the first time.

338
閲覧回数
5
いいね!
1
コメント