嵌入式開發(fā)實驗筆記(六)

移植新的(3.4.2)內(nèi)核至開發(fā)板中

date: 2018年1月25日

1.下載并初步編譯

  1. 解壓并修改Makefile
vim Makefile + 195
- ARCH ?= $(SUBARCH)
- CROSS_COMPILE = $(CONFIG_CROSS_COMPILE: "%" = %)

+ ARCH ?= arm
+ CROSS_COMPILE = arm-linux-
  1. 使用默認(rèn)配置進行初次編譯
make s3c2410_defconfig (可以在 arch/arm/configs 中查看相關(guān)配置文件)
make uImage

# 期間報錯Can't use 'defined(@array)' (Maybe you should just omit the 
# defined()?) at kernel/timeconst.pl line 373
# 解決方案:進入 kernel/timeconst.pl line 373
- if (!defined(@val)) {
+ if (!(@val)) {
  1. 修改代碼支持 JZ2440
/* arch/arm/mach-s3c24xx/mach-s3c2440.c line 165 */
-   s3c24xx_init_clocks(16934400);
+   s3c24xx_init_clocks(12000000);
  1. 修改分區(qū)表
/* arch/arm/mach-s3c24xx/common-smdk.c line 111:(static struct mtd_partition smdk_default_nand_part[] ) */
// 更改為:
static struct mtd_partition smdk_default_nand_part[] = {
    [0] = {
        .name   = "bootloader",
        .size   = SZ_256K,
        .offset = 0,
    },
    [1] = {
        .name   = "params",
        .offset = MTDPART_OFS_APPEND,
        .size   = SZ_128K,
    },
    [2] = {
        .name   = "kernel",
        .offset = MTDPART_OFS_APPEND,
        .size   = SZ_1M * 3,
    },
    [3] = {
        .name   = "rootfs",
        .offset = MTDPART_OFS_APPEND,
        .size   = MTDPART_SIZ_FULL,
    },
};
  1. nfs 下載文件時出現(xiàn)如下錯誤:
T T *** ERROR: Cannot umount

解決方法: 在主機的 /etc/hosts 中加入如下內(nèi)容:

# 開發(fā)板IP      nfs文件目錄
192.168.1.17  /path/to/nfs_root/
  1. 文件系統(tǒng)啟動之后出現(xiàn)如下報錯:
Attempted to kill init! exitcode=0x00000004

原因及解決方法:

報錯碼 0x00000004 即為 SIGILL --- 非法指令郑诺;而產(chǎn)生非法指令的原因是竖共,我們在編譯時用的是
arm-none-linux-guneabi。 其中eabi的意思是指可執(zhí)行層應(yīng)用程序二進制接口淀歇,所以內(nèi)核也需要
支持這種接口

make menuconfig  # search EABI
Kernel Features
    [*]USE the ARM EABI to compile the kernel # y to select
make uImage

編譯支持yaffs2

  1. 下載yaffs2 源碼
  2. 依據(jù)yaffs2 提供的README 來將yaffs2 拷到內(nèi)核之中:
./patch_ker.sh c m /path/to/kernel
  1. 配置添加yaffs2支持
make menuconfig
#  如果提示類似fs/yaffs2/Kconfig:131: unknown option "If"的錯誤,可以把
# fs/yaffs2/Kconfig文件中的help選項后的說明文字的空行刪除姚糊。
# 配置選項的路徑如下: 
# File systems/Miscellaneous file systems/ yaffs2
make uImage
  1. 掛載無法運行的錯誤(我沒有遇到)
/* u-boot: drivers/mtd/nand/nand_util.c line 518 */
- if (!need_skip && !(flags & WITH_DROP_FFS))
+ if (!need_skip && !(flags & WITH_DROP_FFS) && !(flags & WITH_YAFFS_OOB))

裁剪

make menuconfig
System Type
    Samsung S3C24xx Supports
        # 去掉無關(guān)的soc

PS: 自己改變分區(qū)大小贿衍,無法啟動,報錯信息如下

NAND read: device 0 offset 0xa0000, size 0x200000

 2097152 bytes read: error
## Booting kernel from Legacy Image at 72000000 ...
   Image Name:   Linux-2.6.30
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    1939156 Bytes =  1.8 MB
   Load Address: 70008000
   Entry Point:  70008000
   Verifying Checksum ... Bad CRC or data
Error: Can't get kernel image!

解決方案

  1. 問題出現(xiàn)的原因是因為救恨,燒寫內(nèi)核和文件系統(tǒng)的地方出現(xiàn)了壞塊贸辈,導(dǎo)致無法正確識別到 kernel
    文件
  2. 解決方法:就是利用 “ nand scrub” 命令將壞塊清除掉然后重新編譯
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市肠槽,隨后出現(xiàn)的幾起案子擎淤,更是在濱河造成了極大的恐慌,老刑警劉巖秸仙,帶你破解...
    沈念sama閱讀 219,270評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件嘴拢,死亡現(xiàn)場離奇詭異,居然都是意外死亡寂纪,警方通過查閱死者的電腦和手機席吴,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,489評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來捞蛋,“玉大人孝冒,你說我怎么就攤上這事〗蠼唬” “怎么了迈倍?”我有些...
    開封第一講書人閱讀 165,630評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長捣域。 經(jīng)常有香客問我啼染,道長,這世上最難降的妖魔是什么焕梅? 我笑而不...
    開封第一講書人閱讀 58,906評論 1 295
  • 正文 為了忘掉前任迹鹅,我火速辦了婚禮,結(jié)果婚禮上贞言,老公的妹妹穿的比我還像新娘斜棚。我一直安慰自己,他們只是感情好该窗,可當(dāng)我...
    茶點故事閱讀 67,928評論 6 392
  • 文/花漫 我一把揭開白布弟蚀。 她就那樣靜靜地躺著,像睡著了一般酗失。 火紅的嫁衣襯著肌膚如雪义钉。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,718評論 1 305
  • 那天规肴,我揣著相機與錄音捶闸,去河邊找鬼夜畴。 笑死,一個胖子當(dāng)著我的面吹牛删壮,可吹牛的內(nèi)容都是我干的贪绘。 我是一名探鬼主播,決...
    沈念sama閱讀 40,442評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼央碟,長吁一口氣:“原來是場噩夢啊……” “哼税灌!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起硬耍,我...
    開封第一講書人閱讀 39,345評論 0 276
  • 序言:老撾萬榮一對情侶失蹤垄琐,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后经柴,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體狸窘,經(jīng)...
    沈念sama閱讀 45,802評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,984評論 3 337
  • 正文 我和宋清朗相戀三年坯认,在試婚紗的時候發(fā)現(xiàn)自己被綠了翻擒。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,117評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡牛哺,死狀恐怖陋气,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情引润,我是刑警寧澤巩趁,帶...
    沈念sama閱讀 35,810評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站淳附,受9級特大地震影響议慰,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜奴曙,卻給世界環(huán)境...
    茶點故事閱讀 41,462評論 3 331
  • 文/蒙蒙 一别凹、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧洽糟,春花似錦炉菲、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,011評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至薪介,卻和暖如春沉御,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背昭灵。 一陣腳步聲響...
    開封第一講書人閱讀 33,139評論 1 272
  • 我被黑心中介騙來泰國打工吠裆, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人烂完。 一個月前我還...
    沈念sama閱讀 48,377評論 3 373
  • 正文 我出身青樓试疙,卻偏偏與公主長得像,于是被迫代替她去往敵國和親抠蚣。 傳聞我的和親對象是個殘疾皇子祝旷,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,060評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 月底了訂單就會少很多,因為月初各個辦事處都要結(jié)賬嘶窄,相對來說訂的人就比較少怀跛,月初訂的人比較多,就會比較忙柄冲。 剛接手了...
    紅豬豬閱讀 221評論 11 6
  • 文 / 燭伊wlx 你好啊现横,冬天的問候總是顯得比其他時候更熱絡(luò)漓拾,或許是窗外的大風(fēng),讓人不得不自己暖和起來戒祠。冬天了骇两,...
    燭伊wlx閱讀 430評論 3 4
  • 因為熊大熊二的阻止,光頭強一直都沒有能在狗熊嶺靠砍樹姜盈,獲得豐厚的報酬和更好的事業(yè)低千。于是他思慮良久決定離開狗熊嶺,去...
    立爽閱讀 350評論 0 2
  • 又一年的高考過去了,雖然同自己并沒有多大關(guān)系饱亮,但偶爾翻個朋友圈相冊還是能領(lǐng)略不少高考段子的矾芙。其中有個段子可謂流行了...
    落音吹羽閱讀 1,273評論 0 1