国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 系統(tǒng) > Linux > 正文

Linux 網(wǎng)管 123 --- 第10章. 升級(jí) Linux 及其他應(yīng)用軟體 -6.作一

2024-07-26 00:30:30
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

如果您想要在一個(gè)新硬體系統(tǒng)上運(yùn)作 linux ,或者想要使用一些原本核心沒(méi)有支援的特點(diǎn),也許或
者您想減少核心所占的記憶體使系統(tǒng)記憶體運(yùn)作的更好,您會(huì)發(fā)現(xiàn)必須建立自己所定的核心。 
更新核心包含了組態(tài)所需的模組,編譯核心及模組,最後安裝核心映像檔,隨著重新開(kāi)機(jī)而載入新的
核心。在``README''中這些所有的文件都來(lái)自於每個(gè)核心套件。進(jìn)一步的資訊可以在
 ``Documentation/'' 子目錄中找到。一個(gè)特別有幫助的檔案是``Configure.help'' ,其中包含了有
 關(guān)編譯核心的選項(xiàng)及模組的詳細(xì)資訊。 

下面是一個(gè)例,顯示如何建立自己的 Intel 平臺(tái) 2.0.36 版核心。建立訂的核心常常只是組態(tài),
編譯及安裝上的問(wèn)題。有時(shí)(通常因?yàn)樾碌挠搀w) 需要下載新的驅(qū)動(dòng)程式,因?yàn)樵竞诵木幾g時(shí)該硬體
尚未被支援。 

建立訂核心的第一個(gè)步驟是下載及安裝核心,不論是來(lái)自 RPM (優(yōu)先選擇) 或從 tarball。參考 
第10章,Linux 核心的升級(jí)  一節(jié) 有關(guān)獲得合適檔案的詳細(xì)資料。 

下一步,使用 ``rpm'' 公用程式 (或 ``tar'',也可以) 安裝核心來(lái)源及標(biāo)頭檔。例如,安裝
 2.0.36-3 核心的 RPM 檔: 
  rpm -Uvh kernel-source-2.0.36-3.i386.rpm kernel-headers-2.0.36-3.i386.rpm
rpm -Uvh kernel-ibcs-2.0.36-3.i386.rpm
 


(如果您在筆記型電腦上運(yùn)作Linux,您或許想要安裝 ``kernel-pcmcia-cs-2.0.36-3.i386.rpm'' 這個(gè)
檔,它提供了電源管理的功能) 

在安裝好核心檔之後,您應(yīng)該可以找到新的原始檔,位在 ``/usr/src/linux/'' 目錄。 

下一個(gè)步驟是下載任何附加的驅(qū)動(dòng)程式檔 (如果有的話),并且安裝他們?cè)谛碌暮诵膩?lái)源。例如,要增加
對(duì) Mylex DAC960 硬體 RAID 控制器的支援,我會(huì)從網(wǎng)站上下載驅(qū)動(dòng)軟體。不幸地,像 
http://www.dandelion.com/ 網(wǎng)頁(yè)上的驅(qū)動(dòng)軟體常常只有提供 tarball 而且需要 ``tar'' 公用程式去安
裝它。例如: 
  cd /usr/src/
tar zxvpf DAC960-2.0.0-Beta4.tar.gz
 


可能的話,您應(yīng)該閱讀由您所增加驅(qū)動(dòng)程式軟體所提供的文件。例如 DAC960 驅(qū)動(dòng)程式包括了 ``README'' 
檔案,里面有關(guān)於哪里下載最新的驅(qū)動(dòng)程式,及如何索取核心的修正檔: 
  mv README.DAC960 DAC960.[ch] /usr/src/linux/drivers/block
patch -p0 < DAC960.patch
 


下面步驟是確保您的系統(tǒng)符號(hào)檔案連結(jié)和新的核心相符。事實(shí)上,這個(gè)步驟只需要作一次,所以下面步驟只
有在您從未編譯過(guò)自己的核心情形下才需要: 
  mail:/usr/src# cd /usr/include
