![PPC에서 압축되지 않은 Linux 커널을 부팅하는 데 문제가 있습니다.](https://linux55.com/image/118682/PPC%EC%97%90%EC%84%9C%20%EC%95%95%EC%B6%95%EB%90%98%EC%A7%80%20%EC%95%8A%EC%9D%80%20Linux%20%EC%BB%A4%EB%84%90%EC%9D%84%20%EB%B6%80%ED%8C%85%ED%95%98%EB%8A%94%20%EB%8D%B0%20%EB%AC%B8%EC%A0%9C%EA%B0%80%20%EC%9E%88%EC%8A%B5%EB%8B%88%EB%8B%A4..png)
PPC 임베디드 Linux 장치에서 최신 Linux 커널을 부팅하기 위해 U-Boot를 사용하려고 하는데 커널이 부팅되지 않습니다.
내 부팅 가능한 커널 이미지는 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