學習核心移植的深刻教訓

2021-05-26 05:42:40 字數 1717 閱讀 9853

第一天用fs2410從網路掛載linux核心和檔案系統成功後,開始自己配置u-boot。

第二天配置自己的u-boot,可以把核心燒寫在nand flash記憶體了。

第三天就是噩夢的開始,好事不過三。

一切都準備好了。就緒:開啟開發板的終端,開啟開發板的電源,終端顯示u-boot工作正常,和我的ubuntu配合的很好。第二步工作:給u-

boot配置環境,設定ip,設定bootcmd 引數,設定 bootargs引數。好了,就最後一步了:重啟開發板,成功與否就在這一按。板子重新工作

100003/2 on 192.168.7.115」那裡,等了好久好久,最後提示vfs失敗,核心失敗。

最初懷疑是nfs工作不正常,因為是在虛擬機器使用ubuntu,聽過老師傅說過在虛擬機器下會有這種情況。以是我就找nfs的問題,但確定了

nfs工作正常。我該懷疑開發板的網絡卡了,換來別人的開發板,再次配置u-boot,啟動正常,成功引導核心掛載了檔案系統,但再換回了我的板

子就是不行。是不是聽起來問題的答案就浮在了水面:開發板網絡卡壞了?

第三天就要結束了。問題就撂在那,等明天去換板。聽起來還不錯可以換新貨了。

第四天,板子拿去別人那叫人換,先拿來乙個可以的開發板。回來一上電,恩。。。也是不行?看來第一次懷疑是不對的。有拿回我的

板子,這次是把我的板子拿到別人的環境下測試,恩。。。,成功。還是我的開發環境問題。

好吧,那就慢慢來分析了。

先從虛擬的ubuntu開始,因為之前更新過,懷疑從此有問題只是還沒發現,用新的ubuntu。依然不行。

開始考慮是不是vm虛擬機器某個時候自動更新了,硬體不相容啊,重灌一遍。還是不行。

該去哪考慮呢?xp系統,與它有觀點機率也太小了吧,但是問題已經到了如此地步,只好讓xp復活一次了。這xp也夠大了,都要大半

個鐘,只好吃飯了。

幾乎每次啟動嘗試我都是按照寫好的配置複製到u-boot下,一天也要快過去了,這板子都要給我燒了一天。

吃完飯回來,有要重新安裝vm了,配置好環境又一天過去了。

第五天,我已經做好的了最好的打算,主機。好,搬來一台主機,先配好所有的環境。結果到最後的那一按,還是出現最初的那個提

示。現在我這的好像找個地方哭去了。

老天真會眷顧人。

哦,也許這是我運氣不夠好,這開發板與我不合。好,那麼東西都給你換了,我也真夠意思的,最後連人也換了。這回我我叫來乙個成

功「掛過」的傢伙來。他來看了看我的整個過程,他就開始懷疑我的核心和u-boot不匹配,我也覺得有點道理,即使不是,我那核心檔案從xp

到虛擬機器來回拷也多少損了點吧,曾經有過壞過檔案的經歷。試過了換核心和換u-boot也是還不行。

最後就該了一下配置,恩。。。,啟動成功?夥計說他也不確定。於是就這兩個配置切換了一下,這是這該死的配置錯了。

他在我的配置setenv  bootargs  root=nfs  nfsroot=192.168.7.115:/source/rootfs init=/linuxrc console=ttysac0,115200  後面加了ip=192.168.7.175

幾十年的老師傅都搞不定,他來按幾下鍵盤就讓那開發板聽他使喚了?我真不服氣。

檔案系統的時候用到rpc協議,要指定自己的ip接受ubuntu的服務。我一開始沒注意自己的引數的設定,只是懂得引數的作用,協議部分

我的不懂了,我看了那個ip跟前面的一樣覺得多餘就把人家的刪了,結果就釀出禍來了。也因為問題的分析不夠透徹就開始行動了,導致最後

浪費那麼多精力。所以應該先把問題分成內部很外部來解決。

linux學習筆記核心篇,核心移植

1.將核心從flash讀到記憶體 2.設定tag引數,3.啟動kernel,引數1r0 0,r1 機器id,r3 tag位址 1.讀取機器碼,呼叫相對應的初始化函式。2.解析tag引數,3.裝載驅動,網絡卡,flash等驅動 4.掛載根檔案系統,5.啟動應用程式。1.啟動核心函式檔案 cmd boo...

新核心移植 LCD驅動 移植新的核心

問 之前 kernel command line console ttysac0,115200 root dev nfs nfsroot 192.168.2.102 work nfs root fs mini mdev new ip 192.168.2.5 192.168.2.102 192.168...

arm學習之linux核心移植分析

linux核心可從 kernel.org 上獲得,其中偶數版本為穩定版本。linux核心 結構 kernel 核心管理的核心 系統相關 在arch kernel中 arch 體系結構相關 每個目錄 乙個體繫結構 include linux 標頭檔案 include asm 體系結構相關標頭檔案 in...