移植内核时总是出现问题: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版本配置位置有所不同,请注意). |