VMware下升級linux核心篇

來源:互聯網
上載者:User

一.由於linux在教育網下不藉助任何加速工具,上網真叫一個慢,所以想在linux下與Windows共用資料夾,來使用先前下好的一些東東!要做到這點,你需要以下幾步:

     1.   mount   /dev/cdrom   /mnt/cdrom  
  2.   VM菜單有一個install   vm   tools進行安裝  
  3.   之後/mnt/cdrom裡面就會有兩個檔案,一個是rpm檔案,一個是*.tar.gz檔案,把rpm檔案安裝,再用tar解壓縮*.tar.gz的檔案,如果是唯讀,那麼就會提示出錯,考出來再解壓縮就可以了  
  4.   解壓縮後會有一個叫install*.pl的檔案,直接執行就會出現一些提示,一路斷行符號  
  5.   vm   tools裝好後,到VM的setting裡設定一下共項目錄就是了~~  
  6.   /mnt/kgfs就會出現了,裡面有剛才設定的共用目錄裡面的內容 

設定好之後,你就可以看到在Windows下的一些你升級核心要用的檔案了!

二 升級核心(這才是我們的重點),以下是攻略,本人親自試過,這個絕對沒錯:

一、準備工作
首先說明,下面帶#號的行都是要輸入的命令列,且本文提到的所有命令列都在終端裡輸入。
啟動Linux 系統,並用根使用者登入,進入終端模式下。
1、查看Linux 核心版本
# uname -a
如果螢幕顯示的是2.6.x,說明你的已經是2.6 的核心,也用不著看下文了,該幹什麼幹什麼
去吧!~~~如果顯示的是2.4.x,那恭喜你,闖關通過,趕快進行下一步。
2、下載2.6 核心源碼
:http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.18.tar.bz2
3、下載核心升級工具
(1)下載module-init-tools-3.2.tar.bz2
http://www.kernel.org/pub/linux/ ... t-tools-3.2.tar.bz2
(2)下載mkinitrd-4.1.18-2.i386.rpm
http://ayo.freshrpms.net/fedora/ ... d-4.1.18-2.i386.rpm
(3)下載lvm2-2.00.25-1.01.i386.rpm
http://ayo.freshrpms.net/fedora/ ... 00.25-1.01.i386.rpm
(4)下載device-mapper-1.00.19-2.i386.rpm
http://ayo.freshrpms.net/fedora/ ... -1.00.19-2.i386.rpm
(2.6.18 核心和這4 個升級工具我都有備份, 如果以上失效, 請到
http://www.piaoyang.org/guestbook 留下你的郵箱,我給你發過去)
二、配置工作
好啦,2.6 核心和4 個升級工具都下載完了(少一個也不行,如果沒有下載齊全,請不要嘗試
下面的步驟,升級是不會成功的),下面回到Linux 系統中開始配置工作吧。
4、將下載好的核心源碼包和4 個升級工具都拷貝到/usr/src 檔案夾下。怎麼拷貝就不用我教
了吧~~~~不會拷貝的去撞牆吧!~~呵呵!
5、拷貝完畢,開始解壓新核心,具體操作請依次執行以下命令:
# cd /usr/src (進入到/usr/src 目錄下,如果已經在/usr/src 目錄下,可不執行該命令)
# rm –rf linux (刪除linux 檔案夾。值得一提的是,如果核心先前從未編譯過,則沒有這個文
件夾,此命令列可略過)
# tar jvxf linux-2.6.18.tar.bz2 (解壓新核心)
# ln -s linux-2.6.18 linux (重建linux 檔案夾)
6、安裝module-init-tools 工具
在/usr/src 目錄下,依次執行下列命令:
# tar jvxf module-init-tools-3.2.tar.bz2 (解壓module-init-tools)
# cd module-init-tools-3.2 (由/usr/src 目錄進入module-init-tools 目錄下)
#./configure --prefix=/
# make moveold
# make all install
#./generate-modprobe.conf /etc/modprobe.conf
7、安裝另外三個升級工具
回到/usr/src 目錄下,依次執行下列3 個命令來安裝另外三個升級工具:
# rpm -ivh --nodeps mkinitrd-4.1.18-2.i386.rpm (注意,這裡一定要加入--nodeps 參數,下同)
# rpm -ivh --nodeps lvm2-2.00.25-1.01.i386.rpm
# rpm -ivh --nodeps device-mapper-1.00.19-2.i386.rpm
如果不更新以上幾個升級包,在後面編譯核心時會提示以下錯誤:
mkinitrd failed
make[1]: *** [install] Error 1
make: *** [install] Error 2
8、配置核心選項。有點繁瑣,~~希望一次成功哦~~。
# cd linux-2.6.18 (進入到/usr/src/linux-2.6.18 目錄下)
# make mrproper (該命令可確保原始碼目錄下沒有不正確的.o 檔案)
# make menuconfig (配置核心各選項)
此時會出現一個圖形介面,列出了所有的核心配置選項,有的選項下還有子選項,你可以用
方向鍵來選擇,用Y 鍵來確定。經過我多次實驗,大多數選項預設就行,以下幾個選項必
須選擇(請認真核對下面每一個選項,否則編譯很有可能前功盡棄):
(1)Loadable Module support 選項中, 選上“Module unloading” 和“Automatic kernel module
loading”這兩項;
(2)Device Drivers--->Block Devices 中選上“Loopback device support”;
Device Drivers--->Multi-device support(RAID and LVM)處要選上“device mapper support”;
Device Drivers--->Graphics support,一定要選上“ Support for frame buffer devices”;
Device Drivers --->USB support --->選上“USB Mass Storage support”(如果是在實環境中,想
要更多USB 支援,就全選吧。我的是在虛擬機器中,用不著了)
Device Drivers --->;Network device support --->Ethernet (10 or 100Mbit) ---><*> AMD PCnet32
PCI support
(3)File system--->(以下9 個選項是關於ext2 和ext3 檔案系統配置,全部選上)
Second extended fs support
Ext2 extended attributes
Ext2 POSIX Access Control Lists
Ext2 Security Labels
Ext3 journalling file system support
Ext3 extended attributes
Ext3 POSIX Access Control Lists
Ext3 Security Labels
JBB (ext3) debugging support
File system--->DOS/FAT/NT Filesystems --->選上“NTFS file system support”;
注意:
ext2 和ext3 檔案系統配置很重要,也是必需的,如果對Ext3、Ext2 檔案的支援直接編譯進
核心,在你reboot 時機器就會當掉,出現如下錯誤資訊:
kernel panic : no init found ,try passing init = option to kernel.....
或者是:
VFS:Cannot open root device "hdxy" or unknow-block(0,0)
Please append a correct "root=" boot option
kernel panic:VFS:Unable to mount root fs on unknown-block(0,0)
或者是:
mount: error 19 mounting ext3
pivotroot: pivot_root(/sysroot,/sysroot/initrd) failed: 2
umount /initrd/proc fail: 2
Freeing unused kernel memory: 244k freed
Kernel panic – not syncing: No init found. Try passing init = option to kernel
(我的機器就是在重啟之後出現第三種錯誤,進不去系統,鬱悶死,只好重裝了~~~如果依照
本文做完所有步驟,當你重啟Linux 系統後,若不幸進不去2.6.18 核心,你會發現你的出錯
資訊就是上面三種了~~~哈!)
(4)如果你在vmware 下編譯核心,硬碟用的是scsi 的,以下三個選項必選:
Device Drivers ---><*>SCSI device support (此項不選的話,下面兩項就選擇不上)
Device Drivers ---><*>SCSI device support ---><*>SCSI disk support
Device Drivers---><8>SCSI device support--->SCSI low-level drivers---><*>; BusLogic SCSI
support
三、編譯工作
OK,繁雜的配置工作完成了,至此,編譯前的準備工作都做好了!
9、開始編譯啦……
在/usr/src/linux-2.6.18 目錄下,執行以下命令即可編譯。編譯需要一段時間,給自己倒杯茶
耐心等候吧!
# make dep (建立編譯時間所需的從屬檔案。注意:如果核心從未編譯過,此步可跳過)
# make clean (清除核心編譯的目標檔案。注意:如果核心從未編譯過,此步可跳過)
# make bzImage (注意大小寫。這一步才是真正編譯核心)
核心編譯成功後, 會在/usr/src/linux/arch/i386/boot 目錄中產生一個新核心的映像檔案
bzImage。如果用make zImage 編譯,核心很大的話,系統會提示你使用make bzImage 命令
來編譯,所以我直接用make bzImage 來編譯。
# make modules (編譯可載入模組)
# make modules_install (安裝可載入模組)
安裝成功後,系統會在/lib/modules 目錄下產生一個2.6.18 子目錄,裡面存放著新核心的所
有可載入模組。
# make install (安裝新核心)
注意:
make install 的時候可能會出現如下錯誤資訊:
No module BusLogic found for kernel 2.4.12
mkinitrd failed
此問題一般只出現在SCSI 硬碟+VMWARE+REDHAT 架構中,因為BusLogic 被編譯進了
核心而不是一個module 的形式(2.4 核心的Buslog ic 模組即使靜態編譯進核心也不行)。解決
方式是直接將BusLogic.o 檔案複製過去:
# cp /usr/src/linux-2.6.18/drivers/scsi/BusLogic.o /lib/modules/2.6.18/kernel/drivers/scsi
不過別忘記,複製過後再執行一下make install。這一步若卡住了,下面的都無法進行,如
果看本文檔還是沒有解決問題,就來我的網上留言本求助吧,進http://www.piaoyang.org ,
點“留言本”即可,我會及時看到你的求助資訊的。
四、啟動新核心
10、將新核心和System.map 檔案拷貝到/boot 目錄下,依次執行以下命令:
# cp /usr/src/linux-2.6.18/arch/i386/boot/bzImage /boot/vmlinuz-2.6.18
# cp /usr/src/linux-2.6.18/System.map /boot/System.map-2.6.18
# cd /boot (進入boot 目錄)
# rm –rf System.map (刪除原來的串連)
# ln –s System.map-2.6.18 System.map (重建立立串連)
11、修改Grub 啟動管理器
如果沒有錯誤的話, 下面開始修改grub 設定檔(不要告訴我你用的lilo)
在/boot 目錄下,執行以下命令:
# new-kernel-pkg --mkinitrd --depmod --install 2.6.18 (這時候你的/boot 下會產生一個initrd-
2.4.18.img,並且你的grub.conf 檔案也作了相應更改)
# df (查看根目錄在那個分區,下一步要用到。注意,這雷根分區不時boot 的那個50M 的分
區,而一般是你最大的那個分區,也就是“/”,千萬不要搞錯哦。我的為/dev/hda2)
# vi /grub/grub.conf
進入grub.conf 檔案,找到如下資訊:
default=1
timeout=10
splashimage=(hd0,0)/grub/splash.xpm.gz
title Red Hat Linux (2.6.18)
root (hd0,0)
kernel /vmlinuz-2.6.18 ro root= LABEL=/
initrd /initrd-2.6.18.img
做兩處修改:
(1) 將default=1 改為default=0(不改的話也可以,只不過重啟之後會預設進入2.4 核心)
(2) 將kernel 行的“LABEL=/”換成根目錄所在的分區(上一步查看的就是)
此步很重要,修改錯誤將可能導致進不去系統,我把我修改後的grub.conf 檔案列出來,不
明之處,可以對照修改:
default=0
timeout=10
splashimage=(hd0,0)/grub/splash.xpm.gz
title Red Hat Linux (2.6.18)
root (hd0,0)
kernel /vmlinuz-2.6.18 ro root=/dev/hda2
initrd /initrd-2.6.18.img
title Red Hat Linux (2.4.20-8)
root (hd0,0)
kernel /vmlinuz-2.4.20-8 ro root=LABEL=/
initrd /initrd-2.4.20-8.img
12,OK,大功告成!趕快重啟,看看升級後的2.6 核心吧~~~~

其實,做做到這些並不難,關鍵是要細心加耐心!

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.