使用的是itop4412開發板(僅記錄個人的學習回顧,如有不當之處歡迎指出) 致謝 準備:busybox軟體、uboot(一般和開發板配套)、zImage(kernel內核)、ramdisk uboot.img(系統掛載硬碟使用)、system.img(製作的系統鏡像) system.img的製作步 ...
使用的是itop4412開發板(僅記錄個人的學習回顧,如有不當之處歡迎指出)
---------致謝
準備:busybox軟體、uboot(一般和開發板配套)、zImage(kernel內核)、ramdisk-uboot.img(系統掛載硬碟使用)、system.img(製作的系統鏡像)
system.img的製作步驟:
一、busybox(為最小系統提供命令支持(個人理解))
先配置busybox:
a、make menuconfig時出現問題,提示如下圖
問題的原因是顯示像素不夠,把你的命令視窗最大化(直接進入全屏)如果使用的是VM虛擬機直接點擊 圖標。
1、將busybox拷貝到Linux中(位置任意,最好取一個有指向性的文件夾名稱如:miniLinux),解壓busybox(解壓命令:tar -vxf busybox-x.xx.x.tar.bz2),然後進入解壓出的 busybox.xx.xx.xx 中,使用 make menuconfig 進入配置界面開始配置busybox:
如上圖,選中 Busybox Settings,然後按回車進入到 Busybox Settings 界面,如下圖。
在 Busybox Settings 配置選項裡面需要修改兩個地方,第一個是 Build Optiions-> CrossCompiler prefix,它是指定用什麼編譯器來編譯 Busybox,選中 Build Options 如上圖,然後按回車,進入到 Build Options 配置界面,如下圖。
選中 Build Options 配置界面的 Cross Compiler prefix 如上圖,然後按回車,進入 CrossCompiler prefix 配置界面,如下圖
輸入使用的交叉編譯工具 arm-none-linux-gnueabi-,如下圖。
然後按回車返回到 Build Options 配置界面,這時可以看到剛纔設置的交叉編譯工具,如下圖。
然後回到 Busybox Settings 設置界面,選中 Installation Options,然後按回車,進入 Installation Options 配置界面,如下圖。
進入上圖選項,設置的是busybox的安裝路徑(如設置為“../system”(最終生成的二進位文件會安裝到system目錄的上一級目錄下的 system 目錄裡面,註意有兩個點)說明白一點:例如你在minilinux(busybox所在文件夾)文件夾下建立了一個system文件夾(minilinux即為上一級目錄,busybox會安裝在這個目錄下的system下)),至此配置完成;
2、編譯安裝busybox
編譯:再解壓出來的busybox.xx.xx.xx目錄下運行命令make(自動根據makefile文件來編譯)。
安裝:編譯完成後運行 make install 安裝二進位文件。
。。。。。。。。。。。。。。。。。busybox部分完結。。。。。。。。。。。。。。。。。。。
二、完善最小linux系統
1、 建立系統所需文件夾
a) 進入system文件夾建立 dev etc lib mnt proc sys tmp var 文件夾(是不是似曾相識)。
b) 進入 etc 建立 init.d rc.d 文件夾 隨後進入 rc.d 也建立一個 init.d 文件夾。
c) 進入system文件夾下的 var 建立 lib lock log run tmp 文件夾。
2、添加系統運行所需文件
a)進入創建的etc目錄
將eth0-setting passwd profile三個文件拷貝進去,將文件的許可權改為755
b)進入etc目錄下的init.d目錄
將ifconfig-eth0和rcS兩個文件拷貝進去,將文件的許可權改為755
c) 進入 etc/rc.d/init.d目錄
將netd文件拷貝進去,將文件的許可權改為755
d)返回到system目錄下,進入lib文件夾下將編譯器的庫文件拷貝進去
"cp /usr/local/arm/arm-2009q3/arm-none-linux-gnueabi/libc/lib/* ./
三、生成system.img鏡像文件
使用工具:make_ext4fs(該工具在“/”(根目錄)下解壓)
命令:在 system 所在文件夾下使用 “make_ext4fs -s -l 314572800 -a root -L linux system.img system”
。。。。。。。。。。。。。。。。。。。。。。。system.img製作完畢。。。。。。。。。。。。。。。。。。。。。。。
燒寫minilinux:
1、 啟動開發板,超級終端中,在讀秒前回車(開發板上電就回車)進入Uboot模式;
2、分區命令,超級終端中,輸入命令:輸入分區命令“fdisk -c 0”
3、格式化命令,超級終端中輸入命令:
– fatformat mmc 0:1
– ext3format mmc 0:2
– ext3format mmc 0:3
– ext3format mmc 0:4
4、 連接命令(鏈接燒寫軟體),超級終端中輸入命令:fastboot 查看電腦是否識別設備(查看電腦設備管理器是否出現ADB驅動),如沒有檢查你的線路連接或者驅動器是否安裝成功。
5、運行“platform-tools”文件夾中的文件“cmd.exe”,將需要燒寫的文件(uboot、zImage、ramdisk-uboot.img、system.img)拷貝到“platform-tools”文件夾中。
6、 燒寫命令,在windows命令行輸入:
– 燒寫uboot命令(不建議燒寫,已經有了): fastboot.exe flash bootloader u-boot-iTOP-4412.bin
– 燒寫zImage內核命令: fastboot.exe flash kernel zImage
– 輸入燒寫ramdisk 命令: fastboot.exe flash ramdisk ramdisk-uboot.img
– 輸入燒寫system 文件系統命令: fastboot.exe flash system system.img
– 輸入擦除命令:fastboot -w
– 輸入重啟開發板命令: fastboot reboot
。。。。。。。。。。。。。。。。。。。。。。。。。。製作完畢。。。。。。。。。。。。。。。。。。。。。。。。。。。