天桥陨石分享 http://blog.sciencenet.cn/u/chrujun 让地球物理仪器飞起来

博文

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

已有 7873 次阅读 2010-6-5 20:49 |个人分类:地球物理及仪器|系统分类:科研笔记| 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进行读写。





https://blog.sciencenet.cn/blog-39626-332499.html

上一篇:让LINUX内核支持大容量NAND Flash
下一篇:下载和修改LINUX内核代码
收藏 IP: .*| 热度|

2 姚红春 邓景华

发表评论 评论 (0 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-7-31 07:24

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部