顯示具有 ◎Linux 標籤的文章。 顯示所有文章
顯示具有 ◎Linux 標籤的文章。 顯示所有文章

2007年10月26日 星期五

◎在什麼情況下需要重新編譯Linux的系統核心?

 
有關編Kernel的問題請看官們自己看看...相信這作者寫得很清楚,我的記性實在不好呀。

--

Linux需要重新編譯系統核心(Kernel)的時機有以下幾個:更新版本讓系統具備更多功能、支援更多硬體裝置;其次是開啟預設未啟用的功能。

在Linux將要載入核心之前,我們可以在GRUB選單看到目前所使用的核心版本,或者是在開機完成之後,於終端機的文字介面下輸入「uname –r」指令查詢核心版本。

在官方網站Linux Kernel Archives(www.kernel.org),可以取得所需要的核心版本。Linux核心的更新速度非常快,平均每幾天就會有一個新版本出現,不過這也不意味著我們需要如此頻繁地更新。

一般來說,只有為了新版本已提供我們所需要的功能,以及舊版本有若干問題需要修補時,才需要下載新版本的核心予以置換。

置換核心的方式有2種,一種是下載完整版本系統核心原始檔,一種則是透過修補檔(Patch)的方式升級。

當新版本的核心下載完成之後,需要在「/usr/src」的路徑下解開,然後以ln指令在同一路徑下連結建立一個名為linux的新目錄,之後再透過手動編譯的方式,以便產生出可供系統使用的新核心。

在/usr/src/linux,也就是剛才所建好的linux目錄下,輸入「make config」、「make menuconfig」,以及「make gconfig」3個指令當中的任何一個,開始編譯並設定新核心的功能。

不同之處在於前2者是在文字介面下執行,make gconfig則是在X-Windows介面下提供圖形化介面,讓使用者可以透過滑鼠選取想要開啟的功能,對於剛接觸Linux的人來說,這是比較簡單的一種方式。

最後我們再依序輸入make all、make modules_install、depmod–a,以及mkinitrd……等4個指令,就會開始執行編輯的動作,並產生出所需要的系統核心。

有了新核心之後,接著就要開始進行置換核心的工作,首先將/usr/src/linux下的資訊檔System.map複製到/boot下,並更名為System.map.xxx(xxx命名的方法,需參考/usr/src/linux下的Makefile)。

然後在/usr/src/linux/atch/i386/boot找到一個叫做bzImage的檔案,這個檔案就是我們所需要的新核心,同樣必須將它複製到/boot下,將檔名改為vmlinuz.xxx(需和System.map的xxx字串一致),最後一個步驟就是以文字編輯器開啟/boot/grub下的menu.lst檔,在開機選單當中加入新的選項,儲存之後重新啟動系統。

測試上沒有問題的話,核心的編譯與更新作業,就算是告一段落。


如果是第二種方式,也就是透過更新檔升級核心,首先還是要下載完整版本系統核心原始檔,然後將更新檔解開至核心原始檔的所在目錄,接著執行gzip –cd patch-xxx.gz patch –pl的指令,完成修補的動作之後,最後還必需再進行一次編譯核心。

更新檔的使用除了單純升級升級版本之外,一些新推出的硬體裝置,驅動程式也會以更新檔的形式加以包裝,舉例來說,在Intel新版的Santa Rosa平臺啟用ACHI模式就是例子之一。文⊙楊啟倫
 
 

轉載至iThome這篇,原文為完整版。

2007年7月17日 星期二

◎常見的Linux

學生時期在「網際網路實驗室」裡都是使用FreeBSD[使用Linux的人會被排擠Like Allen 哈],個人覺得FreeBSD穩定性足夠,它真的很棒!

畢業後在學校計中工作,發現裡面的OS除了BBS使用FreeBSD,其它幾乎都是用Linux[只有一台Solaris,Windows的就不談了],原因是Linux較大眾化,原來管理的人員對Linux較能接受,而Solaris則是因為用Sun的機器。

從來沒接觸過Linux的我,也在那時趁機玩耍一番,Graphic mode果然很適合新手上路,但我較喜愛使用Console mode[覺得Windows外的系統應該長這樣才對 哈],習慣了,使用起來快速又方便。
 
嗯,發現使用Linux也是可以做事[當時還被FreeBSD領袖-TK稱為孽徒],那段時間增加了不少經驗,把所有系統重建[大工程],但還是以Linux為主[我選用Fedora],方便讓後者接手,但我還是推崇FreeBSD :)

順帶一提,OpenBSD是個嚴謹、乾淨的系統,想要的程式大都需自己另裝,也因為這樣系統安全性提高,佔用空間小,是個不錯的選擇。
 
 
常見的Linux有:
  • CentOS:CentOS (The Community ENTerprise Operating System)    
  • Debian:Debian GNU/Linux,相當嚴謹的Linux套件,http://www.debian.org/)    
  • Fedora:Fedora Project, sponsored by Red Hat (http://fedora.redhat.com/)    
  • Gentoo:提供相當便利的 Portage 軟體套件管理系統,http://www.gentoo.org/   
  • Knoppix:KNOPPIX Linux Live CD    
  • Mandriva:Mandrake (MDK) 改名Mandriva (MDV)(symbolic of Mandrakelinux)
  • RedHat:Embedded Linux and Open Source Solutions    
  • Slackware:老牌子的Linux套件    
  • Stanix:Stanix (.NET) Professional (http://stanserv.sourceforge.net/stanix/)    
  • SuSE:http://www.suse.com/ 
  • Trustix:Trustix Secure Linux,著重於安全與穩定的Linux套件 http://www.trustix.net/
  • Ubuntu      
  • WinLinux