我正在尝试使用 U-Boot 在 PPC 嵌入式 Linux 设备上启动较新的 Linux 内核,但它无法启动该内核。
我的可启动内核映像已构建,并由 U-Boot 进行网络启动。问题是,解压缩内核后,没有任何反应。我不太清楚发生了什么 - 有人向我建议未压缩的内核正在写入可启动的内核映像,从而损坏了未压缩的内核,但我不知道如何找到内存中的全部内容正在发生。这是 U-Boot 的输出:
Booting kernel from Legacy Image at 00800000
Image Name: Linux-4.9.48
Image Type: PowerPC Linux Kernel Image (gzip compressed)
Data Size: 3098594 Bytes = 3 MB
Load Address: 00000000
Entry Point: 00000000
Verifying Checksum ... OK
Uncompressing Kernel Image ... OK
在此之后,它什么也不做。
有谁对为什么会发生这种情况有任何其他想法,或者知道在哪里可以找到 uBoot 的内存映射?提前致谢!
编辑:发布 printenv 的输出加上完整启动输出
ramboot=run ramargs addmtd addother;tftp $ramdiskaddr $ramdiskfile;tftp
$loadaddr $bootfile;bootm $loadaddr $ramdiskaddr
nfsboot=run nfsargs addmtd addip addother;tftp $loadaddr $bootfile; bootm
$loadaddr
bootdelay=2
baudrate=115200
loads_echo=1
netmask=255.255.0.0
hostname=Paradigm_
loadaddr=800000
addip=setenv bootargs $bootargs
ip=$ipaddr:$serverip:$gatewayip:$netmask:$hostname:$netdev:off
addmtd=setenv bootargs $bootargs mtdparts=$mtd_id:$mtdkernel,$mtdrootfs,$mtduboot,$mtdfuturea,$mtdfutureb,$mtdunu
sed,$mtdenvars
addother=setenv bootargs $bootargs console=$consoledev,$baudrate
$othbootargs contrast=$contrast
consoledev=ttyS3
fargs=setenv bootargs root=/dev/ram rw
fboot=run fargs addmtd addip addother; bootm $kernel_base $fs_base
flkernel=echo ************************;echo * Starting flkernel... *;echo
************************;prot off $kernel_base $kernel_end;erase
$kernel_base $kernel_end;tftp $loadaddr $bootfile;cp.b $loadaddr
$kernel_base $filesize;prot on $kernel_base $kernel_end;cmp.b $loadaddr
$kernel_base $filesize;echo *********************;echo * flkernel Complete
*;echo *********************
flrootfs=echo ************************;echo * Starting flrootfs... *;echo
************************;prot off $fs_base $fs_end;erase $fs_base
$fs_end;tftp $loadaddr $rootfsfile;cp.b $loadaddr $fs_base $filesize;prot on
$fs_base $fs_end;cmp.b $loadaddr $fs_base $filesize;echo
*********************;echo * flrootfs Complete *;echo *********************
flub=mw.l $loadaddr ffffffff 10000;tftp $loadaddr $ubootbinfile;prot off
$uboot_base $uboot_end;erase $uboot_base $uboot_end;cp.b $loadaddr
$uboot_base $filesize;prot on $uboot_base $uboot_end;cmp.b $loadaddr
$uboot_base $filesize
fs_base=fc700000
fs_end=fe6fffff
hboot=run fargs addip addother;tftp $loadaddr $bootfile;prot off $fs_base
$fs_end;bootm $loadaddr
kernel_base=fc000000
kernel_end=fc6fffff
mtd_id=phys_mapped_flash
mtdkernel=7M@0x00000000(Kernel)
mtdrootfs=32M@0x00700000(RootFS)
mtduboot=768K@0x03F00000(U-Boot)
mtdunused=192K@0x03FC0000(Unused)
mtdfuturea=8M@0x02700000(Future-A)
mtdfutureb=16M@0x02F00000(Future-B)
mtdenvars=64K@0x03FF0000(EnvVars)
netdev=eth0
nfsargs=setenv bootargs root=/dev/nfs rw nfsroot=$serverip:$rootpath
othbootargs=ramdisk_size=64000 panic=5
ramargs=setenv bootargs root=/dev/ram rw
rootfsfile=initrd
uboot_base=fff00000
uboot_end=fffbffff
uboot_version=2.1.1.9.0.502
ubootbinfile=u-boot.bin
usbargs=setenv bootargs root=/dev/uba1 rw rootfstype=ext3 rootdelay=3
usbboot=echo ***********************;echo * Starting usbboot... *;echo
***********************;run usbargs addmtd addip addother;bootm $kernel_base
ethaddr=00:c0:16:00:93:a1
ethact=TSEC0
RTC_bat_low=0
bootfile=/srv/tftp/bison/lexs/uImage
rootpath=/srv/nfs4/bison/lexs
serverip=172.30.0.2
gatewayip=172.30.1.1
ipaddr=172.30.2.208
bootcmd=run nfsboot
stdin=serial
stdout=serial
stderr=serial
Environment size: 2869/8188 bytes
etcunison=> boot
Speed: 100, full duplex
Using TSEC0 device
TFTP from server 172.30.0.2; our IP address is 172.30.2.208
Filename '/srv/tftp/bison/lexs/uImage'.
Load address: 0x800000
Loading: #################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#####################
done
Bytes transferred = 3097895 (2f4527 hex)
## Booting kernel from Legacy Image at 00800000 ...
Image Name: Linux-4.9.48
Image Type: PowerPC Linux Kernel Image (gzip compressed)
Data Size: 3097831 Bytes = 3 MB
Load Address: 00000000
Entry Point: 00000000
Verifying Checksum ... OK
Uncompressing Kernel Image ... OK