1. SAM A5 Linux移植實驗
1.1 實驗目的
· 掌握Linux核心的配置、編譯和安裝方法,U-Boot引導核心啟動;
· 掌握檔案系統製作,能夠啟動圖形介面;
1.2 實驗內容
· 配置、編譯和安裝Linux kernel
· 製作Yocto 系統到SD卡
· 啟動Yocto系統
1.3 步驟與現象
· 核心製作
1. 從空享資料夾把核心壓縮包複製到 /home/SAMA5/hello_world目錄下
2. 進入/home/SAMA5/hello_world目錄,解壓
3. 進入核心原始碼目錄
4. 設定交叉編譯環境
5. 配置核心 make ARCH=arm sama5_defconfig
6. 編譯核心 make ARCH=arm
7. 編譯核心出錯,出現fatal error: openssl/名單.h: No such file or directory。
原因是libssl-dev~沒有安裝libssl-dev包含libraries, header files and manpages,是openssl的一部分。
8. sudo apt-get install libssl-dev來安裝libssl-dev
9. 核心編譯完成,複製核心映象zImage和裝置樹檔案at91-sama5d4_xplained.dtb到共享資料夾
10. 複製核心到SD卡,啟動核心
1.4 關鍵程式碼分析
(1) 命令提醒
tar.gz格式的壓縮檔案
解壓:[******] $ tar -zxvf FileName.tar.gz
壓縮:[******] $ tar -zcvf FileName.tar.gz DirName
解壓檔案到指定目錄:
[******]$ tar -zxvf FileName.tar.gz -C /***/***
(2) 應用測試:
· 在虛擬機器上使用交叉編譯工具鏈 arm-linux-gnueabi-gcc 編譯生成的 helloarm 可執行檔案,移植到開發板執行時報錯:
· 確定檔案許可權沒問題,輸入 file hello 顯示如下:
· 輸入 ls -l
· 發現 ld-linux-armhf.so.3 是一個連結符號,指向 ,而 ld-linux.so.3也是一個連結符號,於是將 ld-linux.so.3也連結到 ,輸入ln -s ld-linux.so.3,再輸入ls -l ,輸出如下結果:
· 執行./helloarm,可以正常執行