我使用的是友善2410的闆子,以前都是用Fedora,現在家裡的電腦被我轉為Linux專用的了,裝的是Ubuntu。但是嵌入式還是要玩的,在裝載過程中也遇到一些小麻煩。在此記錄一下,一來自己比較健忘,二來也希望能給一些沒弄過的人一點啟示。
目的:
把ARM linux的交叉開發環境,kernel, filesystem, bootloder安裝,并配置,使其可以編譯bootloder, kernel, 可以nfs更新檔案系統;
資源:
代碼: |
arm-linux-toolchains.tgz matrix5-kernel-v5.5.tgz vivi.tar.gz Jflash.tgz root-for-nfs-v5.5.tgz |
規劃:
交叉編譯器裝在:/usr/local/
kernel, bootloder放在: /home/volans/arm/
用于啟動的nfs檔案系統放在:/home/armnfs/
準備工作:
代碼: |
sudo mkdir /home/armnfs sudo chmod 777 /home/armnfs mkdir ~/arm 上面前兩句的目的是在/home下建立armnfs目錄,為了開發的友善,把這個目錄設成所有使用者可rwx。 然後把上面提到的資源全部拷貝到~/arm/下。 |
安裝配置:
代碼: |
安裝标準的C開發環境,由于Ubuntu安裝預設是不安裝的,是以需要先安裝一下: sudo apt-get install gcc g++ libgcc1 libg++ make gdb |
代碼: |
安裝交叉編譯器 cd / sudo tar zxvf /home/volans/arm/arm-linux-toolchains.tgz 請在執行完成後檢視是否存在/usr/local/arm檔案夾。 把交叉編譯器的路徑加入到PATH,以友善使用: sudo vi /etc/bash_bashrc 在後面加入如下代碼: if [ -d /usr/local/arm ] ; then PATH=/usr/local/arm/2.95.3/bin:"${PATH}" fi |
代碼: |
解壓bootloader, kernel和flash燒寫工具Jflash cd ~/arm tar zxvf matrix5-kernel-v5.5.tgz tar zxvf vivi.tar.gz tar zxvf Jflash.tgz |
代碼: |
解壓用于啟動的NFS檔案系統 cd /home/armnfs tar zxvf /home/volans/root-for-nfs-v5.5.tgz |
代碼: |
啟動NFS服務 請參照我前幾篇文章,關于啟動NFS伺服器的相關内容。 在/etc/exports中加入如下内容: /home/armnfs/root 192.168.0.69(rw) |
代碼: |
安裝ncurse 基本上上述配置已經基本可以滿足開發需求,但現在去編譯kernel 或vivi的時候,運作make menuconfig會提示ncurses找不到,這是因為menuconfig 用到了ncurses庫。解決辦法如下: sudo apt-get install ncurses-dev |
代碼: |
安裝minicom序列槽工具 sudo atp-get install minicom 然後配置: sudo minicom -s 配置和友善的文檔就一樣了,我就不多廢話。 |
其他的基本就沒什麼了,有兩點要注意,nfs的共享目錄是/home/armnfs/root, 是以在目标版使用NFS啟動的時候把共享目錄換成這個。