linux内核裁剪

  • 格式:wps
  • 大小:36.50 KB
  • 文档页数:5

下载文档原格式

  / 5
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Linux内核的裁剪和移植的过程就是:根据硬件平台资源等需求来修改一套完整linux源码,添加与硬件资源等相关的功能模块,除去与硬件资源等不相关的功能模块,然后经过交叉编译生成简化的功能齐全的linux内核zImage。

Linux内核裁剪的必备工具:

1、make menuconfig,基于图形界面的内核配置工具,可使配置linux内核更加便捷,为此需要安装libncurses5-dev软件包,这个软件包可在root用户下利用apt-get install libncurses5-dev命令来下载并安装。

2、arm-linux-gcc,交叉编译工具,将配置好的linux内核经过交叉编译生成zImage,使其可以在arm平台上运行。为此需下载arm-linux-gcc-4.3.2.tgz 软件包,使用tar zxvf arm-linux-gcc-4.3.2.tgz -C /命令解压安装,安装完整后为相gcc命令一样使用arm-linux-gcc,则需要在系统环境变量中添加arm-linux-gcc的路径。方法在.bashrc文件中添加export PATH=$PATH: /usr/local/arm/4.3.2/bin。

准备好以上两个工具之后即可完成对linux内核的裁剪,移植就是一个download 的过程。

Linux内核配置选项:

1、下载linux-2.6.39源码,首先修改内核源码根目录的Makefile文件,将第195行修改为ARCH ?= arm ,此处修改说明linux内核将运行在arm平台上,将第196行修改为

CROSS_COMPILE ?= /usr/local/arm/4.3.2/bin/arm-none-linux-gnueabi-, 此处指出使用arm-none-linux-gnueabi-对内核进行交叉编译,也可直接使用arm-linux-,但是在实际编译时提示无法找到arm-linux-编译不通过,原因暂时不明,因此将整个的编译器执行文件的路径给出。

2、修改系统晶振频率,根据硬件平台上连接的晶振频率修改/arch/arm/mach-at91/Board-sam9x5cm.c中的第50行:/* Initialize processor: 12.000 MHz crystal */ at91sam9x5_initialize(12000000);

3、使用root用户登录终端进入源码根目录下,运行make menuconfig命令,即可看到配置linux内核的图形界面。

4、主要是配置一下选项,其中部分默认选项功能不明,选择默认即可:

System Type选项:选择处理器类型

选择MMU-based Paged Memory Management Support支持MMU;

进入ARM system type (Atmel AT91)选项:选择Atmel AT91;

进入Atmel AT91 System-on-Chip选项:选择所有选项;

选择Support Thumb user binaries选择支持16位Thumb指令集;

取消选择Disable I-Cache和Disable D-Cache,使能指令和数据缓存;

其他默认。

Kernel Features选项:

选择Use the ARM EABI to compile the kernel;

选择Allow old ABI binaries to run with this kernel (EXPERIMENAL);

其他默认。

Boot options选项:

选择Auto calculation of the decompressed kernel image address;

其他默认。

Device Drivers选项:

选择进入Memmory Technology Device (MTD)support选项:

选择进入NAND Device Support选项选择Support for NAND Flash / SmartMedia on AT91 and AVR32;

其他默认。

选择进入Block devices选项:

选择Loopback device support选项;

选择RAM block device support选项;

设置Default number of RAM disks 为4;

设置Default RAM disk size (kbytes) 为8192(8M);

其他默认。

选择进入Misc devices选项:

选择Atmel AT32/AT91 Timer/Counter Library选项;

选择TC Block Clocksource选项;

其他默认。

选择进入SCSI device support选项:

选择SCSI device support;

选择 legacy /proc/scsi/ support;

选择 SCSI disk support;

选择 SCSI tape support;

其他默认。

选择进入Network device support选项:

选择Generic Media Independent Interface device support选项;

选择进入PHY Device support and infrastructure选项:选择Driver for Davicom PHYs选项;

选择Driver for MDIO BUS/PHY emulation with fixed speed/link PHY 选项;

选择 Support for bitbanged MDIO buses选项;

其他不选。

选择进入Ethernet(10 or 100Mbit)选项:

选择Atmel MACB support选项;

其他不选。

其他默认。

选择进入Character devices选项:

选择进入Serial drivers选项:

选择AT91/AT32 on-chip serial port support选项;

选择Support for console on AT91/AT32 serial port选项;

其他不选。

其他默认。

相关主题