linux2.6.30.4内核移植(5)——构建根文件系统(yaffs文件系统格式的镜像)
一、首先编译并安装BusyBox
这里使用的交叉编译器还是3.4.5.
注意:编译内核、编译BusyBox以及编译文件系统中的所有应用程序的交叉编译器要使用同一个版本。
1、获取BusyBox源码
下载地址:http://www.busybox.net/downloads/
2、修改并配置BusyBox
解压BusyBox,进入到其顶层目录,修改顶层Makefile:
将164行修改为:
CROSS_COMPILE ?= arm-linux-
将189行修改为:
ARCH ?= arm
3、执行make menuconfig,进入配置单:
需要注意的配置选项如下:
Busybox Settings—>General Configuration:
Busybox Settings—>Build Options:
Busybox Settings—>Installation Options:
Busybox Settings—>Busybox Library Tuning:
Linux Module Utilities—>
保存配置并推出配置单。
4、执行命令make;make install编译安装Busybox。
编译安装结束后,会在顶层目录下生成一个名为_install的目录,该目录内容如下:
二、构建根文件系统
1、选择一个合适的地方创建一个目录root_2.6.30.4。
2、复制Busybox中生成的_install目录下的bin、sbin、usr和linuxrc到root_2.6.30.4目录下。
3、在root_2.6.30.4目录下新建dev、etc、home、lib、mnt、opt、proc、root、sddisk、sys、tmp、udisk、var和web目录,同时在原有的usr目录下新建lib和share目录。
4、添加内容:
在dev目录下:
在etc目录下:
…
这里要添加的内容比较多,所以就直接复制了一个天嵌做好的文件系统进行适当修改。
5、使用mkyaffs2image软件制作跟文件系统:
mkyaffs2image root_2.6.30.4/ root.bin
将root.bin烧写到开发板,启动如下:
最新文章
- ASP.Net MVC4+Memcached+CodeFirst实现分布式缓存
- 导入一些常用命令比如(rz),关闭防火墙外面可以访问
- JS编写全选,复选按钮
- poj2488 bfs
- webRTC-实时流媒体的福音
- 12、android socket使用demo:网络聊天
- Linux下用freetds连接mssql中文乱码的问题【参考2】
- IOI1998 hdu1828 poj1177 Picture
- winform中获取Properties窗口的值.
- python概要
- Codeforces Round #429 (Div. 1) C. On the Bench(dp + 组合数)
- 5.1、按键SW1控制LED1亮灭
- day88
- laravel的firstOrCreate的作用:先查找表,如果有就输出数据,如果没有就插入数据
- Xilinx SDK编译Microblaze时出错
- LINE学习
- Debuggex – 超好用的正则表达式可视化调试工具
- SQL复制表操作
- Python 扩展知识:编程习惯
- iOS开发-多线程编程技术(Thread、Cocoa operations、GCD)
热门文章
- C#编程(四十四)----------string和stringbuilder
- arcgis导oracle多步操作产生错误。请检查每一步的状态值。"; 如何解决?
- 不规则形状的Mask动画
- Matlab中使用LaTeX
- [转]12种JavaScript MVC框架之比较
- python的日志模块:logging;django的日志系统;django日志输出时间修改
- 案例导入和导出Scott用户
- the network bridge on device vmnet0 is not running解决方法
- [leetcode]Permutations @ Python
- 如何回收vRealize Automation里被分配出去了的IP地址