首页 > 其他 > 详细

《构建根文件系统(四)编译配置busybox》

时间:2019-09-22 11:58:26      阅读:123      评论:0      收藏:0      [点我收藏+]

1.配置编译busybox

  busybox的官方网站是:http://www.busybox.net/

  打开busybox中的INSTALL文档,里面详细说明了如何配置编译busybox。

  The BusyBox build process is similar to the Linux kernel build:

     make menuconfig     # This creates a file called ".config"
     make                # This creates the "busybox" executable
  技术分享图片

 

   生成两个可执行文件busybox和busybox_unstripped。

     make install        # or make CONFIG_PREFIX=/path/from/root install (在新得busybox中会在当前目录生成_install,在旧版的busybox最好是通过指定路径,毕竟破坏原有的文件系统)
  技术分享图片

   会在当前目录生成_install文件。

 

  cd _install

  技术分享图片

 
  注意需要配置一下使用的交叉编译器
  技术分享图片
  具体实现编译可以参考:tiny4412编译配置
 
  也可以通过make menuconfig来改变make install后生成文件的位置,这样就可以指定到我们创建好的目录,不用后面再移。
  make menuconfig 
  Busybox Settings —> 
  Installation Options (“make install” behavior) —> 
  技术分享图片

 

 

2.构建最小根文件系统
  1.创建console和null节点
  mkdir  /dev
  cd  /dev
  sudo mknod console c 5 1
  sudo mknod null c 1 3
  
  2.构建/etc目录
  mkdir /etc
  vi /etc/inittab
  配置内容后面详细分析
 
  3.安装c库
  

  (1)我们在busybox设置的是动态链接库,而且编译器是arm-linux-gcc,找到安装arm-linux-gcc的安装路径

  which arm-linux-gcc

  /opt/FriendlyARM/toolschain/4.5.1/bin/arm-linux-gcc上面是我的路径,/opt/FriendlyARM/toolschain/4.5.1/arm-none-linux-gnueabi/lib,这个就是要复制出来的动态库的路径,把里面的动态链接文件复制到filesystem文件夹下

  (2)复制动态链接文件

  cp /opt/FriendlyARM/toolschain/4.5.1/arm-none-linux-gnueabi/lib/.so*  ./lib   -d(因为我们只需要动态库) (-d:若来源文件为连结文件的属性(link file),则复制连结文件属性而非档案本身)

  以上就已经配置完成一个最小的根文件系统,可以使用nfs直接挂载到开发板上。也可以制作成映像文件烧录到开发板中。

 

3.完善根文件系统

  

    

 

《构建根文件系统(四)编译配置busybox》

原文:https://www.cnblogs.com/zhuangquan/p/11566075.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!