根據專案需要修改、部署庫到最初的buildroot(HISI )並重新制作
一、進入rootfs_uclibc
1、etc目錄(配置檔案)
1.1、profile、使用者登入後,預設會先執行這個檔案,所以我們在這裡新增網路配置、每次登入時讓開發板掛著主機的命令
(1)在profile中新增設定網絡卡IP地址
命令:ifconfig eth0 192.168.1.10(根據你的需要)
(2)在profile中新增自動掛載主機nfs伺服器
命令:mount -t nfs -o nolock 192.168.1.141:/home/aston/rootfs /mnt
解釋:-t nfs 告訴我們掛著的檔案格式
-o nolock 非鎖定方式
192.168.1.141 主機伺服器的ip
:/home/aston/rootfs 掛著到主機的一個目錄, 通過這個目錄新增需要的檔案,去部署庫等等
/mnt 上面新增的檔案在開發板根檔案系統/mnt可以訪問,然後cp到根檔案系統裡面
(3)新增指令碼檔案、部署庫等到/usr/lib下
解釋:這裡部署的庫一般是程式執行時,需要的.so檔案動態連結庫,因為這個目錄在profile檔案已經預設匯出了,如果我們自己新建資料夾放置,需要在profile腳本里面匯出到環境變數,執行時才能找到那些庫
(4)安裝模組到根檔案系統
解釋:就是一些外設模組驅動,比如sensori2c.ko,或者我們網上下載的一些以模組提供的演算法.ko,所以我們需要insmod sensori2c.ko。一般安裝的模組多了,我們會寫成指令碼,在命令列下去執行,統一安裝
二、新增完成資料夾格式的根檔案系統後,製作映象
2、步驟:(1)在編譯目錄的osdev/pub/下找到rootfs_uclibc.tgz,解壓開
(2)按照上節和本節驗證成功的部署步驟部署整個rootfs
(3)手工製作rootfs.jffs2映象,再燒錄測試即可
命令:osdrv/pub/bin/pc/mkfs.jffs2 -d osdrv/pub/rootfs_uclibc -l -e 0x10000 -o osdrv/pub/rootfs_uclibc_64k.jffs2
a.osdrv/pub/bin/pc/mkfs.jffs2 為 mkfs.jffs2 檔案的所在目錄,操作之前可以用 chmod 修改該檔案操作許可權為 777 b. osdrv/pub/rootfs_uclibc 為根檔案系統的目錄 c. 0x10000 代表Flash的塊大小為64K d. osdrv/pub/rootfs_uclibc_64k.jffs2 為輸出的檔名解釋:製作JFFS2格式的映象檔案需要用到mkfs.jffs2工具,這個工具可以從網際網路中下載,也可以在SDK包中找到,具體目錄Hi3518_SDK_V1.0.8.1/osdrv/tools/pc_tools。為了使核心支援 JFFS2 檔案系統,必須在編譯核心時把 JFFS2 的選項加入(SDK釋出的核心預設已經加入了支援)。在 make ARCH=arm CROSS_COMPILE=armhisiv100nptl-linux- menuconfig 後,進入‘’File systems”,選擇“ miscellaneous filesystems”,最後選中其中的“ Journalling Flash File System v2 (JFFS2) support”選項。