在MIPS開發(fā)板上建立Linux系統(tǒng)及開發(fā)環(huán)境
發(fā)布時(shí)間:2007/8/30 0:00:00 訪問次數(shù):527
來源:21IC中國電子網(wǎng)作者:李杰 賀占莊
作者Email: jie_yi@sohu.com
介紹了利用已有的MIPS版Linux源文件包,編譯可運(yùn)行的Linux內(nèi)核的方式;討論了在主機(jī)上建立相關(guān)服務(wù)器,通過NFS服務(wù)從主機(jī)上下載內(nèi)核,在無盤開發(fā)板上啟動(dòng)Linux的方法。
關(guān)鍵詞:MIPS NFS 啟動(dòng)Linux
一、引言
大多數(shù)基于MIPS處理器的平臺(tái)上都沒有提供軟、硬盤接口,一般情況下,也沒有在板載Flash里燒入可使用的操作系統(tǒng)。沒有操作系統(tǒng),用戶的使用就會(huì)受到很多限制,應(yīng)用程序的開發(fā)、調(diào)試過程就會(huì)變得相當(dāng)復(fù)雜。因此,建立合適的操作系統(tǒng)及開發(fā)環(huán)境,可以方便用戶,簡(jiǎn)化開發(fā)調(diào)試過程。本文以RedHat Linux 為例,說明在RM7000A處理器無盤開發(fā)板上建立Linux系統(tǒng)的方法。所用硬件設(shè)備:帶有10/100Mb以太網(wǎng)接口和用于顯示的串口的開發(fā)板、裝有Redhat Linux 9.0的主機(jī)(Host PC)。
二、編譯內(nèi)核
l準(zhǔn)備工作
編譯前,需要有MIPS處理器版的Linux源文件包,簡(jiǎn)單的方法是從MIPS公司或者SGI公司等的FTP服務(wù)器上下載(ftp://ftp.mips.com/pub/linux或ftp://oss.sgi.com或ftp://ftp.linux-mips.org/linux/mips )。另外,由于所用主機(jī)是x86體系,要編譯在MIPS處理器上運(yùn)行的內(nèi)核,需要有能在x86處理器上工作的交叉編譯工具;為了使Linux啟動(dòng)后,可以在開發(fā)板上直接開發(fā)應(yīng)用程序,還需要MIPS版的NFS根目錄結(jié)構(gòu)包,它包括了Linux運(yùn)行需要的目錄結(jié)構(gòu)、配置文件、工具等等。同樣,根目錄結(jié)構(gòu)包和工具包也可在上述網(wǎng)站的服務(wù)器上下載。下載根目錄結(jié)構(gòu)包和交叉編譯工具時(shí),要注意選擇與開發(fā)板設(shè)置的數(shù)據(jù)格式(高序Big Endian或低序Little Endian)一致的版本。
獲得源文件包、根目錄結(jié)構(gòu)包文件后,將其解壓至指定目錄,如分別指定為:/tftpboot和/tftpboot/mips,包內(nèi)文件和子目錄就全部展開在相應(yīng)目錄中;
對(duì)于rpm格式的工具包文件,可在終端窗口用命令行方式展開:
rpm –ihv toolchain-mips-*.rpm
交叉編譯工具自動(dòng)安裝到/usr/tools的目錄下。進(jìn)入/tftpboot/linux目錄,打開Makefile文件,更改以下語句為:
ARCH=mips
CROSS_COMPILE=/usr/tools/bin/mips-linux-
l配置工作
接下來,是對(duì)編譯能否順利通過至關(guān)重要的配置過程。所謂配置,就是根據(jù)開發(fā)板具體情況,只選擇必需選項(xiàng),使重編譯的內(nèi)核既提供所需要的功能,又占據(jù)最小存儲(chǔ)空間。由于Linux系統(tǒng)各功能模塊之間存在不同程度的依賴關(guān)系,配置過程中有可能會(huì)破壞這些關(guān)聯(lián);因此配置完成后不一定能通過關(guān)聯(lián)檢測(cè),可能需要反復(fù)地進(jìn)行配置取舍。
配置過程需要注意:
1.?dāng)?shù)據(jù)格式與開發(fā)板的設(shè)置和交叉編譯工具一致,才能生成正確的內(nèi)核;
2.設(shè)置正確的處理器,以及相近的開發(fā)板類型;
3.需提供對(duì)標(biāo)準(zhǔn)串口的支持和通過串口顯示的功能;
4.由于編譯內(nèi)核的主機(jī)不是MIPS處理器,所以一定要設(shè)置CROSSCOMPILE項(xiàng);
5.因?yàn)橐ㄟ^網(wǎng)絡(luò)下載內(nèi)核來啟動(dòng),對(duì)PCI設(shè)備、網(wǎng)絡(luò)協(xié)議、網(wǎng)絡(luò)設(shè)備的支持必不可少,此外,在網(wǎng)絡(luò)文件系統(tǒng)中還要選擇NFS_FS和ROOT_NFS選項(xiàng);
以上為配置基本選項(xiàng),其余功能可根據(jù)開發(fā)板具體情況取舍。配置步驟如下:
cd /tftpboot/linux-- 進(jìn)入目錄/tftpboot/linux
make config -- 進(jìn)行行命令配置
make dep-- 關(guān)聯(lián)檢測(cè)
l編譯內(nèi)核
如果無出錯(cuò)提示,表明配置正確,可以編譯內(nèi)核:
make boot
編譯完成后在/tftpboot/linux和/tftpboot/linux/arch/mips/boot中都會(huì)出現(xiàn)不同格式的內(nèi)核映像文件vmlinux、及System.map文件。
三、設(shè)置主機(jī)服務(wù)
1.設(shè)置TFTP服務(wù)器
在RedHat Linux安裝CD3中找到tftp文件包:tftp-0.32-4.i386.rpm,在終端輸入:rpm –ihv tftp-0.32-4.i386.rpm,系統(tǒng)自動(dòng)安裝好tftp服務(wù)器;
cd /etc/xinetd.d-- 進(jìn)入目錄/etc/xinetd.d
vi tftp--只有在安裝了tftp服務(wù)后,才會(huì)出現(xiàn)tftp文件
修改其中disable和server_args項(xiàng),其余可保持不變。以下為一個(gè)完整的tftp文件:
Service tftp
{
socket_type= dgram
protocol = udp
wait= yes
user= root
server=/usr/sbin/in.tftpd
server_args= -s /tftpboot/linux-- 根據(jù)需要設(shè)置tftp服務(wù)默認(rèn)目錄
disable= no -- 默認(rèn)為yes,應(yīng)修改成no
per_source= 11
cps= 100 2
<
來源:21IC中國電子網(wǎng)作者:李杰 賀占莊
作者Email: jie_yi@sohu.com
介紹了利用已有的MIPS版Linux源文件包,編譯可運(yùn)行的Linux內(nèi)核的方式;討論了在主機(jī)上建立相關(guān)服務(wù)器,通過NFS服務(wù)從主機(jī)上下載內(nèi)核,在無盤開發(fā)板上啟動(dòng)Linux的方法。
關(guān)鍵詞:MIPS NFS 啟動(dòng)Linux
一、引言
大多數(shù)基于MIPS處理器的平臺(tái)上都沒有提供軟、硬盤接口,一般情況下,也沒有在板載Flash里燒入可使用的操作系統(tǒng)。沒有操作系統(tǒng),用戶的使用就會(huì)受到很多限制,應(yīng)用程序的開發(fā)、調(diào)試過程就會(huì)變得相當(dāng)復(fù)雜。因此,建立合適的操作系統(tǒng)及開發(fā)環(huán)境,可以方便用戶,簡(jiǎn)化開發(fā)調(diào)試過程。本文以RedHat Linux 為例,說明在RM7000A處理器無盤開發(fā)板上建立Linux系統(tǒng)的方法。所用硬件設(shè)備:帶有10/100Mb以太網(wǎng)接口和用于顯示的串口的開發(fā)板、裝有Redhat Linux 9.0的主機(jī)(Host PC)。
二、編譯內(nèi)核
l準(zhǔn)備工作
編譯前,需要有MIPS處理器版的Linux源文件包,簡(jiǎn)單的方法是從MIPS公司或者SGI公司等的FTP服務(wù)器上下載(ftp://ftp.mips.com/pub/linux或ftp://oss.sgi.com或ftp://ftp.linux-mips.org/linux/mips )。另外,由于所用主機(jī)是x86體系,要編譯在MIPS處理器上運(yùn)行的內(nèi)核,需要有能在x86處理器上工作的交叉編譯工具;為了使Linux啟動(dòng)后,可以在開發(fā)板上直接開發(fā)應(yīng)用程序,還需要MIPS版的NFS根目錄結(jié)構(gòu)包,它包括了Linux運(yùn)行需要的目錄結(jié)構(gòu)、配置文件、工具等等。同樣,根目錄結(jié)構(gòu)包和工具包也可在上述網(wǎng)站的服務(wù)器上下載。下載根目錄結(jié)構(gòu)包和交叉編譯工具時(shí),要注意選擇與開發(fā)板設(shè)置的數(shù)據(jù)格式(高序Big Endian或低序Little Endian)一致的版本。
獲得源文件包、根目錄結(jié)構(gòu)包文件后,將其解壓至指定目錄,如分別指定為:/tftpboot和/tftpboot/mips,包內(nèi)文件和子目錄就全部展開在相應(yīng)目錄中;
對(duì)于rpm格式的工具包文件,可在終端窗口用命令行方式展開:
rpm –ihv toolchain-mips-*.rpm
交叉編譯工具自動(dòng)安裝到/usr/tools的目錄下。進(jìn)入/tftpboot/linux目錄,打開Makefile文件,更改以下語句為:
ARCH=mips
CROSS_COMPILE=/usr/tools/bin/mips-linux-
l配置工作
接下來,是對(duì)編譯能否順利通過至關(guān)重要的配置過程。所謂配置,就是根據(jù)開發(fā)板具體情況,只選擇必需選項(xiàng),使重編譯的內(nèi)核既提供所需要的功能,又占據(jù)最小存儲(chǔ)空間。由于Linux系統(tǒng)各功能模塊之間存在不同程度的依賴關(guān)系,配置過程中有可能會(huì)破壞這些關(guān)聯(lián);因此配置完成后不一定能通過關(guān)聯(lián)檢測(cè),可能需要反復(fù)地進(jìn)行配置取舍。
配置過程需要注意:
1.?dāng)?shù)據(jù)格式與開發(fā)板的設(shè)置和交叉編譯工具一致,才能生成正確的內(nèi)核;
2.設(shè)置正確的處理器,以及相近的開發(fā)板類型;
3.需提供對(duì)標(biāo)準(zhǔn)串口的支持和通過串口顯示的功能;
4.由于編譯內(nèi)核的主機(jī)不是MIPS處理器,所以一定要設(shè)置CROSSCOMPILE項(xiàng);
5.因?yàn)橐ㄟ^網(wǎng)絡(luò)下載內(nèi)核來啟動(dòng),對(duì)PCI設(shè)備、網(wǎng)絡(luò)協(xié)議、網(wǎng)絡(luò)設(shè)備的支持必不可少,此外,在網(wǎng)絡(luò)文件系統(tǒng)中還要選擇NFS_FS和ROOT_NFS選項(xiàng);
以上為配置基本選項(xiàng),其余功能可根據(jù)開發(fā)板具體情況取舍。配置步驟如下:
cd /tftpboot/linux-- 進(jìn)入目錄/tftpboot/linux
make config -- 進(jìn)行行命令配置
make dep-- 關(guān)聯(lián)檢測(cè)
l編譯內(nèi)核
如果無出錯(cuò)提示,表明配置正確,可以編譯內(nèi)核:
make boot
編譯完成后在/tftpboot/linux和/tftpboot/linux/arch/mips/boot中都會(huì)出現(xiàn)不同格式的內(nèi)核映像文件vmlinux、及System.map文件。
三、設(shè)置主機(jī)服務(wù)
1.設(shè)置TFTP服務(wù)器
在RedHat Linux安裝CD3中找到tftp文件包:tftp-0.32-4.i386.rpm,在終端輸入:rpm –ihv tftp-0.32-4.i386.rpm,系統(tǒng)自動(dòng)安裝好tftp服務(wù)器;
cd /etc/xinetd.d-- 進(jìn)入目錄/etc/xinetd.d
vi tftp--只有在安裝了tftp服務(wù)后,才會(huì)出現(xiàn)tftp文件
修改其中disable和server_args項(xiàng),其余可保持不變。以下為一個(gè)完整的tftp文件:
Service tftp
{
socket_type= dgram
protocol = udp
wait= yes
user= root
server=/usr/sbin/in.tftpd
server_args= -s /tftpboot/linux-- 根據(jù)需要設(shè)置tftp服務(wù)默認(rèn)目錄
disable= no -- 默認(rèn)為yes,應(yīng)修改成no
per_source= 11
cps= 100 2
<
熱門點(diǎn)擊
- Keil C動(dòng)態(tài)內(nèi)存管理機(jī)制分析及改進(jìn)
- 嵌入式系統(tǒng)內(nèi)存管理方案研究
- ARM內(nèi)核的中斷技術(shù)
- 視頻采集卡Windows95驅(qū)動(dòng)程序設(shè)計(jì)
- Microwindows在遠(yuǎn)程紅外抄表器中的
- 利用ColdFire uClinux實(shí)現(xiàn)數(shù)據(jù)
- 采用8位單片機(jī)驅(qū)動(dòng)PCI總線網(wǎng)卡的設(shè)計(jì)方案
- 基于I2C總線的MSP430單片機(jī)應(yīng)用系統(tǒng)設(shè)
- 基于8051軟核的SOPC系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
- 一款32位嵌入式CPU的定點(diǎn)加法器設(shè)計(jì)
推薦技術(shù)資料
- 羅盤誤差及補(bǔ)償
- 造成羅盤誤差的主要因素有傳感器誤差、其他磁材料干擾等。... [詳細(xì)]
- AMOLED顯示驅(qū)動(dòng)芯片關(guān)鍵技
- CMOS圖像傳感器技術(shù)參數(shù)設(shè)計(jì)
- GB300 超級(jí)芯片應(yīng)用需求分
- 4NP 工藝NVIDIA Bl
- GB300 芯片、NVL72
- 首個(gè)最新高端芯片人工智能服務(wù)器
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動(dòng)IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機(jī)遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計(jì)
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究