硬體平台:xc2440
主機系統:ubuntu9.10
交叉編譯器:4.1.2
編譯這個busybox主要是為了鞏固並記錄一下編譯器過程,當然主要是記錄一些問題。
make menuconfig 進行配置以生成.config
make 編譯
make install 安裝,需要指定安裝位置,也可以在第一步的配置中指定。
如果真有那麼順利就好了。我配置好後執行make的時候提示有好幾個錯誤,第乙個就是mtd/mtd-user.**件找不到。
解決辦法:cp /usr/include/mtd/ include/mtd/ -a
然後重新編譯,又說struct mtd_info_user中沒有定義成員writesize,找到struct mtd_info_user結構體,在後面加入乙個成員uint32_t writesize;這個問題解決掉。
再編譯,雙出現乙個問題。提示rfkill的一堆錯誤,這個估計也沒什麼用,直接make menuconfig取消掉這個,再編譯,等一下就是下面的輸出,那麼編譯就完成了
這是最終編譯完成
trying libraries: crypt m
library crypt is not needed, excluding it
library m is needed, can't exclude it (yet)
final link with: m
libbusybox: 0_lib/libbusybox.so.1.20.0
busybox linked against libbusybox: 0_lib/busybox
doc busybox.pod
doc busybox.txt
doc busybox.1
doc busybox.html
注意cross_compile可以在makefile中指定,也可以在make menuconfig配置的時候指定路徑 ,安裝路徑也是。
make config_prefix=/指定路徑 install 就可以安裝了。
安裝完後輸出
you will probably need to make your busybox binary
work properly.
進入安裝目錄會發現bin linuxrc sbin usr這幾個檔案
進入安裝目錄,建立dev目錄並手動建立兩個裝置節點。
mkdir dev
sudo mknod dev/console c 5 1
sudo mknod dev/null c 1 3
mkdir etc
vi etc/inittab輸入
console::askfirst:-/bin/sh
儲存退出
建立lib目錄,並將交叉編譯工具中的庫檔案拷過來,保持動態鏈結,加-d
cp 交叉工具路徑/lib/*.so*/ 安裝路徑下面的lib -d
至此最小根檔案系統已建立 可以用mkyaffs2image工具進行製作yaffs2檔案系統
進行完善
mkdir proc
mkdir etc/init.d
vi etc/init.d/rcs
mount -t proc /proc
chmod +x etc/init.d/rcs
還可以用mount -a的方法,它會去讀/etc/fstab
vi etc/fstab
proc /proc proc defaults 0 0
儲存退出。
還有其他要完善的功能,網上很多就不說了。
由於我是用網路檔案系統,所以我配置busybox的時候沒怎麼裁剪,能選的基本上全選擇了。最終生成的yaffs2檔案系統有30多兆。
現在通過nfs起根檔案系統,除錯程式也方便很多。
其實剛在使用時發現解除安裝*.ko的模組時會出問題。說是找不到相關的命令,解決辦法:在檔案系統的lib目錄下新增空目錄modules/2.6.37.4,其中後面的那個linux版本號根據你自己編譯的時候用的哪個就寫哪個。
2、配置 busybox
a、進入 busybox 所在目錄,進行配置操作需要輸入如下命令:
cd osdrv/opensource/busybox/busybox-1.20.2
cp config_v300_soft .config
c、進入makefile 修改
vi makefile
164 cross_compile ?= arm-hisiv300-linux-
190 arch ?= arm
mkdir etc dev lib tmp var mnt home proc
3 海思 手機史海沉船3 4 海思K3
附 圖為海思k1機型,hot d2,hot和htc就差乙個字母,d2是當時不少玩家對於htc diamond 2的簡稱。手機史海沉船 www.zhihu.com 從整體效能來看,海思k3並沒有比當時的其他主流方案弱。當時其他的主流處理器包括ti 德州儀器 家的omap 850,主頻201mhz in...
海思固定IP
前言 每個型別的開發板設定靜態ip 即每次系統boot起來後,ip自動設成想要的ip,不需要每次手動敲入命令ifconf eth0 的方式不太一樣。本文主要是講海思開發板的設定。方法板子的uboot,kernel以及rootfs燒寫並能正確啟動後,在其shell下,開啟下面這個檔案 vi etc i...
Ubuntu安裝海思SDK
1 ubuntu下修改預設shell dash為bash 輸入 dpkg reconfigure dash 後選 no 選項 2 解壓sdk到當前目錄後 進入目錄如 hi3515 v100r001c01spc050 software board 解壓 tar zxvf hi3515 sdk v1.0...