注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

My Unix World

不要迷恋Unix,Unix只是计算世界很小的一部分!

 
 
 

日志

 
 

6. 追求最新版本Kernel的迷思   

2008-11-06 22:19:44|  分类: L-M-System |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

6. 追求最新版本Kernel的迷思

『 究竟該不該升級Kernel ? 『究竟该不该升级Kernel ? 』,這個問題常困擾眾多剛接觸Linux 朋友。 』,这个问题常困扰众多刚接触Linux朋友。 個人電腦快速發展的這些年,我們總是不停的再追逐CPU 的速度,追逐硬碟的容量。个人电脑快速发展的这些年,我们总是不停的再追逐CPU的速度,追逐硬碟的容量。 這樣的環境生態底下養成了人們對於電腦相關的事務一定要求:最新、最快、最大。这样的环境生态底下养成了人们对于电脑相关的事务一定要求:最新、最快、最大。

其實『 夠用就好』 是我認為比較正確的觀念,電腦只是輔助我們完成工作的工具罷了,並沒有絕對的好或壞,能夠幫助我們達到目標的工具就是好工具,不用去爭Intel 或是AMD ,不用去管MS Windows 或是Linux。其实『够用就好』是我认为比较正确的观念,电脑只是辅助我们完成工作的工具罢了,并没有绝对的好或坏,能够帮助我们达到目标的工具就是好工具,不用去争Intel或是AMD ,不用去管MS Windows或是Linux。

Linux kernel 也是如此,幾乎每過幾天就會出現一個版本,除非您是kernel 的開發者,除非您工作上需要,否則建議您挑一個穩定的版本就好。 Linux kernel也是如此,几乎每过几天就会出现一个版本,除非您是kernel的开发者,除非您工作上需要,否则建议您挑一个稳定的版本就好。

筆者的建議,在底下這幾種狀況您可以嘗試更換kernel:笔者的建议,在底下这几种状况您可以尝试更换kernel:

  • 目前kernel 版本不支援我的某些硬體設備。目前kernel版本不支援我的某些硬体设备。
  • kernel 版本大躍進,例如:2.0 到2.4。 kernel版本大跃进,例如:2.0到2.4。

6.1 Debian 升級kernel 真輕鬆 6.1 Debian升级kernel真轻松

  1. 增加Sources link 到/etc/sources.list增加Sources link到/etc/sources.list

    在Debian testing or unstable 裡頭就可以找到目前最新版本的linux kernel 囉。在Debian testing or unstable里头就可以找到目前最新版本的linux kernel啰。

  2. 確認升級版本确认升级版本

    先確認您要安裝的版本,因為Debian 支援平台眾多,您可以先由dselect 以『 kernel-image 』 為keyword 搜尋,就可以得到類似底下畫面( 圖dselect_kernel ) :先确认您要安装的版本,因为Debian支援平台众多,您可以先由dselect以『 kernel-image 』为keyword搜寻,就可以得到类似底下画面(图dselect_kernel ) :

    6. 追求最新版本Kernel的迷思  - liqi.xie - My Unix World 附圖dselect_kernel 附图dselect_kernel

  3. 用『 apt-get 』指令立刻升級用『 apt-get 』指令立刻升级

    再次強調用『 dselect 』 找軟體,再用『 apt-get 』 指令安裝軟體,是筆者自己的習慣,無須評論好壞:-)。再次强调用『 dselect 』找软体,再用『 apt-get 』指令安装软体,是笔者自己的习惯,无须评论好坏:-)。

    以筆者電腦為例,我的NoteBook 電腦是x86 、單顆Intel P!!! CPU ,所以我選擇了最目前最新且對我電腦合適的『 kernel-image-2.4.16-686 』 來安裝:以笔者电脑为例,我的NoteBook电脑是x86 、单颗Intel P!!! CPU ,所以我选择了最目前最新且对我电脑合适的『 kernel-image-2.4.16-686 』来安装:

                # apt-get install kernel-image-2.4.16-686 # apt-get install kernel-image-2.4.16-686 

    迎面而來的第一個問題詢問您要不要終止安裝,如附圖install_kernel-1 記得鍵入『 n 』 繼續下一個步驟,除非您突然反悔不想升級kernel 了,迎面而来的第一个问题询问您要不要终止安装,如附图install_kernel-1记得键入『 n 』继续下一个步骤,除非您突然反悔不想升级kernel了,

    6. 追求最新版本Kernel的迷思  - liqi.xie - My Unix World 附圖install_kernel-1 附图install_kernel-1

    如果您是安裝完stable 系統第一次升級kernel 會看到如install_kernel-2-1 的詢問畫面:如果您是安装完stable系统第一次升级kernel会看到如install_kernel-2-1的询问画面:

    6. 追求最新版本Kernel的迷思  - liqi.xie - My Unix World 附圖install_kernel-2-1 附图install_kernel-2-1

    請回答『 Yes 』 按下『 Enter 』 就可以完成kernel 升級。请回答『 Yes 』按下『 Enter 』就可以完成kernel升级。

    如果您之前已經升級過kernel ,就會見到如附圖install_kernel-2-2 的畫面:如果您之前已经升级过kernel ,就会见到如附图install_kernel-2-2的画面:

    6. 追求最新版本Kernel的迷思  - liqi.xie - My Unix World 附圖install_kernel-2-2 附图install_kernel-2-2

    按下『 Enter 』 使用預設值即可,接下來出現類似install_kernel-2-1 的畫面install_kernel-3:按下『 Enter 』使用预设值即可,接下来出现类似install_kernel-2-1的画面install_kernel-3:

    6. 追求最新版本Kernel的迷思  - liqi.xie - My Unix World 附圖install_kernel-3 附图install_kernel-3

    一樣按『 Enter 』使用預設的『 Yes 』 選項,到此為止kernel 就已經升級完畢囉,很輕鬆吧!一样按『 Enter 』使用预设的『 Yes 』选项,到此为止kernel就已经升级完毕啰,很轻松吧!

