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烧写到开发板,启动如下:

linux2.6.30.4内核移植(5)——构建根文件系统(yaffs文件系统格式的镜像)的更多相关文章
- linux2.6.30.4内核移植(3)——yaffs文件系统移植
内核源码:linux2.6.30.4 交叉编译工具:3.4.5 移植linux内核至:TQ2440 工作基础:http://www.cnblogs.com/nufangrensheng/p/36696 ...
- linux2.6.30.4内核移植(2)——Nand Flash驱动移植
内核源码:linux2.6.30.4 交叉编译工具:3.4.5 移植linux内核至:TQ2440 工作基础:http://www.cnblogs.com/nufangrensheng/p/36696 ...
- linux2.6.30.4内核移植(1)
内核源码:linux2.6.30.4 交叉编译工具:3.4.5 移植linux内核至:TQ2440 1.进入内核顶层目录,修改顶层Makefile,大概在193和194行,将ARCH和CROSS_CO ...
- linux2.6.30.4内核移植(7)——插入hello world驱动模块
详细步骤参考自:http://www.cnblogs.com/wanyao/archive/2011/11/21/2257628.html 过程比较顺利,结果截图如下: 这里需要注意的是:http:/ ...
- linux2.6.30.4内核移植(6)——移植应用程序hello world常见的错误:-bin/sh ./hello not found
通常在开发板上搭建好开发平台后,我们会试着移植一个最简单的应用程序Hello world来测试一下.初次尝试,我们经常会碰到的问题就是,在开发板上运行./hello的时候出错:-bin/sh ./he ...
- linux2.6.30.4内核移植(4)——完善串口驱动
在内核里支持两个串口,也就是芯片的UART0和UART1,而UART2的驱动是针对红外接口的,而不是串口驱动,这里将其修改为串口驱动. 一.修改内核源码arch/arm/mach-s3c2440/ma ...
- 【Linux驱动器】Linux-2.6.20.4内核移植
最近一段时间以来一直学习TQ2440内核开发板移植.嫁接驱动器. 真诚地相信这方面的知识有很大的困难,.但有一种观点认为,从看,难度越大,的提升空间的能力更大! ! 1.解压源代码 从Internet ...
- Linux内核移植
实验步骤:(1)准备工作(2)修改顶层Makefile(3)修改falsh 分区(4)配置编译内核 下面以Linux2.6.30.4内核移植到gec2440为例: 一.准备工作:建立工作目录,下载内核 ...
- ARM-Linux内核移植之(二)——Linux2.6.22内核移植
平台:mini2440 交叉工具链:arm-linux-gcc-4.3.2 一.内核移植基本知识 移植内核也叫构建BSP(boardsupprot packet).BSP的作用有两个:一是为内核运行 ...
随机推荐
- ios7下UISearchBar UITextField 光标不出现的问题
app支持ios7,在UINavBar 里面加入搜索框,结果光标一直出现不了.在overstackflow网站搜索了一下,竟然有人遇到相同的问题.... 解决办法如下: searchBar.tintC ...
- arcgis10.1安装出现1606错误怎么办?找不到盘符
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ESRIHKEY_LOCAL_MACHINE\SOFTWARE\ESRIHKEY_CURRENT_USER\Softwa ...
- WebApp分析建模的工具
最近Web工程课在学习分析建模工具的内容.这周作业就写我对WebApp建模工具的认识.Web建模工具有很多,但是专门为分析开发的却相对很少.下面介绍在进行分析时可以用的四类工具. UML工具.使用统一 ...
- SharePoint PowerShell 修改计时器任务
前言 最近碰到需要修改计时器任务的需求,然后搜了搜,发现有powershell命令可以搞定,记录一下. $timerJob = Get-SPTimerJob -Identity "DocID ...
- [Hook] 免root,自己进程内,binder hook (ClipboardManager)
cp from : http://weishu.me/2016/02/16/understand-plugin-framework-binder-hook/ Android系统通过Binder机制给应 ...
- Check failed: mdb_status == 0 (13 vs. 0) Permission denied
文件权限问题. chown或者chmod即可 另外注意lmdb文件的权限
- Python生成文件列表
https://blog.csdn.net/ZWX2445205419/article/details/73527857 改进 # coding=utf-8 import os def makeFil ...
- 微信Access Token 缓存方法
微信Access Token默认缓存是2小时,但是需要特别强调,微信服务号和微信企业号缓存并不相同. (1)微信公众号号:每次Http请求Access Token 系统会返回不同的Token,并附带超 ...
- 使用C++ Builder XE5获取Sensor值之Light Sensor
献上代码C++代码,仅供參考. 若使用Delphi.请參考文献,http://blogs.embarcadero.com/davidi/2013/12/02/43032/ 一定记得要安装FireMon ...
- OpenGL教程(25) skybox
原帖地址:http://ogldev.atspace.co.uk/www/tutorial25/tutorial25.html Background A skybox is a technique t ...