首页 | Linux 基础 | 资讯动态 | Linux 应用 | Linux 服务器 | Linux 开发 | Linux 安全 | 专题 | 联盟论坛
  当前位置:主页>Linux 开发>Linux 嵌入式>文章内容
嵌入式Linux操作系统启动信息完全注释
来源:www.unix5.com 作者:riechelr_hl 发布时间:2007-06-08  

摘要

我们在这里讨论的是对嵌入式linux系统的启动过程的输出信息的注释,通过我们的讨论,大家会对嵌入式linux启动过程中出现的、以前感觉熟悉的、但却又似是而非的东西有一个确切的了解,并且能了解到这些输出信息的来龙去脉。

嵌入式linux的启动信息是一个很值得我们去好好研究的东西,它能把一幅缩影图呈现在我们面前,来指导我们更加深入地理解linux内核。

关键字:

linux,嵌入式,启动,bootloader

作为一名嵌入系统开发者,你一定遇到过下面的情景:

在某论坛上看到一篇帖子,上面贴着嵌入式linux开发板启动时的有关信息,然后大家在帖子里讨论着这个启动过程中出现的问题,随机举例如下:

 

Linux version 2.4.20-uc0 (root@Local) (gcc version 2.95.3 
20010315 (release)(ColdFire patches - 20010318 from http://f 
(uClinux XIP and shared lib patches from http://www.snapgear.com/)) #20 三 6月 1 
8 00:58:31 CST 2003 
Processor: Samsung S3C4510B revision 6 
Architecture: SNDS100 
On node 0 totalpages: 4096 
zone(0): 0 pages. 
zone(1): 4096 pages. 
zone(2): 0 pages. 
Kernel command line: root=/dev/rom0 
Calibrating delay loop... 49.76 BogoMIPS 
Memory: 16MB = 16MB total 
Memory: 14348KB available (1615K code, 156K data, 40K init) 
Dentry cache hash table entries: 2048 (order: 2, 16384 bytes) 
Inode cache hash table entries: 1024 (order: 1, 
Mount-cache hash table entries: 512 (order: 0, 4096 bytes) 
Buffer-cache hash table entries: 1024 (order: 0, 4096 bytes) 
Page-cache hash table entries: 4096 (order: 2, 16384 bytes) 
POSIX conformance testing by UNIFIX 
Linux NET4.0 for Linux 2.4 
Based upon Swansea University Computer Society NET3.039 
Initializing RT netlink socket 
Starting kswapd 
Samsung S3C4510 Serial driver version 0.9 (2001-12-27) with no serial options en 
abled 
ttyS00 at 0x3ffd000 (irq = 5) is a S3C4510B 
ttyS01 at 0x3ffe000 (irq = 7) is a S3C451 
Blkmem copyright 1998,1999 D. Jeff Dionne 
Blkmem copyright 1998 Kenneth Albanowski 
Blkmem 1 disk images: 
0: BE558-1A5D57 [VIRTUAL BE558-1A5D57] (RO) 
RAMDISK driver initialized: 16 RAM disks of 1024K size 1024 blocksize 
Samsung S3C4510 Ethernet driver version 0.1 (2002-02-20) <mac@os.nctu.edu.tw> 
eth0: 00:40:95:36:35:34 
NET4: Linux TCP/IP 1.0 for NET4.0 
IP Protocols: ICMP, UDP, TCP 
IP: routing cache hash table of 512 buckets, 4Kbytes 
TCP: Hash tables configured (established 1024 bind 1024) 
VFS: Mounted root (romfs 
Freeing init memory: 40K

上面的这些输出信息,也可能包括你自己正在做的嵌入式linux开发板的输出信息,其中的每一行,每一个字的含义,你是否深究过,或者说大部分的含义你能确切地知道的?本人想在这里结合本人在实践中一些体会来和广大嵌入式linux的开发者一起读懂这些信息。

我们在这里把以一个真实的嵌入式linux系统的启动过程为例,来分析这些输出信息。启动信息的原始内容把用标记标出,以区别与注释。

嵌入式linux的启动主要分为两个阶段:

① 第一部分bootloader启动阶段

② 第二部分linux 内核初始化和启动阶段

Bootloader头信息,版本,编译时间等,这个因不同的bootloader的设计而有所不同,由此你能看出bootloader的版本信息,有很多使用的是通用的bootloader,如u-boot,redboot等。

 

Loaded to 0x90060000

把bootloader加载到内存ram中的0x90060000处,即把bootloader加载到内存的高端地址处。Linux内核把被bootloader加载到0x90090000处:

 

Found boot configuration

共6页: 上一页 1 [2] [3] [4] [5] [6] 下一页
 
如果您对本文有任何疑问或者建议,请到论坛讨论区发表您的意见: >> 论坛入口
[收藏] [推荐] [评论(0条)] [返回顶部] [打印本页] [关闭窗口]  
  热点文章
·嵌入式Linux系统下图形库讲解及
·Qt/Embedded在嵌入式Linux中的应
·嵌入式Linux:uClinux操作系统移
·嵌入式系统 Boot Loader 技术内
·嵌入式 用户图形接口uC/GUI的简
·基于GTK+和X的GUI在嵌入式Linux
·嵌入式Linux系统下的MiniGUI研究
·Linux串口上网的简单实现 (图解)
·在Ubuntu上建立Arm Linux的开发
·Linux 2.6 内核的嵌入式系统应用
·嵌入式Linux在Blackfin处理器上
·嵌入式uClinux的内核结构和开发
  相关文章
·嵌入式系统中的模块动态加载技术
·嵌入式操作系统的两种远程调试方
·嵌入式Linux操作系统的网络存储
·RTOS设备驱动向嵌人式Linux的移
·在嵌入式Linux增加自己的设备驱
·嵌入式Linux系统的动态电源管理
·学习嵌入式Linux系统的笔记和体
·嵌入式Linux:uClinux操作系统移
·精华:学习嵌入式Linux的笔记和
·Linux串口上网的简单实现 (图解)
·嵌入式Linux在Blackfin处理器上
·嵌入式 用户图形接口uC/GUI的简

本站信息源至:互联网络,均为学习,交流所用,如有版权问题,请联系我们.
站长QQ:397422079 E_mail:riechelr_hl@unix5.com
转载本站内容请注明原作者名.谢谢!