Linux内核编译与裁剪(ARM版)
来源:互联网 发布:数据分析相关专业 编辑:程序博客网 时间:2024/06/04 18:05
http://blog.csdn.net/jiadebin890724/article/details/7605183
系统:ubuntu10.10
1、首先建立arm-linux-gcc交叉编译环境:
下载arm-linux-gcc-3.4.1.tar.bz2
复制,解压
#cd /
复制arm-linux-gcc-3.4.1.tar.bz2到当根目录
#tar jxvf arm-linux-gcc-3.4.1.tar.bz2
这样就会产生一个/usr/local/arm目录了。
2、到www.kernel.org上下载linux-2.6.30.4.tar.bz2源码包,并在主目录解压缩。
检查顶级Makefile,找到ARCH和CROSS_COMPILE的定义,改为:
ARCH?= arm
CROSS_COMPILE?= arm-linux-
然后需要修改PATH:
在主目录的.profile文件的最后加上export PATH=$PATH:/usr/local/arm/3.4.1/bin/
3、指定启动时初始化
kernel 启动时依据我们对分区的设置进行初始配置
修改arch/arm/machs3c2410/machsmdk2410.c 文件
vi arch/arm/machs3c2410/machsmdk2410.c
修改smdk2410_devices[].指明初始化时包括我们在前面所设置的flash 分区信息
static struct platform_device *smdk2410_devices[] __initdata ={
&s3c_device_usb,
&s3c_device_lcd,
&s3c_device_wdt,
&s3c_device_i2c,
&s3c_device_iis,
/* 添加如下语句即可*/
&s3c_device_nand,
};
保存,退出。
1.4 配置内核
支持启动时挂载devfs
为了我们的内核支持devfs 以及在启动时并在/sbin/init 运行之前能自动挂载/dev为 devfs 文件系统, 修改
fs/Kconfig 文件
vi fs/Kconfig
找到menu "Pseudo filesystems"
添加如下语句:
config DEVFS_FS
bool "/dev file system support (OBSOLETE)"
default y
config DEVFS_MOUNT
bool "Automatically mount at boot"
default y
depends on DEVFS_FS
4、 配置内核产生.config文件
cp arch/arm/configs/s3c2410_defconfig .config
make menuconfig
此时会提示缺少libncurses,执行:
sudo apt-get install libncurses5-dev
又提示缺少,执行:
sudo apt-get install -f
然后:
sudo apt-get install libncurses5-dev
然后makemenuconfig
就行了。
弹出:
这是选择模块的界面,我先没做修改,直接退出,然后执行:
make zImage
编译内核:
编译完成截图:
可以看到,zImage大小为1.8M:
然后再次配置,去掉loadable module support
和networksupport,再次编译:
但是这次生成的zImage大小变为2.5M了。
- ARM版Linux内核编译与裁剪
- Linux内核编译与裁剪(ARM版)
- Linux内核编译与裁剪(ARM版) .
- Linux内核编译与裁剪(ARM版)
- Linux内核编译与裁剪(ARM版)
- 嵌入式Linux内核配置、裁剪与编译浅析(ARM版)
- 基于ARM的嵌入式linux 内核的裁剪与移植
- ARM在嵌入式linux内核裁剪与移植的应用
- [转载]基于ARM的linux内核裁剪与移植
- Linux内核裁剪与编译(上篇)--基于2.6.30内核
- Linux内核裁剪与编译(下篇)--基于2.6.30内核
- Android内核编译与裁剪
- Android内核编译与裁剪
- 编译arm-linux内核
- 编译 Linux 内核-ARM
- linux+arm 编译内核
- linux内核简介,配置裁剪,编译
- Android内核编译、裁剪与运行
- .htaccess Apache服务器中的一个配置文件,它负责相关目录下的网页配置
- 快速集成App中顶部标题滚动条
- App推广
- 微软云(Azure) Table Storage一些奇怪的问题
- 流量调整和限流技术
- Linux内核编译与裁剪(ARM版)
- Objective-C关于非ARC模式下的对象引用计数
- Android掌中游斗地主游戏源码完整版
- Sublime Text 3 (Build 3103) 注册码
- 怎么在ZBrush中通过遮罩得到子物体
- [easyui]总结一下目前项目里遇到的小麻烦
- System.AccessViolationException: 尝试读取或写入受保护的内存。这通常指示其他内存已损坏
- Java WebService 简单实例 (图文详解)
- 文通Android平台证件识别SDK