- 相關推薦
在MIPS開發板上建立Linux系統及開發環境
作者Email: jie_yi@sohu.com介紹了利用已有的MIPS版Linux源文件包,編譯可運行的Linux內核的方式;討論了在主機上建立相關服務器,通過NFS服務從主機上下載內核,在無盤開發板上啟動Linux的方法。
關鍵詞:MIPS NFS 啟動Linux
一、引言
大多數基于MIPS處理器的平臺上都沒有提供軟、硬盤接口,一般情況下,也沒有在板載Flash里燒入可使用的操作系統。沒有操作系統,用戶的使用就會受到很多限制,應用程序的開發、調試過程就會變得相當復雜。因此,建立合適的操作系統及開發環境,可以方便用戶,簡化開發調試過程。本文以RedHat Linux 為例,說明在RM7000A處理器無盤開發板上建立Linux系統的方法。所用硬件設備:帶有10/100Mb以太網接口和用于顯示的串口的開發板、裝有Redhat Linux 9.0的主機(Host PC)。如圖1:
l 準備工作
編譯前,需要有MIPS處理器版的Linux源文件包,簡單的方法是從MIPS公司或者SGI公司等的FTP服務器上下載(ftp://ftp.mips.com/pub/linux 或ftp://oss.sgi.com 或ftp://ftp.linux-mips.org/linux/mips )。另外,由于所用主機是x86體系,要編譯在MIPS處理器上運行的內核,需要有能在x86處理器上工作的交叉編譯工具;為了使Linux啟動后,可以在開發板上直接開發應用程序,還需要MIPS版的NFS根目錄結構包,它包括了Linux運行需要的目錄結構、配置文件、工具等等。同樣,根目錄結構包和工具包也可在上述網站的服務器上下載。下載根目錄結構包和交叉編譯工具時,要注意選擇與開發板設置的數據格式(高序Big Endian或低序Little Endian)一致的版本。
獲得源文件包、根目錄結構包文件后,將其解壓至指定目錄,如分別指定為:/tftpboot和/tftpboot/mips,包內文件和子目錄就全部展開在相應目錄中;
對于rpm格式的工具包文件,可在終端窗口用命令行方式展開:
rpm –ihv toolchain-mips-*.rpm
ARCH=mips
CROSS_COMPILE=/usr/tools/bin/mips-linux-
l 配置工作
接下來,是對編譯能否順利通過至關重要的配置過程。所謂配置,就是根據開發板具體情況,只選擇必需選項,使重編譯的內核既提供所需要的功能,又占據最小存儲空間。由于Linux系統各功能模塊之間存在不同程度的依賴關系,配置過程中有可能會破壞這些關聯;因此配置完成后不一定能通過關聯檢測,可能需要反復地進行配置取舍。
配置過程需要注意:
1. 數據格式與開發板的設置和交叉編譯工具一致,才能生成正確的內核;
2. 設置正確的處理器,以及相近的開發板類型;
3. 需提供對標準串口的支持和通過串口顯示的功能;
4. 由于編譯內核的主機不是MIPS處理器,所以一定要設置CROSSCOMPILE項;
5. 因為要通過網絡下載內核來啟動,對PCI設備、網絡協議、網絡設備的支持必不可少,此外,在網絡文件系統中還要選擇NFS_FS和ROOT_NFS選項;
cd /tftpboot/linux -- 進入目錄/tftpboot/linux
make config -- 進行行命令配置
make dep -- 關聯檢測
l 編譯內核
如果無出錯提示,表明配置正確,可以編譯內核:
make boot
/tftpboot/linux和/tftpboot/linux/arch/mips/boot中都會出現不同格式的內核映像文件vmlinux、及System.map文件。
1. 設置TFTP服務器
在RedHat Linux安裝CD3中找到tftp文件包:tftp-0.32-4.i386.rpm,在終端輸入: rpm –ihv tftp-0.32-4.i386.rpm,系統自動安裝好tftp服務器;
cd /etc/xinetd.d -- 進入目錄/etc/xinetd.d
vi tftp --只有在安裝了tftp服務后,才會出現tftp文件
修改其中disable和server_args項,其余可保持不變。以下為一個完整的tftp文件:
Service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
【在MIPS開發板上建立Linux系統及開發環境】相關文章:
基于ARM9微處理器與Linux操作系統的SD驅動開發03-07
在Linux下用Qt開發新一代DTS圖形數據系統的分析03-18
linux系統論文參考文獻11-14
供應室管理系統的建立及應用03-16
嵌入式Linux系統及其應用前景03-18
嵌入式Linux系統下Microwindows的應用03-19
基于Linux系統的包過濾防火墻03-08