1、下载busybox:git clone git://busybox.net/busybox.git
下载完毕后,我们输入如下命令,切换到指定版本<busybox 1.36.1>
bash
git checkout 1_36_1
2、指定交叉编译工具链
bash
export CROSS_COMPILE=/home/itcai/work/d1s/riscv64-wangzai-linux-gnu-gcc/bin/riscv64-unknown-linux-gnu-
3、指定配置文件
由于在应用程序端的差异除了架构以外几乎没有,所以我们可以选择 busybox 下面的任意config文件都可以启动,我们选择 busybox/config 下面的freebsd_defconfig 作为默认配置文件,并make,执行如下命令:
c
make freebsd_defconfig
对于相同的目标环境(比如都是完整的 Linux 系统),可以随意选择一个configs/ 下的文件作为起点,BusyBox 都会编译出一个功能完整可用的工具集。差异只在于具体包含了哪些命令,而这些差异通常不影响系统"能否启动";
4、修改配置选项
这里使用静态编译 busybox,在menuconfig 中做修改,执行如下命令:
bash
make menuconfig
选中[*] Build static binary (no shared libs) ,并保存退出
5、编译并安装
执行如下命令编译并安装(根文件系统的默认安装路径为 busybox 的_install目录,由配置文件可指定)
bash
make -j$(nproc); make install
6、将生成的文件夹(_install)添加到构建的bootcard中
生成的文件夹(_install)就是跟文件系统目录,其中包含了跟文件系统的所有内容
7、完善跟文件系统
进入跟文件系统(_install)目录下,并执行如下命令:
bash
mkdir dev home media mnt opt proc root run sys tmp var