mail:/usr/include# rm -rf asm linux scsi
mail:/usr/include# ln -s /usr/src/linux/include/asm-i386 asm
mail:/usr/include# ln -s /usr/src/linux/include/linux linux
mail:/usr/include# ln -s /usr/src/linux/include/scsi scsi
 
 注意: 上述步驟在 2.2.x 或更高版本核心已不再需要。 


下一個(gè)步驟是組態(tài)您的核心。這是建立訂核心的最重要步驟,如果您 disable 錯(cuò)誤的設(shè)定,可能漏
失您所需要的特性或硬體支援。然而,如果您 enable 了錯(cuò)誤的設(shè)定,您會(huì)無(wú)謂地?cái)U(kuò)大核心而且浪費(fèi)珍貴
的系統(tǒng)記憶體 (說(shuō)是這麼說(shuō),但在以後犯錯(cuò)而不是之前可能比較好) 

確保您的核心編譯正常的最好辦法是:了解您所需要使用的特性是什麼,您的系統(tǒng)中哪些硬體需要支援。
在您有幾次訂核心的經(jīng)驗(yàn)後,這些過(guò)程會(huì)變?yōu)?nbsp;“過(guò)時(shí)?而且不具威脅 ! 

鍵入下列各項(xiàng)開(kāi)始進(jìn)行組態(tài)程序: 
  mail:/usr/include# cd /usr/src/linux
mail:/usr/src/linux# make mrPRoper
mail:/usr/src/linux# make menuconfig
 


(如果您執(zhí)行 X Window 系統(tǒng)可以鍵入 ``make xconfig'' 取代 ``make menuconfig''; 參考 第 5 章 有
關(guān)如何使 X 運(yùn)作的細(xì)節(jié).) 

要組態(tài)您的核心,必須經(jīng)由種種的設(shè)定及選擇 (enable) 哪一些是您需要的,并且剔除 (disable)您所不
需要的。您可以選擇直接經(jīng)由核心支援,或是建立依需求可由核心載入或卸下的模組。(如果您編譯了一個(gè)
事實(shí)上需要重新啟動(dòng)系統(tǒng)的功能,像是 SCSI 驅(qū)動(dòng)程式,如果是模組,您需要建立 RAMdisk 映像檔或系統(tǒng)
必須重新啟動(dòng)。這是使用 ``mkinitrd'' 這個(gè)命令去完成; 這個(gè)程序在下面會(huì)談到) 

當(dāng)進(jìn)行這些組態(tài)設(shè)定時(shí), 您可以選擇  獲得有關(guān)核心各個(gè)選項(xiàng)的描述 

在您完成對(duì)核心的組態(tài)設(shè)定後,鍵入下列命令編譯您的核心: 
  mail:/usr/src/linux# make dep ; make clean
mail:/usr/src/linux# make bzImage
mail:/usr/src/linux# make modules
 


如果您重新編譯和之前相同的核心 (在本例中是 2.0.36-3 ),您或許會(huì)想要用下面的指令將現(xiàn)有的模組移
到備份的目錄下: 
  mail:/usr/src/linux# mv /lib/modules/2.0.36-3 /lib/modules/2.0.36-3-backup
 


現(xiàn)在,鍵入下列指令真正地安裝新的模組: 
  mail:/usr/src/linux# make modules_install
 


下一個(gè)步驟是將核心到 ``/boot/'' 目錄下,并且使用 LILO 更新 boot record ,如此一來(lái)新的核
心就會(huì)被承認(rèn)。下面的指令會(huì)將現(xiàn)有核心作一個(gè)備份,新的核心取代它,然後更新 LILO boot record: 
  mail:/usr/src/linux# cd /boot
mail:/boot# cp vmlinuz vmlinuz.OLD
mail:/boot# cp /usr/src/linux/arch/i386/boot/bzImage vmlinuz-2.0.36
mail:/boot# /sbin/lilo
 


最後,您需要編輯 ``/etc/lilo.conf'' 檔,并且確定 “image”是指向新的核心。您也應(yīng)該加入一個(gè)項(xiàng)目
指向您的備份核心,也許稱(chēng)作“OldLinux”. 這是一個(gè)例檔: 
  boot=/dev/hda
