“启动内核......”后Linux-2.6.10 MIPS重启

时间:2014-01-13 09:36:00

标签: linux-kernel mips u-boot

我正在使用带有ramdisk的旧Linux-2.6.10用于MIPS arch。为了调试目的,我需要扩大我的initrd。所以,我这样做了。但是对于大的initrd(~2.1MB),我的主板会重新启动。

MY-BOARD # run bootnet
Using Board Eth. device
TFTP from server 192.168.1.10; our IP address is 192.168.1.1
Filename 'uImage'.
Load address: 0x80800000
Loading: #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         ##################################################
done
Bytes transferred = 3247396 (318d24 hex)
## Booting image at 80800000 ...
   Image Name:   Linux-2.6.10 with ramdisk
   Created:      2014-01-13   8:27:39 UTC
   Image Type:   MIPS Linux Kernel Image (gzip compressed)
   Data Size:    3247332 Bytes =  3.1 MB
   Load Address: 80100000
   Entry Point:  8057b000
   Verifying Checksum ... OK
   Uncompressing Kernel Image ... OK

Starting kernel ...


Error: Boot failed!

我的u-boot环境:

Type "printenv" to view boot options.

Hit any key to stop autoboot:  0
MY-BOARD # printenv
bootargs=console=ttyS0,115200 nofpu mem=30M root=/dev/ram0 rw
bootcmd=cp.b 0xad040000 0x80800000 0x400000; bootm 0x80800000
bootdelay=3
baudrate=115200
ethaddr=00:06:0D:00:00:00
ipaddr=192.168.1.1
serverip=192.168.1.10
preboot=echo; echo Type "printenv" to view boot options.; echo;
netmask=255.255.255.0
u-bootfile=u-boot.bin
prog-ub=run load-ub update-ub
load-ub=tftp 80504000 $(u-bootfile)
update-ub=protect off 1:0-4; cp.b AD000000 80500000 4000; cp.b AD03F000 8053F000 1000; erase 0xAD000000 0xAD03ffff; cp.b 80500000 AD000000 0x40000
imget=tftp 0x80800000 $(imname); erase 0xad000000 0xad7e0000; cp.b 0x80800000 0xad000000 $(filesize)
progkn=tftp 0x80800000 uImage; erase 0xad040000 0xad43ffff; cp.b 0x80800000 0xad040000 $(filesize)
progjffs=tftp 0x80800000 jffs; erase 0xad240000 0xad53ffff; cp.b 0x80800000
0xad240000 $(filesize)
bootnet=tftp 0x80800000 uImage; bootm 0x80800000
stdin=serial
stdout=serial
stderr=serial
ethact=Board Eth.

Environment size: 980/4092 bytes
MY-BOARD #

有人知道或记得如何解决这个问题吗?我也使用旧的U-Boot 1.1.2。 U-Boot到达“Starting kernel ...”并跳转到内核入口点,即kernel()函数。然后重启(“错误:启动失败!”)。

内核太旧了,它没有用于调试自己的early_printk。 Imho,U-Boot没问题,我错过了一些initrd选项(我做了所有可见的内核.config)。使用小型嵌入式initrd映像(~700kB),Linux启动顺畅。在这两种情况下,initrd都具有相同的大小(8192K)。

p.s。:对不完美的英语感到抱歉。

0 个答案:

没有答案