第一次升級kernel 要做的幾個小動作第一次升级kernel要做的几个小动作

理論上這個動作應該是升級kernel 時,系統自動幫我們完成才對,不過目前實際測試結果並非如此,第一次升級kernel 時我們仍舊要手動這幾個動作:理论上这个动作应该是升级kernel时,系统自动帮我们完成才对,不过目前实际测试结果并非如此,第一次升级kernel时我们仍旧要手动这几个动作:

  1. 製作/boot/initrd symbol link制作/boot/initrd symbol link

    通常在/boot 底下會有一個名為『 initrd-(依據您升級的kernel 版本) 』,為了我們以後升級kernel 不需一再更改/etc/lilo.conf ,我們建議做一個symbol link:通常在/boot底下会有一个名为『 initrd-(依据您升级的kernel版本) 』,为了我们以后升级kernel不需一再更改/etc/lilo.conf ,我们建议做一个symbol link:

    # ln -s /boot/initrd-(依據您升級的kernel 版本) /boot/initrd # ln -s /boot/initrd-(依据您升级的kernel版本) /boot/initrd

  2. 編輯/etc/lilo.conf编辑/etc/lilo.conf

    找到image=/vmlinuz ,在底下加入『 initrd=/boot/initrd 』,底下是我的/etc/lilo.conf 設定檔片段:找到image=/vmlinuz ,在底下加入『 initrd=/boot/initrd 』,底下是我的/etc/lilo.conf设定档片段:

     # Boot up Linux by default. # Boot up Linux by default. 
    #
    default=Linux

    image=/vmlinuz
    label=Linux
    initrd=/boot/initrd
    read-only
    # restricted # restricted
    # alias=1 # alias=1

    image=/vmlinuz.old
    label=LinuxOLD
    read-only
    optional
    # restricted # restricted
    # alias=2 # alias=2

    # If you have another OS on this machine to boot, you can uncomment the # If you have another OS on this machine to boot, you can uncomment the
    # following lines, changing the device name on the `other' line to # following lines, changing the device name on the `other' line to
    # where your other OS' partition is. # where your other OS' partition is.
    #
    other=/dev/hda1
    label=win
    table=/dev/hda
    # restricted # restricted
    # alias=3 # alias=3

  3. 執行lilo -v -v -v执行lilo -v -v -v

    執行『 lilo -v -v -v 』讓剛剛編輯『 /etc/lilo.conf 』的動作生效。执行『 lilo -v -v -v 』让刚刚编辑『 /etc/lilo.conf 』的动作生效。

6.2 手動編譯kernel 6.2 手动编译kernel

一般來說Debian 的kernel-image 套件的維護者在套件的製作過程中都很貼心的為我們把所有的選項都編成module 了,所以我們在安裝好kernel-image 套件後,只要執行modprobe 就可以把我們需要的功能給載入kernel。一般来说Debian的kernel-image套件的维护者在套件的制作过程中都很贴心的为我们把所有的选项都编成module了,所以我们在安装好kernel-image套件后,只要执行modprobe就可以把我们需要的功能给载入kernel。 如果您想要把某些功能直接編進kernel,或者想要嘗試編譯屬於自己系統的kernel,可以使用下面的方法:如果您想要把某些功能直接编进kernel,或者想要尝试编译属于自己系统的kernel,可以使用下面的方法:

(下面的xxxx 請您填入您準備安裝的版本號碼) (下面的xxxx请您填入您准备安装的版本号码)

  1. $ apt-get install kernel-source-xxxx $ apt-get install kernel-source-xxxx
  2. $ cd /usr/src $ cd /usr/src
  3. $ tar zxvf kernel-source-xxxx.tar.gz $ tar zxvf kernel-source-xxxx.tar.gz
  4. $ cd /usr/src/kernel-source-xxxx $ cd /usr/src/kernel-source-xxxx
  5. $ make config $ make config

    (個人建議您使用make menuconfig 或是make xconfig ,可以得到各個選項的簡單說明。但是記得要安裝其他相關套件才能執行) (个人建议您使用make menuconfig或是make xconfig ,可以得到各个选项的简单说明。但是记得要安装其他相关套件才能执行)

  6. $ make-kpkg -rev Custom.1 --initrd kernel_image $ make-kpkg -rev Custom.1 --initrd kernel_image

    (Custom.1 可以改成您自己取的版本名稱) (Custom.1可以改成您自己取的版本名称)

  7. $ cd /usr/src $ cd /usr/src
  8. $ dpkg -i kernel-image-xxxx_Custom.1_i386.deb $ dpkg -i kernel-image-xxxx_Custom.1_i386.deb

其餘修改lilo 的部份與安裝kernel-image 套件的過程相同。其余修改lilo的部份与安装kernel-image套件的过程相同。

ps 如果您不滿意目前編譯好的kernel,而想要再重新編譯一次,記得要先執行make-kpkg clean 以後再執行5 8 的步驟。 ps如果您不满意目前编译好的kernel,而想要再重新编译一次,记得要先执行make-kpkg clean以后再执行58的步骤。

  评论这张
 
阅读(266)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017