• 正文
  • 相關推薦
申請入駐 產業(yè)圖譜

飛凌嵌入式ElfBoard ELF 1板卡-busybox構建根文件系統(tǒng)之Busybox編譯

6小時前
67
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

Busybox是一個集成了三百多個最常用Linux命令和工具的軟件。Busybox包含了一些簡單的工具,例如ls、cat和echo等等,還包含了一些更大、更復雜的工具,例grep、find、mount以及telnet。有些人將Busybox稱為Linux工具里的瑞士軍刀。簡單的說Busybox就好像是個大工具箱,它集成壓縮了Linux的許多工具和命令。

一、源碼下載

進入busybox網址https://busybox.net/,下載最新版本busybox1.32.1。本人沒有測試過該版本的穩(wěn)定性,本教程主要講解如何使用busybox構建文件系統(tǒng),如果有同學發(fā)現該版本存在穩(wěn)定性問題,請及時更換以前舊版本。然后將busybox1.32.1拷貝到Ubuntu /home/elf/work/中,解壓縮。

二、編譯配置

在編譯busybox之前需要對busybox進行配置,配置方法如下:

(一)生成.config

進入busybox1.32.1目錄后,使用命令:

elf@ubuntu:~/work/busybox-1.32.1$ make menuconfig

產生.config配置文件

注意:default為默認配置,除了defconfig默認配置,另外還有allyesconfig(全選最大系統(tǒng)配置)和allnoconfig(最小系統(tǒng)配置),我們這里使用默認配置進行。

(二)配置

使用make menuconfig命令,按需修改配置:

elf@ubuntu:~/work/busybox-1.32.1$ make menuconfig

進入圖形界面之后,進入Setting目錄下,添加交叉編譯工具相關內容。在Cross compiler prefix中設置:

arm-poky-linux-gnueabi-

在Path to sysroot中設置:

/opt/fsl-imx-x11/4.1.15-2.0.0/sysroots/cortexa7hf-neon-poky-linux-gnueabi

在Additional CFLAGS中設置:

-O2 -pipe -march=armv7ve -mfpu=neon -mfloat-abi=hard -mcpu=cortex-a7

仍然在Setting目錄下,選中vi-style line editing commands項:

其他配置我們使用默認值,配置選項可根據需要自行增減,一路Exit,最后Yes保存退出。

三、編譯

配置完成之后,開始進行編譯,使用以下命令編譯,設置交叉編譯:

. /opt/fsl-imx-x11/4.1.15-2.0.0/environment-setup-cortexa7hf-neon-poky-linux-gnueabi

進行編譯,并將生成的rootfs安裝到nfs_rootfs/rootfs文件夾下:

elf@ubuntu:~/busybox-1.32.1$ make install CONFIG_PREFIX=/home/elf/nfs_rootfs/rootfs

編譯完成:

然后進入到home/elf/nfs_rootfs/rootfs目錄下,可以看到生成的目錄文件:

elf@ubuntu:~/nfs_rootfs/rootfs$ ls

bin ?linuxrc ?sbin ?usr

相關推薦