在Ubuntu上建立Arm Linux 開發(fā)環(huán)境
我使用的是友善2410的板子,以前都是用Fedora,現(xiàn)在家里的電腦被我轉(zhuǎn)為Linux專用的了,裝的是Ubuntu。但是嵌入式還是要玩的,在裝載過程中也遇到一些小麻煩。在此記錄一下,一來自己比較健忘,二來也希望能給一些沒弄過的人一點啟示。
目的:
把ARM linux的交叉開發(fā)環(huán)境,kernel, filesystem, bootloder安裝,并配置,使其可以編譯bootloder, kernel, 可以nfs更新文件系統(tǒng);
資源:
代碼:
arm-linux-toolchains.tgz
matrix5-kernel-v5.5.tgz
vivi.tar.gz
Jflash.tgz
root-for-nfs-v5.5.tgz
規(guī)劃:
交叉編譯器裝在:/usr/local/
kernel, bootloder放在: /home/volans/arm/
用于啟動的nfs文件系統(tǒng)放在:/home/armnfs/
準(zhǔn)備工作:
代碼:
sudo mkdir /home/armnfs
sudo chmod 777 /home/armnfs
mkdir ~/arm
上面前兩句的目的是在/home下建立armnfs目錄,為了開發(fā)的方便,把這個目錄設(shè)成所有用戶可rwx。
然后把上面提到的資源全部拷貝到~/arm/下。
安裝配置:
代碼:
安裝標(biāo)準(zhǔn)的C開發(fā)環(huán)境,由于Ubuntu安裝默認(rèn)是不安裝的,所以需要先安裝一下:
sudo apt-get install gcc g++ libgcc1 libg++ make gdb
代碼:
安裝交叉編譯器
cd /
sudo tar zxvf /home/volans/arm/arm-linux-toolchains.tgz
請在執(zhí)行完成后查看是否存在/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文件系統(tǒng)
cd /home/armnfs
tar zxvf /home/volans/root-for-nfs-v5.5.tgz
代碼:
啟動NFS服務(wù)
請參照我前幾篇文章,關(guān)于啟動NFS服務(wù)器的相關(guān)內(nèi)容。
在/etc/exports中加入如下內(nèi)容:
/home/armnfs/root 192.168.0.69(rw)
代碼:
安裝ncurse
基本上上述配置已經(jīng)基本可以滿足開發(fā)需求,但現(xiàn)在去編譯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, 所以在目標(biāo)版使用NFS啟動的時候把共享目錄換成這個。