• <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, 評論 - 55, 引用 - 0
            數(shù)據(jù)加載中……

            從編譯Linux kernel說開來

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

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

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

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

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

            評論

            # re: 從編譯Linux kernel說開來  回復(fù)  更多評論   

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

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


            婷婷久久综合九色综合九七| 亚洲精品国产综合久久一线| 国产精品久久久久久一区二区三区 | 久久人人爽人人澡人人高潮AV | 久久天天躁狠狠躁夜夜不卡| 久久久精品午夜免费不卡| 欧美久久久久久午夜精品| 久久久久久亚洲Av无码精品专口| 99热精品久久只有精品| 久久久久人妻精品一区二区三区| 日韩欧美亚洲综合久久影院Ds| 久久精品国产亚洲AV无码麻豆| 久久www免费人成精品香蕉| 久久亚洲中文字幕精品有坂深雪 | 久久国产亚洲高清观看| 久久久精品久久久久影院| 国产精品无码久久久久| 激情伊人五月天久久综合| 国产成人精品久久| 国产精品99久久久精品无码| 久久99精品久久久久久秒播| 久久精品国产影库免费看| 亚洲国产精品久久久天堂| 东方aⅴ免费观看久久av| 久久婷婷午色综合夜啪| 四虎影视久久久免费| 亚洲精品乱码久久久久久蜜桃 | 少妇高潮惨叫久久久久久| 久久香综合精品久久伊人| 久久精品国产日本波多野结衣| 久久国产精品无| 亚洲国产美女精品久久久久∴| 久久综合视频网| 国产成人综合久久精品红| 无码任你躁久久久久久老妇App| 国产精品久久婷婷六月丁香| 久久精品视频一| 2021久久精品国产99国产精品| 久久精品人人槡人妻人人玩AV| 国产美女久久精品香蕉69| 欧美一区二区精品久久|