现在的位置: 首页 > 综合 > 正文

内核移植错误:Uncompressing Linux…………………………. done, booting the kernel

2013年04月15日 ⁄ 综合 ⁄ 共 954字 ⁄ 字号 评论关闭
Uncompressing Linux............................... done, booting the kernel.
2008-06-29 20:40

移植内核时总是出现问题:Uncompressing Linux................................................................ done, booting the kernel.

这个问题困扰了两天半了,今天终于解决了,linux系统也移植成功了,现将这种情况的解决办法跟大家分享一下:

Uncompressing Linux................................................................ done, booting the kernel.

就不动了,以前用2.6.8.1内核是可以启动的。

re:命令行的console参数错了,应该为console=ttySAC0,不是console=ttyS0。

    因为2.6对2410的串口支持已经很好了,使用默认配置的话就不要去怀疑串口驱动了。问题出在命令行上,有人说我将默认的命令行改成了console=ttySAC0也还是不行。这只能说明改动了默认的命令行,只有在bootloader没有传递命令行参数给内核的时候才起作用。如果你的bootloader启动过2.4的内核,命令行参数肯定是不对的,在bootloader中将命令行改了就行了。例如:console=ttySAC0,115200 root=/dev/ram init=/linuxrc rw initrd=0x30008000,0x320000 

    因为烧写bootlader麻烦,时间长,调试阶段不建议修改bootloader。我将内核中的arch/arm/kernel/setup.c文件中的parse_tag_cmdline()函数中的内容注释掉,并且配置正确的CONFIG_CMDLINE参数,即可运行。以后每当改变内核参数只要改变CONFIG_CMDLINE就可以了。(CONFIG_CMDLINE这个值可以在make menuconfig中配置,2.6.11版本和2.6.14版本配置位置有所不同,请注意).

 

抱歉!评论已关闭.