免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
Linux內(nèi)核入門(1)
Linux內(nèi)核入門
如何獲取Linux內(nèi)核源代碼
下載Linux內(nèi)核當(dāng)然要去官方網(wǎng)站了,網(wǎng)站提供了兩種文件下載,一種是完整的Linux內(nèi)核,另一種是內(nèi)核增量補(bǔ)丁,它們都是tar歸檔壓縮包。除非你有特別的原因需要使用舊版本的Linux內(nèi)核,否則你應(yīng)該總是升級(jí)到最新版本。
使用Git
由Linus領(lǐng)頭的內(nèi)核開發(fā)隊(duì)伍從幾年前就開始使用Git版本控制系統(tǒng)管理Linux內(nèi)核了(參考閱讀:什么是Git?),而Git項(xiàng)目本身也是由Linus創(chuàng)建的,它和傳統(tǒng)的CVS不一樣,Git是分布式的,因此它的用法和工作流程很多開發(fā)人員可能會(huì)感到很陌生,但我強(qiáng)烈建議使用Git下載和管理Linux內(nèi)核源代碼。
你可以使用下面的Git命令獲取Linus內(nèi)核代碼樹的最新“推送”版本:
$ git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
然后使用下面的命令將你的代碼樹與Linus的代碼樹最新狀態(tài)同步:
$ git pull
安裝內(nèi)核源代碼
內(nèi)核包有GNU zip(gzip)和bzip2格式。Bzip2是默認(rèn)和首選格式,因?yàn)樗膲嚎s比通常比gzip更好,bzip2格式的Linux內(nèi)核包一般采用linux-x.y.z.tar.bz2形式的文件名,這里的x.y.z是內(nèi)核源代碼的具體版本號(hào),下載到源代碼包后,解壓和抽取就很簡單了,如果你下載的是bzip2包,運(yùn)行:
$ tar xvjf linux-x.y.z.tar.bz2
如果你下載的是gzip包,則運(yùn)行:
$ tar xvzf linux-x.y.z.tar.gz
無論執(zhí)行上面哪一個(gè)命令,最后都會(huì)將源代碼解壓和抽取到linux-x.y.z目錄下,如果你使用Git下載和管理內(nèi)核源代碼,你不需要下載tar包,只需要運(yùn)行g(shù)it clone命令,它就會(huì)自動(dòng)下載和解壓。
內(nèi)核源代碼通常都會(huì)安裝到/usr/src/linux下,但在開發(fā)的時(shí)候最好不要使用這個(gè)源代碼樹,因?yàn)獒槍δ愕腃庫編譯的內(nèi)核版本通常也鏈接到這里的。
應(yīng)用補(bǔ)丁
Linux內(nèi)核開發(fā)人員會(huì)將自己的修改做成補(bǔ)丁與其它人員分享,而且補(bǔ)丁是增量的,增量補(bǔ)丁是從一個(gè)內(nèi)核樹移動(dòng)到另一個(gè)內(nèi)核樹的有效方法,不用下載完整的內(nèi)核包就可以升級(jí)內(nèi)核,不僅可節(jié)省帶寬,也節(jié)省了內(nèi)核升級(jí)時(shí)間,應(yīng)用補(bǔ)丁之前先進(jìn)入內(nèi)核源代碼樹所在目錄,然后運(yùn)行:
$ patch –p1 < ../patch-x.y.z
注意,補(bǔ)丁包也有明確的版本號(hào),這里的版本號(hào)與Linux內(nèi)核源代碼的版本號(hào)要一致,內(nèi)核和補(bǔ)丁版本號(hào)不一致時(shí),強(qiáng)制應(yīng)用補(bǔ)丁會(huì)引起意想不到的后果。
內(nèi)核源代碼樹介紹
內(nèi)核源代碼樹分為許多目錄,它們下面又包含許多子目錄,源代碼樹的頂級(jí)目錄及其描述參見下表。
目錄 描述
arch 特定架構(gòu)的源代碼
block 塊I/O層
crypto 加密API
Documentation 內(nèi)核源代碼文檔
drivers 設(shè)備驅(qū)動(dòng)
firmware 使用某個(gè)驅(qū)動(dòng)需要的設(shè)備固件
fs VFS和獨(dú)立文件系統(tǒng)
include 內(nèi)核頭
init 內(nèi)核啟動(dòng)和初始化
ipc 進(jìn)程間通信
kernel 核心子系統(tǒng),如調(diào)度器
lib 助手例行程序
mm 內(nèi)存管理子系統(tǒng)和VM
net 網(wǎng)絡(luò)子系統(tǒng)
samples 示例,示范代碼
scripts 用于生成內(nèi)核的腳本
security Linux安全模塊
sound 聲音子系統(tǒng)
usr 早期的用戶空間代碼(叫做initramfs)
tools 輔助Linux開發(fā)的工具
virt 虛擬化基礎(chǔ)設(shè)施
在源代碼樹的根目錄下還有很多文件需要說明,COPYING是內(nèi)核許可描述文件(即GNU GPL v2),CREDITS是參與Linux內(nèi)核的開發(fā)人員名單,MAINTAINERS列出了維護(hù)各個(gè)子系統(tǒng)和驅(qū)動(dòng)的個(gè)人,Makefile是內(nèi)核Makefile的基礎(chǔ)。
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報(bào)
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
如何參與linux 內(nèi)核開發(fā)
Linux 之父:我們不會(huì)用 Rust 取代 C 語言開發(fā)內(nèi)核
如何成為一個(gè)Linux內(nèi)核開發(fā)者
Git 10 周年訪談: KVM維護(hù)者Paolo Bonzini講述他與Git的故事
使用 Git 管理源代碼
給掃描儀在Linux系統(tǒng)里安個(gè)家
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服