最简Linux根文件系统制作

本文详细介绍如何下载并编译BusyBox,将其安装到rootfs目录,并完成一系列配置步骤,如创建必要的文件和目录,以确保BusyBox能够在嵌入式系统中正常运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. 下载busybox(https://busybox.net/),放入ubuntu,解压。
    这里写图片描述

  2. 修改顶层Makefile,加入编译器。
    这里写图片描述

  3. make menuconfig 修改安装目录。
    这里写图片描述

  4. make编译,make install安装到rootfs目录
    这里写图片描述

  5. 查看busybox需要的动态链接库
    这里写图片描述

  6. 在rootfs下创建lib文件夹
    这里写图片描述

  7. 拷贝编译器的库到lib目录下(-a,软链接状态也复制了)
    这里写图片描述

这里写图片描述

注意:要将/usr/local/arm/gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux/arm-linux-gnueabihf/libc下的lib文件夹下的内容全部复制,包括arm-linux-gnueabihf文件夹!!!!!!不按照这个目录结构复制的话,会导致库加载器加载不了动态链接库,程序无法执行。

这里写图片描述

8.创建设备文件(拷贝ubuntu的dev目录,这样就不用自己一个个单独创建了),此步骤在添加使用mdev后不用操作!可保持dev目录为空。
这里写图片描述

9.etc目录下的init启动脚本
这里写图片描述

inittab文件
这里写图片描述

这里写图片描述

10.虚拟文件系统 proc sysfs tmpfs
这里写图片描述

11.完善文件inittab
这里写图片描述

13.etc下创建init.d文件夹,创建rcS脚本(删除上面第九步的rcS),脚本内容如下:
这里写图片描述

14.etc下创建hostname文件,内容如下:
这里写图片描述

15.etc下创建fstab文件
这里写图片描述

16.etc下创建profile文件,因为inittab里会执行/bin/sh程序,在etc/init.d/rcS脚本执行完后,将在终端启动一个shell,shell启动过程会根据文件etc/profile配置登录环境
这里写图片描述

17.etc下创建group与passwd文件
这里写图片描述

18.最后的文件目录结构
这里写图片描述

19.登陆使用界面截图
这里写图片描述

这里显示nfs挂载是只读的,只要在uboot里的netargs写成root=/dev/nfs rw。rw就可以读写了,不再是只读了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值