linux3.4编译单个模块,Linux3.4内核的基本配置和编译

配置与编译Linux3.4内核:针对ARM平台的实践指南
本文由李昕撰写,讲解如何在Ubuntu10.10环境下,为FS_S5PC100平台配置和编译Linux3.4内核。涉及到的步骤包括:解压内核源码、修改Makefile以设置CPU架构和交叉编译工具链、使用menuconfig配置内核选项,如添加NEON驱动和Android所需驱动,以及编译和测试内核镜像。

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

Linux3.4内核的基本配置和编译

作者:李昕,华清远见研发中心讲师。

了解Linux3.4内核的特性及新增功能,掌握Linux内核的编译过程及Linux内核配置选项的内容。

【实验环境】

●主机:Ubuntu 10.10 (64bit);

●目标机:FS_S5PC100平台;

●交叉编译工具链:arm-eabi-4.4.0(Android4.0.4自带交叉工具链);

【实验步骤】

解压内核

将linux3.4.0_android_goldfish.tar.bz2拷贝到Android源码下并解压;

$ tar xvf linux3.4.0_android_goldfish.tar.bz2

$ cd kernel/goldfish

修改Makefile

打开内核源码顶层的Makefile,修改CPU架构和交叉工具链;

# vim Makefile195行:

195ARCH ?= $(SUBARCH)

196CROSS_COMPILE?= $(CONFIG_CROSS_COMPILE:"%"=%)

为:

# vim Makefile195行:

195ARCH ?= arm

196CROSS_COMPILE?= ../../prebuilt/linux-x86/toolchain/ \

arm-eabi-4.4.0/bin/arm-eabi-

#交叉工具链路径相对于Android源码的路径,具体以实际交叉工具链路径为准

添加配置文件

拷贝Samsung S5PC100标准板配置文件作为FS_S5PC100配置文件,make menuconfig所做的修改也会保存到.config文件中;

$ cp arch/arm/configs/s5pc100_defconfig .config

配置内核

该命令执行时会弹出一个菜单,我们可以对内核进行详细的配置。

$ make menuconfig

●添加NEON驱动

NEON 技术是 ARM Cortex-A 系列处理器的128位SIMD(单指令多数据)体系结构扩展,旨在为消费性多媒体应用提供灵活强大的加速功能,从而明显改善用户体验。它具有 32个寄存器,64位宽(是16个寄存器,128位宽的双倍视图。)

Floating point emulation --->

[*]VFP-format floating point maths

[*] Advanced SIMD (NEON) Extension support

●添加Android所需要的驱动

Device Drivers --->

[*] Staging drivers --->

Android --->

[*] Android Drivers

[*] Android Binder IPC Driver

[*] Enable the Anonymous Shared Memory Subsystem

Android log driver

[*] Android RAM buffer console

[*] Persistent function tracer

[*] Timed output class driver (NEW)

Android timed gpio driver

[*] Android Low Memory Killer

Android Switch class support --->

修改文件

注释编译器不支持的调试语句。

# vimmm/page-writeback.c +1772

1772 //BUG_ON(PageWriteback(page));

编译内核

执行编译命令编译内核,如果主机配置多核CPU可以使用多线程编译;

$ make zImage–jn # n 代表编译线程的数量

通过上述操作我们能够在arch/arm/boot目录下生成一个zImage文件,这就是经过压缩后的内核镜像。

测试

拷贝内核镜像到TFTP目录。连接串口,开发板上电,测试内核,可以看到内核启动的打印信息。

10ba0b623a3be5650bcb6a4cac790d53.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值