Linux在ARM上的移植
摘要:本文是基于ARM的平台上进行嵌入式操作系统LINUX的移植,其中ARM选S3C2410。文中首先对Linux操作系统内核进行了介绍,然后对系统引导程序(BootLoader)进行了设计,最后给出了Linux在ARM上的移植过程。
关键字:Linux、ARM、BootLoader、移植
一、Linux操作系统内核
Linux作为一种优秀的操作系统,近几年在嵌入式领域成为了极具潜力的嵌入式操作系统。本文的主要内容是将Linux系统的内核移植到ARM(基于ARM9S3C2410)上。Linux操作系统主要由内核、Shell、文件结构组成。其中内核是系统的心脏,是运行程序和管理磁盘、打印机等硬件设备的核心程序。
(1)Linux内核结构
Linux内核是整个Linux系统的灵魂,负责整个系统的内存管理、进程调度和文件管理。Linux内核与大部分UNIX内核一样是单内核体系结构的,能够根据需要定制内核映像的尺寸,具有很大灵活性,不需要重新编译内核和引导就能检验新的内核组件,这个特性对于嵌入式而言是非常有好处的,方便用户构筑自己的个人内核。Linux内核由5个主要的子系统组成:进程调度、内存管理、虚拟文件系统、网络接口和进程间通信。
(2)Linux内核代码组织结构
本文将对LINUX进行内核移植,其内核代码分布如图所示。
下面分别对其进行说明:
/arch目录包含了目前Linux支持的硬件结构,如i386、alpha、arm等的内核代码;
/drivers目录包含了内核中所有的设备驱动程序;
/fs目录包含了所有的文件系统的代码;
/include目录包含了建立内核代码所需的大部分库文件,这个模块利用其它模块重建内核;
/init目录包含了内核的初始化代码,内核从此处工作;