建立ArmLinux仿真開發(fā)環(huán)境.ppt_第1頁
建立ArmLinux仿真開發(fā)環(huán)境.ppt_第2頁
建立ArmLinux仿真開發(fā)環(huán)境.ppt_第3頁
建立ArmLinux仿真開發(fā)環(huán)境.ppt_第4頁
建立ArmLinux仿真開發(fā)環(huán)境.ppt_第5頁
已閱讀5頁,還剩43頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1,建立ArmLinux仿真開發(fā)環(huán)境,X-Men 小組,2,內(nèi) 容,1. Armlinux-2.4.18仿真環(huán)境的建立 2. Armlinux-2.6.0 內(nèi)核配置的問題,3,Armlinux-2.4.18,交叉編譯環(huán)境 編譯ARM Linux內(nèi)核 制作根文件系統(tǒng) 裝載ARM Linux,4,相關(guān)軟件: ubuntu 7.10 skyeye_1_2_3 cross-2.95.3 busybox-1.00,5,系統(tǒng)準(zhǔn)備: 安裝UBUNTU 7.10 設(shè)置系統(tǒng)的更新源 更新源就是提供Ubuntu相關(guān)軟件下載的服務(wù)器地址 a 先把原有的更新源備份一下: sudo cp /etc/apt/sources.list /etc/apt/sources.list_backup b 輸入用戶密碼后,然后編輯新的更新源 sudo gedit /etc/apt/sources.list,6,7,3. 保存編輯好的文件,執(zhí)行以下命令更新. sudo apt-get update sudo apt-get dist-upgrade 4. 更新完后,重新啟動(dòng)系統(tǒng).,8,5. 安裝本機(jī)編譯工具 在終端上,輸入 sudo apt-get install build-essential 將安裝本機(jī)所需的編譯工具和相關(guān)支持庫。 如此步?jīng)]做,后面進(jìn)行一些編譯時(shí)會(huì)有很多的錯(cuò)誤。,9,安裝交叉編譯環(huán)境 1. 先下載 cross-2.95.3.tar.bz2 2. 解壓縮,產(chǎn)生2.95.3這個(gè)目錄, 在/usr/local 目錄下新建一個(gè)目錄 arm ,將2.95.3目錄及 其內(nèi)容拷貝到此目錄下 如果是用 cross-3.2 則可以在根目錄/ 下直接解壓縮就可以了,10,3. 添加環(huán)境變量 sudo gedit /.bashrc export PATH=$PATH:/usr/local/arm/bin 注意:此步后要重新登錄系統(tǒng)更改才有效 4. 檢查是否建立好交叉編譯環(huán)境 對(duì)arm-linux-使用tab鍵功能 查看arm-linux-gcc 的版本 用arm-linux-gcc 編譯目標(biāo)版的可執(zhí)行程序,11,12,編譯ARM Linux內(nèi)核 準(zhǔn)備內(nèi)核 配置內(nèi)核 編譯內(nèi)核,13,a 準(zhǔn)備內(nèi)核 下載標(biāo)準(zhǔn)Linux 的內(nèi)核源碼和ARMLinux 的補(bǔ)丁 linux-2.4.18.tar.bz2 patch-2.4.18-rmk7.bz2 2. 解壓縮內(nèi)核,并打上ARMLinux 的補(bǔ)丁 patch -p1/patch-2.4.18-rmk7.bz2 錯(cuò)誤:找不到patch命令 原因:Ubuntu默認(rèn)沒有安裝patch工具 解決:安裝patch sudo apt-get install patch,14,b 配置內(nèi)核 這個(gè)環(huán)節(jié)是最麻煩的,進(jìn)展最慢的地方。 1:容易出錯(cuò): 2:錯(cuò)誤不好解決。 如果在此之前的步驟能成功完成,在這個(gè)環(huán)節(jié)會(huì)少很多的錯(cuò)誤,節(jié)省很多時(shí)間。所以如果有很多很奇怪的錯(cuò)誤,最好不要盲目,先檢查之前的編譯工具,支持庫,環(huán)境變量等是否設(shè)置正確。 當(dāng)然之前能順利完成,在這個(gè)環(huán)節(jié)還是有不少錯(cuò)誤;對(duì)內(nèi)核的配置還是有很多不清楚的地方。 關(guān)于內(nèi)核編譯配置選項(xiàng)簡(jiǎn)介可以參照下面的網(wǎng)址: /Linux/kernel_options.html,15,配置內(nèi)核的方式,三種方式: make config 命令行式的一般不推薦 make xconfig 可用鼠標(biāo)點(diǎn)擊選擇 make menuconfig 菜單式,用鍵盤控制,16,錯(cuò)誤及解決方法,錯(cuò)誤1: 如執(zhí)行“make xconfig”指令,進(jìn)入內(nèi)核設(shè)置時(shí),系統(tǒng)會(huì)報(bào)錯(cuò)說沒有wish 命令。 解決方法: 根據(jù)提示進(jìn)行安裝wish即可。Ubuntu默認(rèn)是沒有安裝這個(gè)命令的。,17,錯(cuò)誤2: 若運(yùn)行make menuconfig會(huì)提示ncurses找不到,這是因?yàn)閙enuconfig 用到了ncurses庫.系統(tǒng)默認(rèn)沒有安裝. 解決辦法如下: sudo apt-get install libncurses5-dev 。,18,錯(cuò)誤3: 配置完后編譯內(nèi)核,開始編譯。編譯中報(bào)錯(cuò): 這個(gè)錯(cuò)誤很常見。,19,解決方法: 這個(gè)原因是你在配置內(nèi)核的時(shí)候選了 vga的支持,去掉console drivers下的vga text console選項(xiàng)后重新編譯,20,錯(cuò)誤4:,21,解決方法: 去掉character device中的virtual terminal 選項(xiàng)。,22,制作根文件系統(tǒng) 這個(gè)環(huán)節(jié)也是很比較困難的地方,出錯(cuò)很多 1)安裝busybox工具包 2)創(chuàng)建文件系統(tǒng)的映象文件 3)配置根文件系統(tǒng),23,busybox,錯(cuò)誤1:,24,解決辦法: make menuconfig ,然后選擇Networking Utilities.將route 項(xiàng)不選。,25,錯(cuò)誤2:,26,如果出現(xiàn)找不到內(nèi)核版本號(hào)的編譯錯(cuò)誤,可以有兩種方法解決: (1)把你的內(nèi)核源碼中的version.h文件拷貝到交叉編譯器的包含文件的linux目錄下; (2)該方法來源于論壇上面的一位朋友,做法為刪掉 #include 換成 #define UTS_RELEASE “2.4.18-rmk7“ #define LINUX_VERSION_CODE 132114 #define KERNEL_VERSION(a,b,c) (a) 16) + (b) 8) + (c) (該方法我試驗(yàn)成功),27,28,老師PPT關(guān)于busybox 的介紹和編譯安裝雖說只有兩頁,自己當(dāng)時(shí)也感覺不是很麻煩??墒亲约赫嬲龅臅r(shí)候確遇到了很多問題。,29,創(chuàng)建文件系統(tǒng)的映象文件 在/mnt下創(chuàng)建img目錄,然后進(jìn)入根目錄執(zhí)行如下指令創(chuàng)建一個(gè)空的映象文件: $dd if=/dev/zero of=initrd bs=1024k count=1 $mke2fs -F -m0 initrd 使用如下指令加載創(chuàng)建的文件系統(tǒng),并復(fù)制文件系統(tǒng)中必要的文件: $mount -t ext2 -o loop initrd /mnt/img $cp -Rd /tmp/target/* /mnt/img,30,創(chuàng)建設(shè)備文件 建立設(shè)備文件,一個(gè)簡(jiǎn)單的方法是復(fù)制主機(jī)/dev/目錄下一些必要的設(shè)備文件到/mnt/img/dev/目錄下.基本的設(shè)備文件有:/dev/console /dev/fd0/ dev/null /dev/arm0 /dev/tty /dev/tty0 在復(fù)制的過程中,要注意使用dp參數(shù)以保證文件屬性不變.,31,32,sudo cp -dp /dev/tty /mnt/img/dev,33,解決方法: 增加映象文件的大小,重新建立5M的映象文件 dd if=/dev/zero of=initrd bs=5M count=1,34,ARM Linux 移植到Skyeye上運(yùn)行 1. 安裝skyeye 在終端中輸入sudo apt-get install skyeye 命令,skyeye1.2.3就安裝好了 2. 將生成的內(nèi)核映像vmlinux 和根文件系統(tǒng)initrd拷貝到一個(gè)文件下 3. 編寫skyeye.conf文件,35,36,37,38,Armlinux-2.6.0,交叉編譯ARM Linux內(nèi)核,39,錯(cuò)誤一:在輸入“make xconfig”后,如果出現(xiàn)很多錯(cuò)誤,原因是系統(tǒng)一些編譯相關(guān)的軟件包沒有安裝。,40,在安裝了相關(guān)軟件后,可用看到 gcc的版本是4.1.3,41,錯(cuò)誤二:,出錯(cuò)原因:系統(tǒng)里的gcc是4.1,它對(duì)語法要求非常嚴(yán)格,導(dǎo)致該錯(cuò)誤。,42,解決辦法:或者去注釋掉出錯(cuò)的那一行,或?qū)⒃撔衧tatic修飾符去掉。,43,錯(cuò)誤三:,出錯(cuò)原因:make xconfig 運(yùn)行需要相關(guān)的依賴包,出現(xiàn)此錯(cuò)誤,說明此步之前沒有安裝QT開發(fā)包,44,解決辦法: 安裝QT開發(fā)包,在新立得軟件開發(fā)包管理器內(nèi)安裝右圖所示的軟件包。,45,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論