在 PPC 上启动未压缩的 Linux 内核时出现问题

在 PPC 上启动未压缩的 Linux 内核时出现问题

我正在尝试使用 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

相关内容