下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、Linux2.6.14 內(nèi)核的移植實(shí)驗(yàn)網(wǎng)卡-by farsight一、實(shí)驗(yàn)?zāi)康谋緦?shí)驗(yàn)是對(duì) linux2.6.14 版本的移植,實(shí)現(xiàn)通過(guò) tftpzImage 并掛載 nfs文件系統(tǒng)。通過(guò)本實(shí)驗(yàn)可以基本掌握系統(tǒng)移植的主要步驟和方法,并增們對(duì) linux 系統(tǒng)的整體認(rèn)識(shí)。二、實(shí)驗(yàn)1、虛擬機(jī) ubuntu7.042、優(yōu)龍公司開(kāi)發(fā)板 fs2410 以及開(kāi)發(fā)板中移植好的 u-boot1.1.43、串口線和網(wǎng)線、電源各一根三、實(shí)驗(yàn)步驟1、從linux 內(nèi)核linux2.6.14 內(nèi)核致/source/kernel 目錄rootfarsight:/source/kernel# cd /source/kern
2、el/rootfarsight:/source/kernel# tar -xjvf linux-2.6.14.tar.bz2rootfarsight:/source/kernel/linux-2.6.14# pwd/source/kernel/linux-2.6.14rootfarsight:/source/kernel# cd linux-2.6.14進(jìn)入內(nèi)核解壓后的目錄,以后示例中,只要是相對(duì)路徑全部是相對(duì)于/source/kernel/linux-2.6.14 這個(gè)目錄。2、修改 Makefile 文件修改內(nèi)核目錄樹(shù)根下的的 Makefile,指明交叉編譯器:rootfarsight:/
3、source/kernel/linux-2.6.14# vim Makefile找到 ARCH 和PILE,修改ARCH?= armPILE?= arm-linux-保存退出,然后設(shè)置你的 PATH 環(huán)境變量,使其可以找到你的交叉編譯工具鏈:rootfarsight:/source/kernel/linux-2.6.14# echo $PATH:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games如果第一個(gè)路徑為/usr/local/arm/3.3.2/bin,則不用再進(jìn)行設(shè)置,如果不是則進(jìn)行下面步驟進(jìn)行
4、設(shè)置:rootfarsight:/source/kernel/linux-2.6.14#exportPATH=/usr/local/arm/3.3.2/bin:$PATH或者修改./bashrc 文件:rootfarsight:/source/kernel/linux-2.6.14# vim /.bashrc 在文件最后添加export PATH=/usr/local/arm/3.3.2/bin:$PATH再重新登陸:rootfarsight:/source/kernel/linux-2.6.14# su 3、 添加網(wǎng)卡驅(qū)動(dòng)到內(nèi)核1.2.1 將 cs8900a.h 和 cs8900a.c 文件
5、拷貝到內(nèi)核代碼目錄中:linuxfarsight:/source/kernel/linux-2.6.14$cp /mnt/hgfs/disk/cs8900a.*drivers/netlinuxfarsight:/source/kernel/linux-2.6.14$ls drivers/net/ | grep cs8900acs8900a.c cs8900a.h4、 修改 Makefile 和 Kconfig 文件linuxfarsight:/source/kernel/linux-2.6.14-farsight$ vim drivers/net/Makefile在文件中添加:obj-$(CO
6、NFIG_CS8900a)+=cs8900a.o保存退出,修改 Kconfig 文件linuxfarsight:/source/kernel/linux-2.6.14-farsight$ vim drivers/net/Kconfig加入以下信息:config CS8900atrise CS8900a supportdepends on ARM & NET_ETHERNET-help-Support for cs8900a chipset.To compile this driver as a module, choose M here and read.5、 支持啟動(dòng)時(shí)掛載 devfs的內(nèi)核
7、支持 devfs 以及在啟動(dòng)時(shí)并在/sbin/init 運(yùn)行之前能自動(dòng)掛載/dev 為為了devfs 文件系統(tǒng),修改 fs/Kconfig 文件rootfarsight:/source/kernel/linux-2.6.14# vim fs/KconfigPseudo filesystems找到添加如下語(yǔ)句:config DEVFS_FSbool /dev file system support (OBSOLETE) default yconfig DEVFS_MOUNTbool Automatically moun default ydepends on DEVFS_FSboot6、網(wǎng)卡還要
8、建立頭文件rootfarsight:/source/kernel/linux-2.6.14# touch include/asm-arm/arch-s3c2410/Smdk2410.h文件內(nèi)容如下:#ifndef ASM_ARCH_SMDK2410_H #define ASM_ARCH_SMDK2410_H #include #define 0 xE9000000#define pSMDK2410_ETH_IO 0 x19000000#define SMDK2410_ETH_IRQ IRQ_E#endif97、建立內(nèi)存:rootfarsight:/source/kernel/linux-2.6
9、.14# vim arch/arm/mach-s3c2410/mach-smdk2410.c添加:#include sic struct map_desc smdk2410_iodesc initdata = /* nothing here yet */vSMDK2410_ETH_IO,pSMDK2410_ETH_IO,SZ_1M,MT_DEVICE;8、 配置內(nèi)核產(chǎn)生.config 文件rootfarsight:/source/kernel/linux-2.6.14#cp arch/arm/configs/smdk2410_defconfig.configrootfarsight:/sour
10、ce/kernel/linux-2.6.14# makeconfig在 smdk2410_defconfig 基礎(chǔ)上,增刪的內(nèi)核配置項(xiàng)如下:Loadable module support-* Enable loadable module support* Automatic kernel module loading System Type- * S3C2410 DMA supportBoot options- Default kerneld string:root=/dev/ram rw initrd=0 x30800000,4M console=ttySAC0,115200#說(shuō)明:cons
11、ole=ttySAC0,115200 使 kernel 啟動(dòng)期間的信息全部輸出到串口 0 上.# #2.6 內(nèi)核對(duì)于串口名改為 ttySAC0,但這不影響用戶空間的串口編程。用戶空間的串口編程針對(duì)的仍是/dev/ttyS0 等#接下來(lái)做的是針對(duì)文件系統(tǒng)的設(shè)置File systems- Pseudo filesystems-* /proc file system support* Virtual memory file system support (former shm fs) * /dev file system support (OBSOLETE)* Automatically mounb
12、oot (NEW)Miscellaneous filesystems- Compressed ROM file system support (cramfs)#支持 cramfsNetwork File Systems- NFS file system support下面設(shè)置網(wǎng)卡驅(qū)動(dòng):Device Drivers- Network deviupport-* Network deviupportEthernet (10 or 100Mbit)- * Ethernet (10 or 100Mbit) CS8900a support保存退出,產(chǎn)生.config 文件.config 文件能從提供的 的內(nèi)核包中找到,文件名為 config.back.1.5 編譯內(nèi)核rootfarsight:/source/kernel/linux-2.6.14# make zImage注意:若編譯內(nèi)核出現(xiàn)如下情況LD.tmp_vmlinux1arm-linux-ld:arch/arm/kernel/vmlinux.lds:1439: parse error make: * .tmp_vmlinux1 Error 1解決方法:修改 arch/arm/kernel/vmlinux.ldsrootfarsight:/source/kernel/linux-2.6.14$ vi arch/arm/ke
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 教學(xué)質(zhì)量提升工作方案計(jì)劃
- 2024-2025學(xué)年年七年級(jí)數(shù)學(xué)人教版下冊(cè)專題整合復(fù)習(xí)卷27.3 位似(含答案)-
- 人造板類家具相關(guān)行業(yè)投資方案范本
- 空調(diào)安裝維修合同三篇
- 洗發(fā)水運(yùn)輸合同三篇
- 無(wú)縫管熱連軋機(jī)相關(guān)行業(yè)投資方案
- 農(nóng)業(yè)機(jī)械相關(guān)項(xiàng)目投資計(jì)劃書(shū)范本
- 《操作風(fēng)險(xiǎn)的度量》課件
- 董事會(huì)授權(quán)代理合同三篇
- 委托銷售協(xié)議三篇
- 只爭(zhēng)朝夕-不負(fù)少年-初中勵(lì)志班會(huì)課件
- 一元二次方程復(fù)習(xí)課件市公開(kāi)課一等獎(jiǎng)省課獲獎(jiǎng)?wù)n件
- 技術(shù)成熟度評(píng)價(jià)報(bào)告
- 長(zhǎng)沙理工大學(xué)高數(shù)A(一)試卷1新
- 第二十三章旋轉(zhuǎn)復(fù)習(xí)公開(kāi)課一等獎(jiǎng)市優(yōu)質(zhì)課賽課獲獎(jiǎng)?wù)n件
- 唐山市豐潤(rùn)區(qū)七年級(jí)下學(xué)期語(yǔ)文期末考試試卷
- 大學(xué)生心理健康教育高職PPT全套教學(xué)課件
- 合資有限公司章程(設(shè)董事會(huì)設(shè)監(jiān)事會(huì))
- 思想道德與法治知到章節(jié)答案智慧樹(shù)2023年韶關(guān)學(xué)院
- 音樂(lè)人音四年級(jí)下冊(cè)(2015年新編)《火車托卡塔》(課件)
- 中國(guó)智能制造產(chǎn)業(yè)發(fā)展報(bào)告
評(píng)論
0/150
提交評(píng)論