qileilove

          blog已經(jīng)轉(zhuǎn)移至github,大家請(qǐng)?jiān)L問(wèn) http://qaseven.github.io/

          Linux內(nèi)核移植問(wèn)題總結(jié)

          移植一個(gè)內(nèi)核會(huì)涉及到很多東西,對(duì)想學(xué)arm的人來(lái)說(shuō)還是挺有幫助的,會(huì)比直接拿別人移植好的內(nèi)核來(lái)跑有趣的多。
            一、串口打印問(wèn)題
            內(nèi)核移植的第一步就是要有打印輸出。看不到打印信息,都不知道內(nèi)核有沒(méi)有跑起來(lái)。我移植 linux-2.6.35編譯完成后運(yùn)行,啟動(dòng)一直停在starting kernel . . .,檢查machine-type、cpu-id、時(shí)鐘、入口地址等可能會(huì)導(dǎo)致問(wèn)題的地方都沒(méi)有問(wèn)題,最后想到可能是串口使用的引腳和內(nèi)核不一致,最后才發(fā)現(xiàn)板子使用的是串口2作為打印輸出(也是我一開(kāi)始沒(méi)想到的,因?yàn)橐话愣紩?huì)默認(rèn)使用串口1,糾結(jié))。講啟動(dòng)參數(shù)改成串口2,mx5_loco.c 里面的init串口改成UART2_BASE_ADDR,可以輸出信息了。
            二、文件系統(tǒng)
            1、自己編譯一個(gè)busybox來(lái)制作一個(gè)文件系統(tǒng)其實(shí)還是挺麻煩的,只能制作一個(gè)很簡(jiǎn)單的文件系統(tǒng),因?yàn)槭窃趂lash上加載,所以我最開(kāi)始嘗試的是cramfs,加載文件系統(tǒng)階段一直出錯(cuò)
            List of all partitions:
            1f00          131072 mtdblock0  (driver?)
            No filesystem could mount root, tried:  cramfs
            Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(31,0)
            這里只讀到了一個(gè)塊設(shè)備,block0,顯然flash的分區(qū)沒(méi)有成功,修改nandflash的分區(qū),文件系統(tǒng)正常加載,啟動(dòng)參數(shù)如下
            setenv bootargs root=/dev/mtdblock3 rootfstype=cramfs rw console=ttymxc1,115200 init=/linuxrc
            2、加載成功有時(shí)會(huì)出現(xiàn)Kernel panic - not syncing: Attempted to kill init!,這個(gè)很多人說(shuō)要開(kāi)
            Kernel Features  --->
            [*] Use the ARM EABI to compile the kernel
            [*]   Allow old ABI binaries to run with this kernel (EXPERIMENTAL)(NEW)
            我試過(guò)好像沒(méi)什么效果,出現(xiàn)這個(gè)問(wèn)題有可能是文件系統(tǒng)的inittab和rcS兩個(gè)文件有問(wèn)題。
            3、jffs2文件系統(tǒng)
            JFFS2 error: (1) jffs2_build_inode_pass1: child dir"alsa" (ino #1159) of dir ino #1074 appears to be a hard link  JFFS2 error: (1) jffs2_build_inode_pass1:child dir "l" (ino #1170) of dir ino #1075 appears to be a hard link
            原由 : flash沒(méi)有erase徹底.,多 nand erase幾次就好了
            還有就是jffs2文件系統(tǒng)會(huì)有很多警告信息,我在源碼里面將打印都去掉還是不行

          posted on 2014-06-03 09:52 順其自然EVO 閱讀(561) 評(píng)論(0)  編輯  收藏 所屬分類(lèi): linux

          <2014年6月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          導(dǎo)航

          統(tǒng)計(jì)

          常用鏈接

          留言簿(55)

          隨筆分類(lèi)

          隨筆檔案

          文章分類(lèi)

          文章檔案

          搜索

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 易门县| 泰来县| 淮安市| 钟山县| 那坡县| 海兴县| 赣州市| 剑阁县| 巴楚县| 吴桥县| 长春市| 阿尔山市| 增城市| 海淀区| 南昌市| 大洼县| 舞钢市| 常德市| 舟山市| 扶沟县| 绍兴县| 灵寿县| 元谋县| 宜宾市| 巨野县| 新晃| 高青县| 达尔| 漠河县| 太谷县| 乐至县| 扶余县| 清新县| 时尚| 长宁区| 利津县| 陆川县| 山阳县| 隆林| 农安县| 平谷区|