

下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、Linux2.6.14 內(nèi)核的移植實驗網(wǎng)卡-by farsight一、實驗?zāi)康谋緦嶒炇菍?linux2.6.14 版本的移植,實現(xiàn)通過 tftpzImage 并掛載 nfs文件系統(tǒng)。通過本實驗可以基本掌握系統(tǒng)移植的主要步驟和方法,并增們對 linux 系統(tǒng)的整體認(rèn)識。二、實驗1、虛擬機(jī) ubuntu7.042、優(yōu)龍公司開發(fā)板 fs2410 以及開發(fā)板中移植好的 u-boot1.1.43、串口線和網(wǎng)線、電源各一根三、實驗步驟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)核解壓后的目錄,以后示例中,只要是相對路徑全部是相對于/source/kernel/linux-2.6.14 這個目錄。2、修改 Makefile 文件修改內(nèi)核目錄樹根下的的 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如果第一個路徑為/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ū)動到內(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、 支持啟動時掛載 devfs的內(nèi)核
7、支持 devfs 以及在啟動時并在/sbin/init 運(yùn)行之前能自動掛載/dev 為為了devfs 文件系統(tǒng),修改 fs/Kconfig 文件rootfarsight:/source/kernel/linux-2.6.14# vim fs/KconfigPseudo filesystems找到添加如下語句: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)核配置項如下: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#說明:cons
11、ole=ttySAC0,115200 使 kernel 啟動期間的信息全部輸出到串口 0 上.# #2.6 內(nèi)核對于串口名改為 ttySAC0,但這不影響用戶空間的串口編程。用戶空間的串口編程針對的仍是/dev/ttyS0 等#接下來做的是針對文件系統(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ū)動: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. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 拼音線描美術(shù)課件
- 產(chǎn)后盆底功能康復(fù)治療
- 聯(lián)想集團(tuán)員工激勵管理實踐分析
- (統(tǒng)編版)語文三年級上冊口語交際:名字里的故事 課件
- 補(bǔ)肺湯解析與應(yīng)用
- 護(hù)理心理案例分析與實踐應(yīng)用
- 大學(xué)生秋季傳染病預(yù)防指南
- 飲食護(hù)理的種類
- 肺癌的護(hù)理查房
- 初中班主任年度個人工作總結(jié)模版
- NB-T 47037-2021 電站閥門型號編制方法
- 2024年輔警考試公基常識300題(附解析)
- 前額葉皮質(zhì)在記憶中的作用與機(jī)制
- 小學(xué)少先隊活動課說課稿
- 頜下感染的護(hù)理查房
- 妊娠期常見的皮膚病
- T∕CACM 1078-2018 中醫(yī)治未病技術(shù)操作規(guī)范 拔罐
- 糖尿病膳食指南2024
- 腹腔穿刺術(shù)評分表
- 2024屆上海市閔行區(qū)三年級英語第二學(xué)期期中監(jiān)測模擬試題含答案
- 電氣一次主接線圖課件
評論
0/150
提交評論