• 正文
  • 相關(guān)推薦
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

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

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

Busybox是一個(gè)集成了三百多個(gè)最常用Linux命令和工具的軟件。Busybox包含了一些簡(jiǎn)單的工具,例如ls、cat和echo等等,還包含了一些更大、更復(fù)雜的工具,例grep、find、mount以及telnet。有些人將Busybox稱(chēng)為L(zhǎng)inux工具里的瑞士軍刀。簡(jiǎn)單的說(shuō)Busybox就好像是個(gè)大工具箱,它集成壓縮了Linux的許多工具和命令。

一、源碼下載

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

二、編譯配置

在編譯busybox之前需要對(duì)busybox進(jìn)行配置,配置方法如下:

(一)生成.config

進(jìn)入busybox1.32.1目錄后,使用命令:

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

產(chǎn)生.config配置文件

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

(二)配置

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

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

進(jìn)入圖形界面之后,進(jìn)入Setting目錄下,添加交叉編譯工具相關(guān)內(nèi)容。在Cross compiler prefix中設(shè)置:

arm-poky-linux-gnueabi-

在Path to sysroot中設(shè)置:

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

在Additional CFLAGS中設(shè)置:

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

仍然在Setting目錄下,選中vi-style line editing commands項(xiàng):

其他配置我們使用默認(rèn)值,配置選項(xiàng)可根據(jù)需要自行增減,一路Exit,最后Yes保存退出。

三、編譯

配置完成之后,開(kāi)始進(jìn)行編譯,使用以下命令編譯,設(shè)置交叉編譯:

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

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

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

編譯完成:

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

elf@ubuntu:~/nfs_rootfs/rootfs$ ls

bin ?linuxrc ?sbin ?usr

相關(guān)推薦