參考海思官方文檔:《Hi3519AV100╱Hi3556AV100 開(kāi)發(fā)環(huán)境用戶指南.pdf》
1萧吠、進(jìn)入busybox目錄上鞠,解壓busybox源代碼包
cd osdrv/opensource/busybox/
tar -xvf busybox-1.26.2.tgz
2停忿、配置busybox
# 引入交叉編譯相關(guān)環(huán)境變量
source /etc/profile
# 配置busybox
cd busybox-1.26.2/
cp config_arm_himix200_a53_softfp_neon .config
make menuconfig
# 重點(diǎn)檢查Busybox Settings ---> Build Options中交叉編譯器的相關(guān)配置
# (arm-himix200-linux-) Cross Compiler prefix
# 其它配置項(xiàng)未修改胯究,暫時(shí)保持默認(rèn)
3、編譯安裝busybox
編譯并安裝成功后的busybox在_install目錄
make
make install
4泼舱、制作根文件系統(tǒng)
mkdir rootfs
cd rootfs/
cp -R /home/hisilicon/3519A/Hi3519AV100_SDK_V2.0.2.0/osdrv/opensource/busybox/busybox-1.26.2/_install/* .
mkdir etc dev lib tmp var mnt home proc
# 拷備linuxrc所依賴的庫(kù)文件等缀,linuxrc是一個(gè)鏈接文件,指向bin/busybox
# 如果不拷備依賴庫(kù)文件娇昙,啟動(dòng)時(shí)會(huì)報(bào)錯(cuò):Kernel panic - not syncing: Requested init /linuxrc failed (error -2).
# 拷備并創(chuàng)建ld-linux.so.3的軟鏈接后仍然會(huì)報(bào)錯(cuò):/linuxrc: error while loading shared libraries: libm.so.6: cannot open shared object file: No such file or directory
# Kernel panic - not syncing: Attempted to kill init! exitcode=0x00007f00
# 報(bào)錯(cuò)的原因是lib庫(kù)文件的目錄結(jié)構(gòu)和交叉編譯器中的目錄結(jié)構(gòu)不一致尺迂,解決的辦法有兩個(gè):
# 1、在rootfs的lib目錄建立a53_softfp_neon-vfpv4的軟鏈接冒掌,使 a53_softfp_neon-vfpv4 -> ../lib/噪裕,并在lib目錄創(chuàng)建ld-linux.so.3的軟鏈接 ld-linux.so.3 -> ld-2.24.so*
# 2、在rootfs的lib目錄建立a53_softfp_neon-vfpv4目錄股毫,將lib庫(kù)文件拷備至此目錄下膳音,并在lib目錄創(chuàng)建ld-linux.so.3的軟鏈接 ld-linux.so.3 -> a53_softfp_neon-vfpv4/ld-2.24.so*
# 本文采用方法2,保持rootfs的lib庫(kù)文件的目錄結(jié)構(gòu)和交叉編譯器中的目錄結(jié)構(gòu)一致
cd lib
mkdir a53_softfp_neon-vfpv4
cp -R /opt/hisi-linux/x86-arm/arm-himix200-linux/target/lib/a53_softfp_neon-vfpv4/* .
cd ..
ln -s a53_softfp_neon-vfpv4/ld-2.24.so ld-linux.so.3
- etc目錄可參考系統(tǒng)/etc 下的文件铃诬。其中最主要的文件包括inittab严蓖、fstab、init.d/rcS
文件等氧急,這些文件最好從busybox 的examples目錄下拷貝過(guò)來(lái)颗胡,根據(jù)需要自行修
改。- dev目錄下的設(shè)備文件吩坝,可以直接從系統(tǒng)中拷貝過(guò)來(lái)或者使用mknod命令生成需
要的設(shè)備文件毒姨。拷貝文件時(shí)請(qǐng)使用cp –R file钉寝。- lib 目錄是存放應(yīng)用程序所需要的庫(kù)文件弧呐,請(qǐng)根據(jù)應(yīng)用程序需要拷貝相應(yīng)的庫(kù)文
件。
5嵌纲、生成根文件系統(tǒng)鏡像文件
前期使用NFS啟動(dòng)測(cè)試俘枫,暫時(shí)未測(cè)試