日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > linux >内容正文

linux

编译linux-2.6.29内核,报错解决方法

發(fā)布時間:2024/10/14 linux 66 豆豆
生活随笔 收集整理的這篇文章主要介紹了 编译linux-2.6.29内核,报错解决方法 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

在編譯linux-2.6.29內(nèi)核版本過程,依次出現(xiàn)如下問題,記錄解決方法。

報錯提示1:

解決:
執(zhí)行:vi /home/wangz/rootfs/linux-2.6.29/kernel/timeconst.pl文件,執(zhí)行:373跳轉(zhuǎn)至373行,將!defined(@val)改為!(@val) 即可,如下?

報錯提示:2:

解決:
由于舊編譯器可能是用OABI的,而配置內(nèi)核時又選擇了使用EABI的,修改內(nèi)核配置(make menuconfig)選項:
Kernel Features ---->Use the ARM EABIto compile the kernel 為 no,重新生成.config文件(其中.config默認為隱藏文件,用ls -a可以查看到)

報錯提示3:

解決:
如果使用的是Ubuntu 9.10及以上版本,可以使用下面的命令安裝mkimage,執(zhí)行:#apt-get install uboot-mkimage。我在Ubuntu16.04上測試行不通,

然后執(zhí)行:apt-get install u-boot-tools,安裝成功后重新編譯內(nèi)核,執(zhí)行:

make uImage ARCH=arm CROSS_COMPILE=arm-linux-

最后編譯得到內(nèi)核uImage鏡像如下:

?

編譯內(nèi)核模塊時出現(xiàn)問題:

執(zhí)行:make modules ARCH=arm CROSS_COMPILE=arm-linux-

報錯提示1:

解決:
implicit declaration of function `dma_cache_sync'表示隱式聲明錯誤,可能有幾個原因:
1?? 沒有把函數(shù)所在的c文件生成.o目標(biāo)文件
2?? 在函數(shù)所在的c文件中定義了,但是沒有在與之相關(guān)聯(lián)的.h文件中聲明
/home/wangz/rootfs/linux-2.6.29//arch\arm\include\asm\dma-mapping.h下沒有這個函數(shù)聲明,但有如下注釋:
/*
* Dummy noncoherent implementation.??We don't provide a dma_cache_sync
* function so drivers using this API are highlighted with build warnings.
*/
dma_cache_sync( )沒有申明卻被調(diào)用
, 這里直接把它注釋掉好了,執(zhí)行
vi /home/wangz/rootfs/linux-2.6.29/drivers/scsi/advansys.c,查找dma_cache_sync( )函數(shù)調(diào)用部分改為如下:

報錯提示2:

執(zhí)行:
make menuconfig
然后在配置中設(shè)置device drivers -->network device support-->enthernet (10 or 100Mbit)-->Sun GEM support選項為 no 即可解決上述問題。

?

總結(jié)

以上是生活随笔為你收集整理的编译linux-2.6.29内核,报错解决方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。