1. 程式人生 > >用bosybox制作文件系統

用bosybox制作文件系統

創建 ech orange bin 有變 硬件驅動 啟動內核 onf boot

 1 在orangepi_sdk/source/busybox-1.25.0目錄裏有源碼.
 2 
 3     1).  先清除編譯出來的文件及配置文件
 4         make distclean
 5 
 6     2).  配置busybox
 7      make menuconfig  //進入配置界面
 8 
 9      Busybox Settings  --->          
10         Build Options  ---> 
11             │[*] Build BusyBox as a static binary (no shared libs)  //
靜態編譯busybox,編出來的程序不依賴其它動態庫 12 (arm-linux-gnueabihf-) Cross Compiler prefix //光標移動這行後,按確認鍵進入輸入模式. 指定使用交叉編譯器 13 14 保存退出後, 執行make編譯 15 3). 執行make install, 會把文件系統生成在busybox源碼根目錄下的_install目錄 16 然後把_install整個目錄復制到/disk3/, 並改名h3fs 17 18 4). 在h3fs目錄裏創建文件系統所需的目錄 19 mkdir dev proc sys tmp var
mnt 20 mkdir var/log 21 mkdir var/lock 22 mkdir var/lib 23 mkdir var/run 24
25 5). 在h3fs目錄裏創建etc/init.d/rcS文件(用於進文件系統後的初始化工作, 相當於PC上的/etc/rc.local) 26 mkdir etc/init.d -p 27 touch etc/init.d/rcS 28 29 6). 30 修改h3fs裏的etc/init.d/rcS, 增加以下內容, 指定目錄使用指定的文件系統類型格式 31 mount -t proc none /proc 32 mount -t sysfs none /sys 33 mount -t tmpfs none /tmp 34 mount -t ramfs none /dev 35 mdev -s //讓mdev自動根據相應的驅動產生相應的設備文件 36 37 syslogd //產生日誌的守護進程 38 echo /sbin/mdev > /proc/sys/kernel/hotplug //當硬件驅動有變化時, 調用mdev -s產生或移除相應的設備文件 39 40 41 7). 創建h3fs裏的etc/inittab文件, 增加以下內容: 42 ::sysinit:/etc/init.d/rcS //用rcS作系統初始化 43 ttyS0::askfirst:-/bin/sh //使用ttyS0作板子的控制終端 44 45 46 8). 增加環境變量: 47 創建h3fs裏的etc/profile文件, 增加以下內容 48 export PS1="^_^ \w # " //用於命令行前面的提示符 49 50 51 9). 把應用程序所需的動態庫從交叉編譯器裏復制到h3fs裏. 52 把交叉編譯器裏的arm-linux-gnueabihf/libc/lib/arm-linux-gnueabihf/裏的內容 復制到h3fs/lib目錄 (沒有lib則創建) 53 //註意: 如果程序執行時報"not found",而不是路徑的問題時就是缺少動態庫了 54 55 10). 以上做完以後, 還需要給整個文件系統目錄設權限 56 chmod 0777 /disk3/h3fs -R 57 58 11). 把文件系統存放到SD卡的ext分區 59 進入h3fs目錄下: 60 tar cf fs.tar * //把整個文件系統打成一個包 61 把板上的SD卡接入PC,如果有自動掛載,則"tar xf fs.tar -C /掛載目錄"解包到SD卡上 62 如果沒有自動掛載,則手動把/dev/sdb2掛載到一個目錄裏再解包. 63 64 12). 以上操作完成後, 把SD卡放回板子上啟動, 還需在uboot上設置環境變量bootargs 65 setenv bootargs "root=/dev/mmcblk0p2 rw console=ttyS0,115200" //此參數是告訴內核,文件系統是在第0個mmc設備的第2個分區, 用ttyS0作控制終端,波特率為115200 66 67 保存好環境變量後,啟動內核: 68 [ 2.696791] devtmpfs: mounted 69 [ 2.700378] Freeing init memory: 316K //只要出現這句表示內核已成功進入文件系統裏 70 71 Please press Enter to activate this console.

參考:https://blog.csdn.net/jklinux/article/details/72679950

用bosybox制作文件系統