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

歡迎訪問 生活随笔!

生活随笔

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

linux

【linux】内核源代码下载与阅读

發(fā)布時間:2025/3/21 linux 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【linux】内核源代码下载与阅读 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

?

原創(chuàng),轉(zhuǎn)載時請注明,謝謝。郵箱:tangzhongp@163.com

博客園地址:http://www.cnblogs.com/embedded-tzp

Csdn博客地址:http://blog.csdn.net/xiayulewa

?

"生于憂患,死于安樂"。

說說linux如何閱讀內(nèi)核源代碼,幾年里我所有的筆記和資料都用word寫的,看著它們靜靜的躺在硬盤里,就感覺有些浪費,希望能分享出來,因為包括ucos,u-boot,linux kernel的移植,我都喜歡下載官網(wǎng)比較新的版本,然后自己閱讀源代碼移植。因為要學(xué)的詳細點,而我word做的筆記太簡略了點,文章大部分還得重新整理。

源代碼下載

http://www.kernel.org/中選擇某個適合自己的版本,我下載的是linux.3.10.53. 然后解壓,因為windows不支持符號鏈接,所以解壓還得去linux下,然后刪除arch下除所需體系結(jié)構(gòu)外的所有目錄,如我的體系結(jié)構(gòu)是arm,我就把除arm外的所有目錄都刪了,再去arm目錄下,將其它cpu的文件夾全部刪了,比如我的soc是s3c2440, 則mach-*類似的文件夾我只保留了mach-s3c24xx,而plat-*, 只保留plat-samsung,繼續(xù)目錄循環(huán)操作,最后只保留特定芯片相關(guān)的文件。 這里說說為什么要刪除,因為刪了看源代碼方便點,不然很多重名函數(shù)。

閱讀環(huán)境配置

??? 使用source insight,閱讀代碼很方便。

??? 略。

生成Map文件

?

??? 看看map文件內(nèi)容:

.text 0xc0008c40 0x4f34 arch/arm/kernel/built-in.o

0xc0008c40 elf_check_arch

0xc0008ccc arm_elf_read_implies_exec

0xc0008cf0 elf_set_personality

0xc00090d4 no_fp

0xc0009134 ret_from_exception

0xc0009144 __switch_to

0xc0009210 ret_to_user

?

Map文件包含了函數(shù),函數(shù)地址,函數(shù)所在的文件夾,如ret_to_user函數(shù)(標(biāo)號?)的地址為0xc0009210,其函數(shù)所屬文件在文件夾arch/arm/kernel/下。

??? Map文件存在的意義,linux跨平臺,有時同一個函數(shù)名可能在不同的文件出現(xiàn),用source insight搜索得到很多結(jié)果,此時根據(jù)map文件就可以定位linux編譯采用的是哪一個函數(shù),在內(nèi)核調(diào)試時就非常方便。

??? Map文件添加方法:

在src/Makefile中export LDFLAGS_vmlinux之前添加

LDFLAGS_vmlinux += -Map vmlinux.map

?

然后編譯make menuconfig, make。最后會在.config文件相同的目錄下生成該文件。

Make時也可以make -V > make.log,將make輸出信息打印到文件。

?

生成反匯編文件vmlinux.dis

??? 推薦文章的方法:http://www.cnblogs.com/sdphome/archive/2012/03/05/2380703.html

??? 簡便一點可以直接使用arm-linux-gcc -S vmlinux > vmlinux.dis

???

?

資源匯總

??? 內(nèi)核閱讀與調(diào)試 主要涉及到的文件:

??? 最重要的linux內(nèi)核源代碼,vmlinux.dis, make.log, vmlinux.map, vmlinux.lds, Makefile。

vmlinux.lds在linux內(nèi)核src\arch\arm\kernel目錄下。

?

實例

??? cdev_init, 直接在source insight搜,就找到了。

??? 之前調(diào)試時遇到過必須要對上述資源匯總的文件均進行查詢才查找到問題的案例,沒有做筆記,現(xiàn)在忘記了,一時沒有想到比較好的用例,有機會補上來。

轉(zhuǎn)載于:https://www.cnblogs.com/embedded-tzp/p/4443611.html

總結(jié)

以上是生活随笔為你收集整理的【linux】内核源代码下载与阅读的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 欧美日韩激情 | 欧美精品三区 | 亚洲中字在线 | 男女久久久 | 99精品无码一区二区 | 国产日韩网站 | 久国产视频 | aaa黄色一级片 | 天天舔日日操 | 91精品国产高清91久久久久久 | 精品一区二区三区视频 | 婷婷国产一区二区三区 | 色中色在线视频 | 亚洲精品日韩av | 日本最黄网站 | 国产精品suv一区二区88 | 国内外成人在线视频 | 久久丫精品国产亚洲av不卡 | 尤物精品视频 | 久久福利社 | 福利视频不卡 | www.免费av| 青草视频在线免费观看 | 国产中文字幕在线播放 | 天天操天天弄 | 天堂av免费看 | 成人午夜在线免费观看 | 最新99热| 精品人妻一区二区三区三区四区 | 色5月婷婷 | 国产精品理论片在线观看 | 国产色图片 | 国产a v一区二区三区 | 久草免费在线视频 | 美女国产免费 | 三度诱惑免费版电影在线观看 | 亚洲制服av | 无码一区二区三区免费视频 | 插插射射| 高清福利视频 | 精品久久久免费 | 免费福利视频在线观看 | 97人人艹 | 完全免费av | 一区三区视频 | 色综合久久88| 少妇呻吟视频 | 啄木乌欧美一区二区三区 | 久久午夜影院 | 日韩av免费在线看 | 午夜寂寞福利 | 国产一级在线免费观看 | 午夜羞羞影院 | 国产宾馆实践打屁股91 | 日韩三级网 | 香蕉在线观看视频 | 精品少妇人妻av免费久久洗澡 | 国产日韩欧美 | 黄色片网站在线观看 | 欧美xxxxxx片免费播放软件 | 久久这里只有精品8 | 一级做a视频 | 午夜黄网| 欧美一区二区三区四区视频 | 一区二区三区精品免费视频 | 国产一区二区三区观看 | 撸啊撸av | www四虎com | 91精品啪在线观看国产 | 新超碰在线 | 麻豆小视频 | 亚洲精品成人区在线观看 | 成年人午夜免费视频 | 女优色图| 老熟妻内射精品一区 | 日韩精品无码一区二区三区久久久 | xxxxxx国产| 国产一区二区波多野结衣 | 丰满岳乱妇一区二区三区 | 国产www在线观看 | 亚色图 | 中文文字幕一区二区三三 | 黄色动漫免费在线观看 | 99久久精品日本一区二区免费 | 日韩少妇诱惑 | 淫片网站 | 小黄网站在线观看 | 毛片网站免费观看 | 日日噜噜噜噜久久久精品毛片 | 久久精品国产77777蜜臀 | 中文字幕视频观看 | 91色影院 | 97爱爱爱| 日韩欧美亚洲视频 | 好吊视频一区二区三区四区 | 欧美性猛交aaaa片黑人 | 污黄视频网站 | 91精品免费在线 | 婷婷激情网站 |