1. 程式人生 > >根據專案需要修改、部署庫到最初的buildroot(HISI )並重新制作

根據專案需要修改、部署庫到最初的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”選項。