一步一步制作yaffs/yaffs2根文件系统(二)---安装BusyBox,构造/bin、/sbin、/usr、linuxr

转载 2015年11月20日 21:42:38

一步一步制作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

开发环境:Ubuntu 12.04 开发板:mini2440  256M NandFlash   64M SDRAM 交叉编译器:arm-linux-gcc 4.4.3  点此可下载,csdn上传有点...

一步一步制作yaffs2根文件系统

  • 2017年10月28日 10:03
  • 2.88MB
  • 下载

一步一步制作yaffs/yaffs2根文件系统(三)---使用glibc库构造 /lib

开发环境:Ubuntu 12.04            开发板:mini2440  256M NandFlash   64M SDRAM            交叉编译器:arm-linux-gcc...

Busybox1.13.3制作yaffs2根文件系统(静态和动态)

准备工具1:mkyaffs2image 用途:用来制作目标文件系统映像。 工具2:busybox 用途:生成目标文件系统。网上有对它的介绍。 以上工具均来自友善之臂http://www.arm...

使用Busybox1.13.3制作yaffs2根文件系统

使用Busybox1.13.3制作yaffs2根文件系统(hlhq转)2009-09-25 21:532009-09-13 14:42(从hlhq转来)准备工具1:mkyaffs2image用途:用来...

使用Busybox1.13.3制作 yaffs2根文件系统

还记得安装时在vivi中输入“loadyaffs root u”吗?这里的img文件就是根文件系统映像文件。 准备工具1:mkyaffs2image 用途:用来制作目标文件系统映像。 工具2:b...

initramfs文件系统的制作及yaffs2根文件系统制作(busybox-1.20.2)

//-------------------------------------------------------------------------------------------- // 作...

利用Busybox移植Yaffs2根文件系统

现在大部分开发板都可以支持yaffs2 文件系统,它是专门针对嵌入式设备,特别是使 用 nand flash作为存储器的嵌入式设备而创建的一种文件系统,早先的yaffs 仅支持小页 (512byt...

busybox移植yaffs2根文件系统

步骤:1、下载yaffs2源码(http://www.aleph1.co.uk/gitweb?p=yaffs2/.git;a=summary)2、解压       #tar xvf yaffs2-91...
  • lensens
  • lensens
  • 2011年06月21日 21:54
  • 293

一步一步制作yaffs/yaffs2根文件系统(四)---构建etc、dev等剩余目录

开发环境:Ubuntu 12.04                      开发板:mini2440  256M NandFlash   64M SDRAM                     ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:一步一步制作yaffs/yaffs2根文件系统(二)---安装BusyBox,构造/bin、/sbin、/usr、linuxr
举报原因:
原因补充:

(最多只允许输入30个字)