map=/boot/map
install=/boot/boot.b
prompt
timeout=50
image=/boot/vmlinuz
        label=Linux
        root=/dev/hdb1

        read-only
image=/boot/vmlinuz.OLD
        label=OldLinux
        read-only
 


藉由此種方法備份您的核心資訊,萬(wàn)一您的新核心無(wú)法正常啟動(dòng)(也許因?yàn)槟吃O(shè)備不被承認(rèn),或者一個(gè)
 daemon 應(yīng)該啟動(dòng)而未啟動(dòng)),您可以簡(jiǎn)單地鍵入 ``OldLinux'' 從原來(lái)的核心啟動(dòng)然後檢查系統(tǒng)。 
   注意: 如同前面所提到,如果您已經(jīng)編譯了一個(gè)需要以模組方式啟動(dòng)系統(tǒng)的核心,您需要建立一個(gè)起始 
   RAMdisk 映像檔以便啟動(dòng)系統(tǒng)。(別忘了將您的核心編譯成可支援這樣的映像檔) 


建立及使用起始 RAMdisk 映像檔的程序如下: 


在您的 ``/etc/lilo.conf''加入項(xiàng)目,以便啟動(dòng)起始 RAMdisk 映像檔; 這里是一個(gè)先前已經(jīng)展示過(guò)的組態(tài)
檔增加的例子,: image=/boot/vmlinuz
        label=Linux
        root=/dev/hdb1
        initrd=/boot/initrd-2.2.4-4.img
        read-only
 

在您可以使用 mkinitrd 指令前要先載入loopback 裝置. 確定 loopback 裝置模組已經(jīng)載入: /sbin/insmod loop
 

(如果您得到有關(guān)無(wú)法載入loopback 模組的錯(cuò)誤訊息,您可能需要指定給目前正在運(yùn)作的核心該模組完整路
徑,例如 ``/lib/modules/2.0.35/loop''.) 

使用 ``mkinitrd'' 指令真正地建立映像檔: /sbin/mkinitrd /boot/initrd-2.0.36-3.img 2.0.36-3
 

執(zhí)行 ``/sbin/lilo'' 更新您的 boot loader. 
現(xiàn)在,關(guān)閉系統(tǒng)且啟動(dòng)新的核心! 
  mail:/boot# /sbin/shutdown -r now
 

如果您的核心拒絕完成啟動(dòng),別驚慌。利用在安裝 Linux 時(shí)所作的開(kāi)機(jī)磁片開(kāi)機(jī)。如果您沒(méi)有該磁片,
應(yīng)該可以利用Red Hat CD作。插入磁片然後重新啟動(dòng)電腦。當(dāng)您看到“boot:” 提示時(shí),鍵入: 
  mount root=/dev/hda1
 


上述的指令假設(shè)您的“/” (root) partition 位於 /dev/hda1. 

Linux 應(yīng)該然後正常地啟動(dòng) (既然您是使用開(kāi)機(jī)磁片開(kāi)機(jī),在這期間不是所有的裝置及服務(wù)都能正常動(dòng)作),
然後您可以回存您的舊核心然後重新安裝 LILO boot loader 的資料 
(亦即. ``mv /vmlinuz.old /vmlinuz ; /sbin/lilo'') 然後關(guān)機(jī)/重新啟動(dòng)。然後您可以試著用不同選項(xiàng)重
新編譯核心再試一次。 

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 惠水县| 龙南县| 龙川县| 应城市| 炎陵县| 广平县| 名山县| 化州市| 商都县| 丹阳市| 安丘市| 威海市| 汉寿县| 应城市| 马鞍山市| 襄汾县| 航空| 广宁县| 巴林左旗| 隆德县| 丰宁| 正阳县| 东光县| 化州市| 尼木县| 方正县| 大渡口区| 介休市| 龙岩市| 康定县| 阳西县| 台南县| 葫芦岛市| 芜湖市| 怀来县| 三门峡市| 塔城市| 龙门县| 万盛区| 通辽市| 新昌县|