建立ArmLinux仿真開發環境課件_第1頁
建立ArmLinux仿真開發環境課件_第2頁
建立ArmLinux仿真開發環境課件_第3頁
建立ArmLinux仿真開發環境課件_第4頁
建立ArmLinux仿真開發環境課件_第5頁
已閱讀5頁,還剩43頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、建立ArmLinux仿真開發環境X-Men 小組1內 容1. Armlinux-2.4.18仿真環境的建立2. Armlinux-2.6.0 內核配置的問題2Armlinux-2.4.18 交叉編譯環境 編譯ARM Linux內核 制作根文件系統 裝載ARM Linux3相關軟件:ubuntu 7.10 skyeye_1_2_3cross-2.95.3busybox-1.004系統準備: 安裝UBUNTU 7.10 設置系統的更新源 更新源就是提供Ubuntu相關軟件下載的服務器地址 a 先把原有的更新源備份一下: sudo cp /etc/apt/sources.list /etc/apt/

2、sources.list_backup b 輸入用戶密碼后,然后編輯新的更新源 sudo gedit /etc/apt/sources.list56 3. 保存編輯好的文件,執行以下命令更新. sudo apt-get update sudo apt-get dist-upgrade4. 更新完后,重新啟動系統.75. 安裝本機編譯工具 在終端上,輸入 sudo apt-get install build-essential 將安裝本機所需的編譯工具和相關支持庫。 如此步沒做,后面進行一些編譯時會有很多的錯誤。8安裝交叉編譯環境 1. 先下載 cross-2.95.3.tar.bz2 2. 解

3、壓縮,產生2.95.3這個目錄, 在/usr/local 目錄下新建一個目錄 arm ,將2.95.3目錄及 其內容拷貝到此目錄下 如果是用 cross-3.2 則可以在根目錄/ 下直接解壓縮就可以了9 3. 添加環境變量 sudo gedit /.bashrc export PATH=$PATH:/usr/local/arm/bin 注意:此步后要重新登錄系統更改才有效 4. 檢查是否建立好交叉編譯環境 對arm-linux-使用tab鍵功能 查看arm-linux-gcc 的版本 用arm-linux-gcc 編譯目標版的可執行程序1011編譯ARM Linux內核準備內核配置內核編譯內核

4、12 a 準備內核下載標準Linux 的內核源碼和ARMLinux 的補丁 linux-2.4.18.tar.bz2 patch-2.4.18-rmk7.bz22. 解壓縮內核,并打上ARMLinux 的補丁 patch -p1./patch-2.4.18-rmk7.bz2錯誤:找不到patch命令原因:Ubuntu默認沒有安裝patch工具解決:安裝patch sudo apt-get install patch13 b 配置內核 這個環節是最麻煩的,進展最慢的地方。 1:容易出錯: 2:錯誤不好解決。 如果在此之前的步驟能成功完成,在這個環節會少很多的錯誤,節省很多時間。所以如果有很多很奇

5、怪的錯誤,最好不要盲目,先檢查之前的編譯工具,支持庫,環境變量等是否設置正確。 當然之前能順利完成,在這個環節還是有不少錯誤;對內核的配置還是有很多不清楚的地方。 關于內核編譯配置選項簡介可以參照下面的網址: /Linux/kernel_options.html14配置內核的方式三種方式:make config 命令行式的一般不推薦make xconfig 可用鼠標點擊選擇 make menuconfig 菜單式,用鍵盤控制15錯誤及解決方法錯誤1:如執行“make xconfig”指令,進入內核設置時,系統會報錯說沒有wish 命令。解決方法:根據提示進行安裝wish即可。Ubuntu默認是

6、沒有安裝這個命令的。16錯誤2:若運行make menuconfig會提示ncurses找不到,這是因為menuconfig 用到了ncurses庫.系統默認沒有安裝.解決辦法如下: sudo apt-get install libncurses5-dev 。17錯誤3:配置完后編譯內核,開始編譯。編譯中報錯:這個錯誤很常見。18解決方法: 這個原因是你在配置內核的時候選了 vga的支持,去掉console drivers下的vga text console選項后重新編譯19 錯誤4:20 解決方法: 去掉character device中的virtual terminal 選項。21 制作根

7、文件系統這個環節也是很比較困難的地方,出錯很多1)安裝busybox工具包2)創建文件系統的映象文件3)配置根文件系統22busybox錯誤1:23 解決辦法: make menuconfig ,然后選擇Networking Utilities.將route 項不選。24錯誤2:25如果出現找不到內核版本號的編譯錯誤,可以有兩種方法解決:(1)把你的內核源碼中的version.h文件拷貝到交叉編譯器的包含文件的linux目錄下;(2)該方法來源于論壇上面的一位朋友,做法為刪掉 #include 換成 #define UTS_RELEASE 2.4.18-rmk7 #define LINUX_V

8、ERSION_CODE 132114 #define KERNEL_VERSION(a,b,c) (a) 16) + (b) 8) + (c)(該方法我試驗成功)26 27老師PPT關于busybox 的介紹和編譯安裝雖說只有兩頁,自己當時也感覺不是很麻煩。可是自己真正做的時候確遇到了很多問題。28創建文件系統的映象文件在/mnt下創建img目錄,然后進入根目錄執行如下指令創建一個空的映象文件:$dd if=/dev/zero of=initrd bs=1024k count=1$mke2fs -F -m0 initrd使用如下指令加載創建的文件系統,并復制文件系統中必要的文件:$mount

9、-t ext2 -o loop initrd /mnt/img$cp -Rd /tmp/target/* /mnt/img29創建設備文件建立設備文件,一個簡單的方法是復制主機/dev/目錄下一些必要的設備文件到/mnt/img/dev/目錄下.基本的設備文件有:/dev/console /dev/fd0/ dev/null /dev/arm0 /dev/tty /dev/tty0 在復制的過程中,要注意使用dp參數以保證文件屬性不變.3031sudo cp -dp /dev/tty /mnt/img/dev32解決方法:增加映象文件的大小,重新建立5M的映象文件dd if=/dev/zero

10、 of=initrd bs=5M count=133 ARM Linux 移植到Skyeye上運行1. 安裝skyeye 在終端中輸入sudo apt-get install skyeye 命令,skyeye1.2.3就安裝好了2. 將生成的內核映像vmlinux 和根文件系統initrd拷貝到一個文件下3. 編寫skyeye.conf文件 34353637Armlinux-2.6.0交叉編譯ARM Linux內核38錯誤一:在輸入“make xconfig”后,如果出現很多錯誤,原因是系統一些編譯相關的軟件包沒有安裝。 39 在安裝了相關軟件后,可用看到 gcc的版本是4.1.3 40錯誤二: 出錯原因:系統里的gcc是4.1,它對語法要求非常嚴格,導致該錯誤。 41 解決辦法:或者去注釋掉出錯的那一行,或將該行static修飾符去掉。42錯誤三:出錯原因:make xconfig 運行需要相關的依賴包,出現此錯誤,說明此步之前沒有安裝QT開發包43解決辦法:安裝QT開發包,在新立得軟件開發包管理器內安裝右圖所示的軟件包。4

溫馨提示

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

評論

0/150

提交評論