Linux内核裁剪步骤.pdf

Linux内核裁剪步骤.pdf

ID:48128857

大小:233.18 KB

页数:24页

时间:2019-11-28

Linux内核裁剪步骤.pdf_第1页
Linux内核裁剪步骤.pdf_第2页
Linux内核裁剪步骤.pdf_第3页
Linux内核裁剪步骤.pdf_第4页
Linux内核裁剪步骤.pdf_第5页
资源描述:

《Linux内核裁剪步骤.pdf》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、0引言微处理器的产生为价格低廉、结构小巧的CPU和外设的连接提供了稳定可靠的硬件架构,这样,限制嵌入式系统发展的瓶颈就突出表现在了软件方面。尽管从八十年代末开始,已经陆续出现了一些嵌入式操作系统(比较著名的有Vxwork、pSOS、Neculeus和WindowsCE)。但这些专用操作系统都是商业化产品,其高昂的价格使许多低端产品的小公司望而却步;而且,源代码封闭性也大大限制了开发者的积极性。而Linux的开放性,使得许多人都认为Linux非常适合多数Intemet设备。Linux操作系统可以支持不同的设备和不同的配置。Linux对厂商不偏不倚,而且成本极低,因而很快成为

2、用于各种设备的操作系统。嵌入式Linux是大势所趋,其巨大的市场潜力与酝酿的无限商机必然会吸引众多的厂商进入这一领域。1嵌入式Linux操作系统Linux为嵌入操作系统提供了一个极有吸引力的选择,它是个和Unix相似、以核心为基础、全内存保护、多任务、多进程的操作系统。可以支持广泛的计算机硬件,包括X86、Alpha、Sparc、MIPS、PPC、ARM、NEC、MOTOROLA等现有的大部分芯片。Linux的程序源码全部公开,任何人都可以根据自己的需要裁剪内核,以适应自己的系统。文章以将Linux移植到ARM920T内核的s3c2410处理器芯片为例,介绍了嵌入式Lin

3、ux内核的裁剪以及移植过程,文中介绍的基本原理与方法技巧也可用于其它芯片。2内核移植过程2.1建立交叉编译环境交叉编译的任务主要是在一个平台上生成可以在另一个平台上执行的程序代码。不同的CPU需要有不同的编译器,交叉编译如同翻译一样,它可以把相同的程序代码翻译成不同的CPU对应语言。交叉编译器完整的安装涉及到多个软件安装,最重要的有binutils、gcc、glibc三个。其中,binutils主要用于生成一些辅助工具;gcc则用来生成交叉编译器,主要生成ARM—Linux—gcc交叉编译工具;glibc主要是提供用户程序所使用的一些基本的函数库。自行搭建交叉编译环境通常

4、比较复杂,而且很容易出错。本文使用的是开发板自带的交叉编译器,即CROSS一3.3.4.交叉编译器,该编译只需将光盘中的ARM—Linux一3.3.4.bar.bz2用tarixvfARM—Linux一3.3.4.bar.bz2命令解压到/usr/local/ARM下即可。2.2修改Makefile修改内核目录树根下的Makefile时,可先指明交叉编译器。设计时,可向Makefile中添加如下内容:ARCH?=ARMCROSS_COMPILE?=ARM-Linux-然后设置PATH环境变量,使其可以找到其交叉编译工具链,然后运行vi~/.bashrc,再添加如下内容:e

5、xportPATH=/usr/local/arln—Linux一3.4.4/bin:$PATH2.3设置Flash分区此处一共要修改3个文件,分别如下:(1)在arch/ARM/machs3c2410/devs.c文件中添加如下内容:#include#include1#include然后再建立NandFlash分区表;同时建立NandF1ash芯片支持,最后加入NandFlash芯片并支持到NandFlash驱动。另外,还要修改arch/ARM/machs

6、3c2410/devs.C文件中的s3c_device_nand结构体变量,同时添加对dev成员的赋值。(2)指定启动时初始化内核启动时,可以依据对分区的设置进行初始配置,然后修改arch/am4mach—s3c2410/machsmdk2410.e文件下的smdk2410_devices[],指明初始化时包括在前面所设置的flash分区信息,并添加如下语句:&s3c_device_nand,(3)禁止FlashECC校验内核一般都是通过UBOOT写到NandFlash的。UBOOT则通过软件ECC算法来产生ECC校验码,这与内核校验的ECC码不一样,内核中的ECC码是由

7、S3C2410中NandFlash控制器产生的。所以,这里选择禁止内核ECC校验。修改drivers/mtd/nand/s3c2410.C下的s3c2410_nand_init_chip()函数,可在该函数体最后加上如下一条语句:chip->eccmode=NAND_ECC_NONE;3内核配置过程3.1支持启动时挂载devfs为了使内核支持devfs以及在启动且在/sbin/init运行之前能自动挂载/dev为devfs文件系统,应修改fs/Keonfig文件,找到menu“Pseudofilesystems”并添加如下语句

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。