pcDuino3 Nano使用u-boot卡在“Starting kernel ...”中

时间:2016-05-01 13:37:38

标签: u-boot

实际上我正在做一个编译u-boot的课程的实验并替换现有的。我遇到了这个问题,似乎谷歌没有任何帮助。所以我在这里发布并想要一些可能的原因或解决方案。

  

董事会:pcDuino3 Nano

     

操作系统:Linaro 12.07 (GNU/Linux 3.4.79+ armv7l)(页面中的第一张图片)

     

媒体:SD卡

步骤:

  
      
  1. 我已成功从SD卡启动并进入shell。
  2.   
  3. 然后我汇编了最新的u-boot并获得了u-boot-sunxi-with-spl.bin
  4.   
  5. 我使用dd if=u-boot-sunxi-with-spl.bin of=/dev/sdb bs=1024 seek=8将垃圾箱闪存到SD卡。
  6.   
  7. pcDuino3 Nano卡在Starting kernel ...
  8.   

u-boot的旧输出:

U-Boot 2014.04-rc3-10520-g87ca6dc-dirty (Apr 09 2014 - 18:46:35) Allwinner Technology

CPU:   Allwinner A20 (SUN7I)
Board: pcDuino3
I2C:   ready
DRAM:  1 GiB
MMC:   SUNXI SD/MMC: 0
In:    serial
Out:   serial
Err:   serial
Net:   emac
Hit any key to stop autoboot:  0 
reading uEnv.txt
575 bytes read in 21 ms (26.4 KiB/s)
reading script.bin
50660 bytes read in 27 ms (1.8 MiB/s)
reading uImage
6495136 bytes read in 331 ms (18.7 MiB/s)
## Booting kernel from Legacy Image at 48000000 ...
   Image Name:   Linux-3.4.79+
   Created:      2014-12-05   9:23:21 UTC
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    6495072 Bytes = 6.2 MiB
   Load Address: 40008000
   Entry Point:  40008000
   Verifying Checksum ... OK
   Loading Kernel Image ... OK

Starting kernel ...

u-boot的新输出:

U-Boot 2016.05-rc3-gad14166 (May 01 2016 - 18:19:38 +0800) Allwinner Technology

CPU:   Allwinner A20 (SUN7I)
Model: LinkSprite pcDuino3
I2C:   ready
DRAM:  1 GiB
MMC:   SUNXI SD/MMC: 0
In:    serial
Out:   serial
Err:   serial
SCSI:  SATA link 0 timeout.
AHCI 0001.0100 32 slots 1 ports 3 Gbps 0x1 impl SATA mode
flags: ncq stag pm led clo only pmp pio slum part ccc apst 
Net:   eth0: ethernet@01c50000
Hit any key to stop autoboot:  0 
reading uEnv.txt
575 bytes read in 21 ms (26.4 KiB/s)
reading script.bin
50660 bytes read in 32 ms (1.5 MiB/s)
reading uImage
6495136 bytes read in 703 ms (8.8 MiB/s)
## Booting kernel from Legacy Image at 48000000 ...
   Image Name:   Linux-3.4.79+
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    6495072 Bytes = 6.2 MiB
   Load Address: 40008000
   Entry Point:  40008000
   Verifying Checksum ... OK
   Loading Kernel Image ... OK

Starting kernel ...

printenv的旧输出:

sun7i# printenv 
baudrate=115200
boot_mmc=fatload mmc 0 0x43000000 script.bin && fatload mmc 0 0x48000000 uImage && bootm 0x48000000
boot_nand=fatload mmc 0 0x43000000 script.bin && fatload mmc 0 0x48000000 ${kernel} && bootm 0x48000000
bootargs=console=ttyS0,115200 console=tty1 root=/dev/mmcblk0p2 loglevel=8 panic=10
bootcmd=if run loadbootenv; then env import -t ${scriptaddr} ${filesize};fi;run setargs boot_mmc;
bootdelay=1
bootenv=uEnv.txt
bootscr=boot.scr
console=ttyS0,115200
ethact=emac
filesize=631ba0
kernel=uImage
loadbootenv=fatload mmc 0 $scriptaddr ${bootenv}
loadbootscr=fatload mmc 0 $scriptaddr ${bootscr} || ext2load mmc 0 $scriptaddr ${bootscr} || ext2load mmc 0 $scriptaddr boot/${bootsc}
loglevel=8
mmc_root=/dev/mmcblk0p2
panicarg=panic=10
recovery_key_value_max=0x13
recovery_key_value_min=0x10
root=/dev/mmcblk0p6 rootwait
scriptaddr=0x44000000
setargs=setenv bootargs console=${console} console=tty1 root=${mmc_root} loglevel=${loglevel} ${panicarg} ${extraargs}
stderr=serial
stdin=serial
stdout=serial
udrate=115200

Environment size: 1082/131068 bytes

printenv的新输出:

=> printenv 
baudrate=115200
boot_mmc=fatload mmc 0 0x43000000 script.bin && fatload mmc 0 0x48000000 uImage && bootm 0x48000000
boot_nand=fatload mmc 0 0x43000000 script.bin && fatload mmc 0 0x48000000 ${kernel} && bootm 0x48000000
bootargs=console=ttyS0,115200 console=tty1 root=/dev/mmcblk0p2 loglevel=8 panic=10
bootcmd=if run loadbootenv; then env import -t ${scriptaddr} ${filesize};fi;run setargs boot_mmc;
bootdelay=1
bootenv=uEnv.txt
bootscr=boot.scr
console=ttyS0,115200
ethact=emac
ethaddr=02:8b:08:42:69:fe
fdtcontroladdr=7af319c0
filesize=631ba0
kernel=uImage
loadbootenv=fatload mmc 0 $scriptaddr ${bootenv}
loadbootscr=fatload mmc 0 $scriptaddr ${bootscr} || ext2load mmc 0 $scriptaddr ${bootscr} || ext2load mmc 0 $scriptaddr boot/${bootsc}
loglevel=8
mmc_root=/dev/mmcblk0p2
panicarg=panic=10
recovery_key_value_max=0x13
recovery_key_value_min=0x10
root=/dev/mmcblk0p6 rootwait
scriptaddr=0x44000000
serial#=1651668b084269fe
setargs=setenv bootargs console=${console} console=tty1 root=${mmc_root} loglevel=${loglevel} ${panicarg} ${extraargs}
stderr=serial
stdin=serial
stdout=serial
udrate=115200

Environment size: 1163/131068 bytes

任何相关的事情都会感激不尽:)

1 个答案:

答案 0 :(得分:2)

您需要的答案很可能在https://linux-sunxi.org/Mainline_U-Boot#Legacy_kernel_won.27t_start上找到,因为使用主线U-Boot启动较旧的或供应商内核需要一些小心。

在IRC上向NiteHawk发送电子邮件。