busyBox制作根文件系统

busyBox制作根文件系统

  1. busybox下载
    1. 官网地址https://busybox.net/

制作步骤

  1. 下载busybox-1.29.1.tar.bz2.
  2. 解压busybox源码包。tar -jxvf busybox-1.29.1.tar.bz2.
  3. 因为我们是要做嵌入式的根文件系统,所以要修改顶层Makefile中的工具链.
    1. 修改MakeFile 191行的体系结构。 将ARCH ?= $(SUBARCH)修改为ARCH ?= arm
    2. 修改MakeFile 164行的交叉编译工具链CROSS_COMPILE ?= arm-linux-gnueabi-
    3. 如果不想在Makefile中修改,可以在编译的时候使用make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi-来指定。
  4. 使用make defconfig对busyBox进行默认配置。
  5. 使用make menuconfig对busyBox进行简单的个人修改。修改内容有下
    1. Setting选项下
      1. 不要选中 Build static binary (no shared libs)。此选项是用来设置静态编译的,编译完后文件会很大,所以嵌入式中一般不选。
      2. 修改安装路径。Destination path for ‘make install’。安装路径就是最后根文件系统生成存放的位置。
      3. 选中vi-style line editing commands。用于起用vi风格的命令行。
    2. linux Module Utilities选项下
      1. 不选中 Simplified modutils。
    3. Linux System Utilities选项下
      1. 确保选中 mdev(16kb)及它的子选项
        • [ * ] mdev (16 kb)
          • [ * ] Support /etc/mdev.conf
          • [ * ] Support subdirs/symlinks
          • [ * ] Support regular expressions substitutions when renaming device
          • [ * ] Support command execution at device addition/removal
          • [ * ] Support loading of firmware
    4. 保存退出。
    5. 使用make编译。
    6. 使用make install安装。
    7. 编译完成后就可以在安装目录中看到busyBox制作的根文件系统。此时的根文件系统还需要添加些东西。
    8. 使用cd命令切换到安装目录下。使用ls命令可以看到这四个文件bin linuxrc sbin usr.
    9. 添加动态库。
      1. 创建lib文件夹:mkdir lib.
      2. 拷贝交叉编译工具链下xxx/arm-linux-gnueabihf/libc/lib文件夹下的文件到 lib文件夹中。
        1. cp -av xxx/arm-linux-gnueabihf/libc/lib/* lib/
    10. 完善目录结构
      1. 添加其他的基本文件夹mkdir dev etc lib proc sys tmp var
    11. 添加初始化脚本
      1. 拷贝busyBox文件夹下examples/bootfloppy/etc/中的文件到根文件系统的etc目录下。cp -av ~/busybox-1.29.1/examples/bootfloppy/etc/* etc/
    12. 使用NFS挂载测试。
      1. 搭建NFS服务器。将根文件系统作为NFS服务器路径。
      2. 设置uboot的bootargs参数。setenv bootargs root=/dev/nfs nfsroot=192.168.1.12:xxx/rootfs rw ip=192.168.1.10:192.168.1.12:192.168.1.1:255.255.255.0::eth0:off init=/linuxrc console=ttyPS0,115200
      3. 启动内核,如果挂载成功就可以使用正常的lscd等命令了。如下图:NFS启动

关于技术交流

此处后的文字已经和题目内容无关,可以不看。
qq群:825695030
微信公众号:嵌入式的日常
如果上面的文章对你有用,欢迎打赏、点赞、评论。二维码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

theboynoName

感谢鼓励

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值