Linux内核移植及启动流程概述

  Linux内核移植及启动流程概述 

内核作为Linux操作系统的核心,管理着系统线程、进程、资源和资源分配[62]。本系统采用Linux2.6.21版内核,并对其进行重新裁剪,增加或消除对某些特定设备或子系统。 


Linux启动过程也可分为两个部分:ARM架构相关的引导过程和后续的通用启动过程。 

引导阶段由汇编语言编写,首先检查内核是否支持当前架构的处理器,设置页表、使能MMU,然后复制数据段、清除BSS段等,最后才调用start_kernel函数。 

第二阶段才是真正的内核初始化阶段,主要由C语言编写。它也包括两个过程:(1)start_kernel()函数,调用一系列初始化函数,完成kernel本身的设置。(2)作为核心线程的init()函数,完成外设及其驱动程序的加载和初始化。 

 

Linux内核启动过程 

如图所示,当Linux启动初始化完成后,则返回init()函数。init进程读取/etc/inittab文件,并启动运行rc脚本。至此,完成了设置Linux系统环境。 

Linux-2.6.21内核对AT91RM9200体系的开发板有很好的支持,使得移植工作量并不是很多。根据Linux内核启动过程,本文的移植工作包括:修改Linux内核使得它支持本文设计的AT91RM9200硬件平台,并修改相关驱动使得它支持JFFS2和YAFFS2文件系统等,同时修改NOR Flash和NAND Flash设备分区,使得内核能够挂载到NOR Flash上,并且能够对NAND进行读写。

转自:http://www.itzhp.com/cn/caozuoxitong/2010/1102/334.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值