• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            隨筆 - 16, 文章 - 0, 評(píng)論 - 55, 引用 - 0
            數(shù)據(jù)加載中……

            從編譯Linux kernel說(shuō)開(kāi)來(lái)

              編譯內(nèi)核的概念是linux最帥的地方,windows是不會(huì)提供操作系統(tǒng)的源代碼的,而linux則不然,操作系統(tǒng)的源代碼全部都是公開(kāi)的。 對(duì)于發(fā)行版而言,比如rh9,debian,suse等,都提供編譯好的kernel供用戶使用,但是這樣的kernel未必是用戶需要的,這時(shí)就可以自 己對(duì) kernel的源代碼進(jìn)行編譯,然后替換掉原來(lái)的kernel。

              其實(shí)編譯kernel并不恐怖,只是一件很簡(jiǎn)單的事情,就幾條 指令而已。/usr/src/linnux是kernel源代碼常用的放置目錄,進(jìn)入此目錄,執(zhí)行make menuconfig,會(huì)出來(lái)一個(gè)圖形界面,里面是kernel的各種配置和選項(xiàng),把自己喜歡的驅(qū)動(dòng)和配置選上,不需要的去除即可。然后make dep,這是檢查新的配置是否正確和做一些初始化工作。然后就是make bzImage,這是真正開(kāi)始編譯kernel,bzImage是編譯后的kernel文件名,可以為任意名字,只是一般會(huì)以bzImage、 zImage或vmlinuz之類為名。如果編譯成功會(huì)生成一個(gè)bzImage文件,這就是kernel了。系統(tǒng)啟動(dòng)最主要的就是調(diào)用這個(gè)文件,里面包括 了文件系統(tǒng)、硬件驅(qū)動(dòng)、網(wǎng)絡(luò)基礎(chǔ)、內(nèi)存管理、進(jìn)程管理等,在/boot下面有一個(gè)bzImage或者vmlinuz之類的文件就是原有的kernel,只 要把編譯后的kernel文件(bzImage)替換掉就換成新的kernel了,或者用新名字復(fù)制到/boot下,再將grub或lilo的配置文件修 改一下,下次啟動(dòng)系統(tǒng)的時(shí)候即可使用新的kernel。下面是make modules,這是編譯驅(qū)動(dòng),或者說(shuō)叫模塊,在linux下驅(qū)動(dòng)可以和kernel編譯在一起,也可以編譯成單獨(dú)的模塊文件,如果是第一種, kernel啟動(dòng)的時(shí)候就會(huì)自動(dòng)嘗試載入驅(qū)動(dòng),第二種則是需要的時(shí)候手工加載驅(qū)動(dòng),也可以手動(dòng)卸載。這是windows沒(méi)有的功能,比如顯卡的驅(qū)動(dòng)在 windows下不重新啟動(dòng)系統(tǒng)是無(wú)法更新的,但在linux下卻可以。比如對(duì)顯卡做升級(jí)動(dòng)作的時(shí)候其實(shí)就是在編譯module,并卸載舊驅(qū)動(dòng),加載新驅(qū) 動(dòng),整個(gè)步驟無(wú)需重啟系統(tǒng)。最后一步,就是make modules_install,這個(gè)步驟是在/lib/modules下面生成一個(gè)按照kernel版本號(hào)為格式的目錄,再將編譯好的modules復(fù) 制進(jìn)去。kernel啟動(dòng)的時(shí)候會(huì)通過(guò)這樣的路徑搜索modules文件,類似windows的system32目錄。

              寫(xiě)了這么多, 很多沒(méi)玩過(guò)linux的人看了會(huì)很迷糊,但了解一些相關(guān)認(rèn)識(shí)還是很有趣的,因?yàn)檫@才是linux好玩的地方,一個(gè)隨便捏來(lái)捏去的操作系統(tǒng),可以滿足某些人 士的變態(tài)心理-_-# windows可以運(yùn)行的硬件平臺(tái)很有限,因?yàn)椴还_(kāi),而且尺寸也很大,linux卻因?yàn)榭梢宰约壕幾g,所以支持幾乎所有的硬件平 臺(tái),x86,cs51,avr,pda,手機(jī),alpha,大型機(jī)等等。同時(shí)尺寸還很小,一般編譯一個(gè)可以運(yùn)行到shell的系統(tǒng),只要4、5M的尺寸就 可以搞定。加一個(gè)x-window也就30M左右,這在windows是不可想象的。這都是kernel公開(kāi),可以手動(dòng)編譯的好處和樂(lè)趣....
            ?

            2006-05-10 20:55 (根據(jù)聊天紀(jì)錄修改)

            posted on 2006-05-10 21:10 cyantree 閱讀(1014) 評(píng)論(1)  編輯 收藏 引用

            評(píng)論

            # re: 從編譯Linux kernel說(shuō)開(kāi)來(lái)  回復(fù)  更多評(píng)論   

            希望有一天linux會(huì)取代windows!!共享是趨勢(shì)
            2006-05-11 21:47 | saga.constantine

            只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問(wèn)   Chat2DB   管理


            国产精品欧美久久久久天天影视| 久久精品无码一区二区三区| 久久久久亚洲精品天堂久久久久久 | 久久丫忘忧草产品| 99精品国产综合久久久久五月天 | 久久伊人精品一区二区三区| 一本色道久久88精品综合| 精品久久久久久国产潘金莲| 精品久久久无码中文字幕| 久久婷婷色香五月综合激情 | 久久精品99无色码中文字幕| 一本久久a久久精品vr综合| 久久精品国产亚洲网站| 久久只有这精品99| 国产成人无码精品久久久免费 | 亚洲精品美女久久久久99小说 | 精品久久久无码中文字幕天天| 中文无码久久精品| 色偷偷888欧美精品久久久| 亚洲国产成人乱码精品女人久久久不卡 | 久久精品久久久久观看99水蜜桃| 久久电影网2021| 久久精品国产亚洲av麻豆图片| 麻豆精品久久精品色综合| 99国产欧美精品久久久蜜芽 | 99久久国语露脸精品国产| 久久综合九色综合网站| 久久精品无码一区二区三区免费| 91精品国产综合久久四虎久久无码一级 | 亚洲精品无码专区久久久| 亚洲另类欧美综合久久图片区| 久久九九青青国产精品| 色妞色综合久久夜夜| 久久久久人妻一区二区三区| 思思久久好好热精品国产| 久久亚洲电影| 欧美日韩久久中文字幕| 狠狠色噜噜色狠狠狠综合久久| 久久天天躁狠狠躁夜夜2020一 | 久久精品aⅴ无码中文字字幕不卡 久久精品aⅴ无码中文字字幕重口 | 久久久久亚洲av无码专区 |