一步一步制作yaffs/yaffs2根文件系统(二)---安装BusyBox,构造/bin、/sbin、/usr、linuxr
开发环境:Ubuntu 12.04
开发板:mini2440 256M NandFlash 64M SDRAM
交叉编译器:arm-linux-gcc 4.4.3点此可下载
BusyBox版本:busybox-1.13.3 点此可下载
yaffs制作工具:mkyaffsimage
yaffs2制作工具:mkyaffs2image(适合64M)、mkyaffs2image-128(适合128M以上,我的256M的用这个)
接上一节:http://blog.csdn.net/mybelief321/article/details/9995199
1、首先,将咱们制作根文件系统的BusyBox和mkyaffs2image-128M存放在一个文件夹内,如下
2、执行命令:mkdir rootfs 建立一个文件夹rootfs,咱们的根文件目录将建立在这里,要记得这个目录的绝对路径奥,我的路径为/home/song/rootfs_make/rootfs,咱们在安装BusyBox的时候要使用这个路径。
配置BusyBox
3、执行命令:tar -zxf busybox-1.13.3.tar.gz 解压咱们的busybox (注意,该命令前边千万不要加sudo啊!)
4、BusyBox集合了几百个命令,在一般系统中并不需要全部使用。可以通过配置 BusyBox来选择这些命令、定制某些命令的功能(选项)、指定BusyBox的连接方法(动态连接还是静态连接)、指定BusyBox的安装路径。执行命令:cd busybox-1.7.0/ 进入该文件夹
5、执行命令:make menuconfig 进入图形配置界面。
6、下面仅介绍一些常用的选项,以后可以自己添加补全。
Busybox Settings --->
Busybox Library Tuning --->
[*] Fancy shell prompts
选择Facncy Shell prompts一项,这可以使我们在profile这个文件中设置的命令提示符PS1中的转义字符生效
7、指定是否使用静态连接
Busybox Settings --->
Build Options --->
[ *] Build BusyBox as a static binary (no shared libs)
这里选择静态链接,以静态链接的方式生成需要的命令!我按照韦老师上使用动态链接没有成功
8、选择交叉编译工具
Busybox Settings --->
Build Options --->
() Cross Compiler prefix
进入Cross Compiler prefix中编辑交叉编译工具前缀为arm-linux-,如下图
9、支持mdev。这可以很方便地构造 /dev目录,并且可以支持热插拔设备。另外,为方便调试,选中mount、umount命令,并让mount命令支持NFS(网络根文件系统)
Linux System Utilities --->
[*] mdev
[*] Support /etc/mdev.conf
[*] Support command execution at device addition/removal
[*] mount
[*] Support mounting NFS file systems
[*] umount
[*] Support option -a
以上这些选项默认都是选择的。
10、支持Initttab。
Init Utilities --->
[*] Support reading an inittab file
选择这一项,可以使我们放在/etc下的inittab这个文件被busybox 的init进程解析,如下图
以上这些选项,默认的好像都选上了!
11、配置完这些后,退出,选择YES保存
编译和安装BusyBox
12、执行命令:make 编译Busybox
出现下图,编译完成
友情提示:在这里不要随便使用sudo,我前边用的sudo makemenuconfig 、sudo vim Makefile 、sudo make结果出现了下边的提示错误,很可恶的!!!
13、执行命令:make CONFIG_PREFIX=/home/song/rootfs_make/rootfs install 将BusyBox安装到你创建的rootfs文件夹内
出现下图表示已经安装完成
14、执行命令:cd ../rootfs/ 进入咱们的rootfs文件夹内,可以看到BusyBox已经安装到了此目录,自动生成了/bin /sbin /usr linuxrc这4个目录和文件
下一节:http://blog.csdn.net/mybelief321/article/details/10007075
一步一步制作yaffs/yaffs2根文件系统(二)---安装BusyBox,构造/bin、/sbin、/usr、linuxr的更多相关文章
- 一步一步制作yaffs/yaffs2根文件系统(七)---真挚地道歉以及纠正前边出现的错误!
接上一节http://blog.csdn.net/mybelief321/article/details/10040939 说实话,我当时写这个系列的博文的时候,感觉对BusyBox算是有点了解,直到 ...
- 一步一步制作yaffs/yaffs2根文件系统(四)---构建etc、dev等剩余目录
开发环境:Ubuntu 12.04 开发板:mini2440 256M NandFlash 64M SDRAM 交叉编译器:arm-linux-gcc 4.4.3点此可下载 BusyBox版本: ...
- 一步一步制作yaffs/yaffs2根文件系统(一)---储备好基础知识再打
开发环境:Ubuntu 12.04 开发板:mini2440 256M NandFlash 64M SDRAM 交叉编译器:arm-linux-gcc 4.4.3点此可下载 BusyBox版本: ...
- 一步一步制作yaffs/yaffs2根文件系统(三)---使用glibc库构造 /lib
开发环境:Ubuntu 12.04 开发板:mini2440 256M NandFlash 64M SDRAM glibc库:点此下载 交叉编译器:arm-linux-gcc 4.4.3点此可下 ...
- Yaffs2根文件系统制作
Yaffs2根文件系统制作 环境: 交叉编译环境:4.4.6 开发平台:s3c2416 1,编译busybox 获取busybox源码busybox-1.17.2.tar (http://www.bu ...
- 制作ramdisk-u.img根文件系统
具体步骤如下:1.解压内核源码树解压linux-2.6.29-mini2440-20090708.tgz到自己的工作目录,会生成一个友善之臂修改过的并且有几个mini2440默认配置文件的内核源码目录 ...
- 使用BusyBox制作嵌入式Linux根文件系统
STEP 1:构建目录结构 创建根文件系统目录,主要包括以下目录/dev /etc /lib /usr /var /proc /tmp /home /root /mnt /bin /sbin ...
- yaffs2根文件系统的构建过程
基于BusyBox-1.19.2 (以其它作者的作为参考) 1. 下载BusyBox的源码 http://busybox.net/ 2. 解压#tar xvzf busybox-1.19.2.tgz ...
- Busybox制作ARM(iTOP4412) 根文件系统
本记录来源与自身操作过程. 1.制作环境 PC环境:外部Winows8.1 内部则为vmware11+ubuntu12.04 嵌入式设备:iTOP4412 交叉工具:arm-none-linux-gn ...
随机推荐
- Jxl操作excel的demo
网上很多例子,都是用Jxl读或者写excel,本文实现的功能就是将数据源in.xls的第几行第几列数据写入到out.xls的第几行第几列,不覆盖out.xls其他原有的数据. 需要导入的包:jxl.j ...
- php计算时间差的方法
一个简单的例子:计算借书的天数,根据每天的日期进行计算. (1) 有数据库的情况 MSSQL可以使用触发器!用专门计算日期差的函数datediff()便可. MYSQL那就用两个日期字 ...
- CentOS6.5 MySQL 配置设置总结笔记
三.登录MySQL 登录MySQL的命令是mysql, mysql 的使用语法如下: mysql [-u username] [-h host] [-p[password]] [dbname] u ...
- javascript跨域解决方案
最近遇到了https跨域访问http域的问题,很多朋友理所当然的认为简单,问题是https跨域访问到http域上的资源,会进行相互通信,没有解决该问题,只能把外部资源扔到了新浪的sae上,通过http ...
- 《Visual C++ 程序设计》读书笔记 ----第8章 指针和引用
1.&取地址:*取内容. 2.指针变量“++”“--”,并不是指针变量的值加1或减1,而是使指针变量指向下一个或者上一个元素. 3.指针运算符*与&的优先级相同,左结合:++,--,* ...
- webstorm ftp发布问题
通过webstorm发布遇到问题 Invalid descendent file name "/". 解决方案为 点击[Advanced options]勾选[always use ...
- Python+PyQt 数据库基本操作
Sqlite: 使用Python的sqlite3: 需要注意下commit方式与qt稍有不同 import sqlite3 class DBManager(): def __init__(self): ...
- Mac技巧之让U盘、移动硬盘在苹果电脑和Windows PC都能识别/读写,且支持4GB大文件:exFAT格式
如果您的 U 盘.移动硬盘既要用于 PC 又要用于苹果电脑,Mac OS X 系统的 HFS+ 和 Windows 的 NTFS 格式显然都不行……HFS+ 在 Windows 下不识别,NTFS 格 ...
- 备份了一个nginx的虚拟主机配置文件报错
[root@localhost vhost]# service nginx restart 停止 nginx:[确定] 正在启动 nginx:nginx: [warn] conflicting ser ...
- 微软职位内部推荐-Sr SDE-MODC-Beijing
微软近期Open的职位: JOB TITLE: Senior Software Design EngineerDEPARTMENT: Microsoft Office Division ChinaIM ...