一步一步制作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 ...
随机推荐
- 第七章 探秘Qt的核心机制-信号与槽
第七章 探秘Qt的核心机制-信号与槽 注:要想使用Qt的核心机制信号与槽,就必须在类的私有数据区声明Q_OBJECT宏,然后会有moc编译器负责读取这个宏进行代码转化,从而使Qt这个特有的机制得到使用 ...
- js异步收集
http://www.cnblogs.com/rubylouvre/archive/2011/03/18/1984336.html http://www.cnblogs.com/hustskyking ...
- java应用uploadify 3.2丢失session
java应用uploadify 3.2丢失session http://c-bai.iteye.com/blog/1829269 uploadify上传用的是一个flash插件. flash中有个bu ...
- [WinForm]为TextBox设置水印文字
关键代码: using System; using System.Runtime.InteropServices; using System.Windows.Forms; namespace WinF ...
- 【Qt】QT5 获取IP地址
QT获取本机IP地址 #include <QtNetwork/QHostAddress> #include <QtNetwork/QNetworkInterface> #inc ...
- RHEL 7.2 安装Oracle XE-11.2.0
轻量快捷版本,适合开发 0. /etc/hosts 添加 本机hostname # hostnamepromote.cache-dns.local # cat /etc/hosts127.0.0.1 ...
- php微信支付(仅Jsapi支付)详细步骤.----仅适合第一次做微信开发的程序员
本人最近做了微信支付开发,是第一次接触.其中走了很多弯路,遇到的问题也很多.为了让和我一样的新人不再遇到类似的问题,我把我的开发步骤和问题写出来,以供参考. 开发时间是2016/8/2,所以微信支付的 ...
- PHP 跨域写cookie
实际工作中,类似这样的要求很多,比如说,我们有两个域名,我们想实现在一个域名登录后,能自动完成另一个域名的登录,也就是PASSPORT的功能. 我只写一个大概,为了测试的方便,先编辑hosts文件,加 ...
- php substr,iconv_substr,mb_substr
php进行中文字符串的截取时,会经常用到二个函数iconv_substr和mb_substr,对这二个函数应该如何选择呢?参考下本文介绍的例子就明白了. 示例代码,用到了函数substr与iconv_ ...
- POJ 1001 解题报告 高精度大整数乘法模版
题目是POJ1001 Exponentiation 虽然是小数的幂 最终还是转化为大整数的乘法 这道题要考虑的边界情况比较多 做这道题的时候,我分析了 网上的两个解题报告,发现都有错误,说明OJ对于 ...