Linux内核启动卡在Uncompressing Linux... done, booting the kernel[转载]
来源:互联网 发布:上海unity3d培训学校 编辑:程序博客网 时间:2024/05/16 14:20
## Booting kernel from Legacy Image at 32000000 ...
Image Name: Linux-2.6.13-utulinux2440
Created: 2007-11-04 7:12:20 UTC
Image Type: ARM Linux Kernel Image (gzip compressed)
Data Size: 1479835 Bytes = 1.4 MB
Load Address: 30008000
Entry Point: 30008000
Verifying Checksum ... OK
Uncompressing Kernel Image ... OK
Starting kernel ...
1> U-boot中的参数(console)没有传到内核。
2> U-boot的时钟设置不在405MHz,与Kernel的不一致。
3> U-boot中的Machine ID设置的与Kernel不一致。
逐个检查,其中第一项参数传递要求U-boot中有如下宏即可,该情况排除。
#define CONFIG_SETUP_MEMORY_TAGS
#define CONFIG_INITRD_TAG
#define CONFIG_CMDLINE_TAG
第二项时钟设置查看U-boot中的配置,也没有问题。
#if defined(CONFIG_S3C2440)
/* Fout = 405MHz */
#define M_MDIV 0x7f
#define M_PDIV 0x2
#define M_SDIV 0x1
#endif
再查下 Machine ID 。zwolf 提到方法,打开内核的Debug选项
make menuconfig
Kernel hacking --->
[*] Kernel debugging
[*] Kernel low-level debugging functions
[*] Kernel low-level debugging messages via S3C UART
编译运行得到如下提示:
Starting kernel ... Uncompressing Linux................................................................................................................................... done, booting the kernel. Error: unrecognized/unsupported machine ID (r1 = 0x0000016a). Available machine support: ID (hex) NAME 000007cf FriendlyARM Mini2440 development board Please check your kernel config and/or bootloader.
用bdinfo命令查看u-boot端的ID :
arch_number = 0x0000016A
env_t = 0x00000000
boot_params = 0x30000100
DRAM bank = 0x00000000
-> start = 0x30000000
-> size = 0x04000000
ethaddr = 08:08:11:18:12:27
ip_addr = 192.168.10.172
baudrate = 115200 bps
基本上可以确定从U-boot得到的ID为 362 (0x0000016a), 而内核中的ID为 1999 (000007cf)。分别查找。
内核中的 Machine ID 为:
U-boot中对应也有该定义:
二者是一致的,再查找一下ID为362的Machine是 MACH_TYPE_S3C2440,看来是u-boot没有传递正确的ID。grep一下MACH_TYPE_S3C2440,在如下位置找到原因:
/* arch number of S3C2440-Board */
gd->bd->bi_arch_number = MACH_TYPE_S3C2440 ;
#endif
把这里的 MACH_TYPE_S3C2440 改为 MACH_TYPE_MINI2440 就OK了。
- 内核启动卡在Uncompressing Linux..... done, booting the kernel
- Linux内核启动卡在Uncompressing Linux... done, booting the kernel[转载]
- Linux启动卡在,Uncompressing Linux...done, booting the kernel.
- Linux内核启动卡在“Uncompressing Linux... done, booting the kernel.”
- Linux卡在Uncompressing Linux..... done, booting the kernel.
- 移植内核过程中出现界面卡在"Uncompressing Linux... done, booting the kernel."
- 内核移植错误:Uncompressing Linux............................... done, booting the kernel
- Uncompressing Linux...done, booting the kernel解决办法
- Uncompressing Linux..... done, booting the kernel.
- Uncompressing Linux... done, booting the kernel
- Uncompressing Linux... done, booting the kernel
- Uncompressing Linux..... done, booting the kernel.
- Uncompressing Linux..... done, booting the kernel.
- Uncompressing Linux..... done, booting the kernel.
- Uncompressing Linux... done, booting the kernel
- Uncompressing Linux..... done, booting the kernel.
- Uncompressing Linux..... done, booting the kernel.
- Uncompressing Linux... done, booting the kernel.
- 迷茫!工作之余要学点什么呢?
- ES6语法实现模板编译
- vue-router 路由元信息
- if(p&1)是什么意思
- 日本故事有感
- Linux内核启动卡在Uncompressing Linux... done, booting the kernel[转载]
- Windows cmd窗口中文乱码
- 如何获得领导赏识
- matlab中的sparse函数
- 锋利的Jquery(第二版)笔记(三)
- Centos+FTP搭建图片服务器
- AngularJS快速入门6--组件化
- python科学计算开发环境搭建
- GD32F130FXP6学习笔记七:RealView编译器常用特有功能