新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > S5PV210(TQ210)學習筆記——內(nèi)核移植與文件系統(tǒng)構(gòu)建

S5PV210(TQ210)學習筆記——內(nèi)核移植與文件系統(tǒng)構(gòu)建

作者: 時間:2016-11-28 來源:網(wǎng)絡 收藏


另外,從TQ210原理圖的DM9000部分還可以看到,DM9000使用的是外部中斷10,故將中斷號修改為10號。

本文引用地址:http://butianyuan.cn/article/201611/322806.htm

最后需要說明的是smdkv210_dm9000_init函數(shù)的修改,這是因為DM9000的數(shù)據(jù)訪問、命令發(fā)送等是按照一定時序工作的,而DM9000接再SROMC上,因此需要配置SROMC時序,使其可以正確驅(qū)動DM9000,關于時序的詳細配置我還沒研究,不過韋東山老師的第二期視頻中講述了DM9000的驅(qū)動移植,也講了時序配置,需要的話可以參考。

五 掛接文件系統(tǒng)

我們現(xiàn)在配置好了網(wǎng)卡驅(qū)動,還需要對內(nèi)核稍作配置才能使內(nèi)核支持網(wǎng)絡文件系統(tǒng)掛載,具體的可以參考以下配置。

(1) 配置網(wǎng)絡支持

  1. [*]Networkingsupport--->
  2. Networkingoptions--->
  3. <*>Packetsocket
  4. <*>Unixdomainsockets
  5. [*]TCP/IPnetworking
  6. [*]IP:multicasting
  7. [*]IP:kernellevelautoconfiguration
  8. [*]IP:DHCPsupport
  9. [*]IP:BOOTPsupport
  10. [*]IP:RARPsupport
  11. [*]IP:multicastrouting

(2) 配置網(wǎng)卡設備支持
  1. DeviceDrivers--->
  2. [*]Networkdevicesupport--->
  3. [*]Ethernetdriversupport--->
  4. <*>DM9000support

(3) 配置網(wǎng)絡文件系統(tǒng)支持
  1. Filesystems--->
  2. [*]NetworkFileSystems--->
  3. <*>NFSclientsupport
  4. <*>NFSclientsupportforNFSversion2
  5. <*>NFSclientsupportforNFSversion3
  6. [*]NFSclientsupportfortheNFSv3ACLprotocolextension
  7. <*>NFSclientsupportforNFSversion4
  8. [*]RootfilesystemonNFS

配置完以上三項后保存配置,然后再次編譯內(nèi)核,直接執(zhí)行make指令即可。

這時,重新下載內(nèi)核測試運行,沒有意外的話現(xiàn)在內(nèi)核已經(jīng)可以正常工作了,如果不幸的遇到了問題,那么問題應該是NFS服務器配置的問題,ubuntu下配置NFS服務器很簡單

  1. sudoapt-getinstallnfs-kernel-server

然后以根權(quán)限打開/etc/exports文件,我的NFS根目錄為/nfsroot,故,我設置export為
  1. /nfsroot/*(rw,sync,no_root_squash)

設置完成之后需要重啟NFS服務,ubuntu下執(zhí)行

  1. sudoservicenfs-kernel-serverrestart

重啟的時候會看到一些警告,如下圖

但是上述警告不影響使用。反之,如果設置為no_subtree_check,雖然系統(tǒng)可以正常掛載,但是無法進行創(chuàng)建文件等寫操作,也就是說,掛載的文件系統(tǒng)是只讀的。最后還要修改下/nfsroot的權(quán)限,為了以后使用方便。

  1. chmoda+x/nfsroot-R

到這里,基于TQ210的內(nèi)核移植已經(jīng)初步完成了,接下來我們就可以進行驅(qū)動開發(fā)了。

六 問題總結(jié)

我在配置過程中遇到了很多問題,現(xiàn)在稍作總結(jié)

(1) 串口中斷打印完Starting kernel...之后就沒有任何輸出了

配置內(nèi)核,指定調(diào)試信息輸出端口為UART0,文中講到了詳細配置。

(2) 解壓完內(nèi)核之后沒有任何輸出了

a.檢查bootargs環(huán)境變量設置是否正確,必須設置console=ttySAC0

b.檢查uboot傳遞的機器碼根內(nèi)核是否對應

c.檢查uboot傳給內(nèi)核的taglist是否正確

(3) 內(nèi)核無法掛接到NFS文件系統(tǒng)

a. 正確移植DM9000網(wǎng)卡驅(qū)動

b. 配置內(nèi)核的網(wǎng)絡部分、網(wǎng)卡設備和文件系統(tǒng)中的網(wǎng)絡文件系統(tǒng)

c. 確認NFS服務器的配置是否正確,用另外其他linux或已經(jīng)移植好系統(tǒng)的linux進行測試(mount -o nolock xx.xx.xx.xx:/nfsroot/rootfs)。

(4) 文件系統(tǒng)掛接成功,無法執(zhí)行/linuxrc

a. 檢查NFS配置文件,最好以NFSv2方式配置,內(nèi)核不支持的話會出現(xiàn)問題。

b. 最好以文中推薦的方式進行NFS服務器配置。

c. 配置完成之后需要重啟NFS服務或者是重啟系統(tǒng)。

七 其它問題

如果您在移植過程中出現(xiàn)了其他問題歡迎留言討論。


上一頁 1 2 3 下一頁

評論


技術(shù)專區(qū)

關閉