升級新kernel後為何依然跑舊版kernel

如果您覺得您的問題不屬於 debian desktop 或是 debian server 版的範圍內,請在這裡發問。

版主: mufa

升級新kernel後為何依然跑舊版kernel

文章訪客 » 週二 10月 25, 2005 3:45 pm

小弟要請問各位有關kernel升級的問題

首先,我的Live-CD是Knoppix-STD版本,Kernel 是 2.4.21
由於工作上的需要,已自行加入許多工具,在2.4.21的kernel上運作
也都沒有問題,這幾天想要試試把kernel升級到2.4.30,
但每次做好新的CD開機時,依然是去讀舊的kernel,我推測是lilo的部分
有問題,可是我實在看不出問題在哪,希望各為能給點提示,謝謝。

升級步驟:

1.如何將Knoppix裝入硬碟的部分不在贅述,已有很多前輩的文章可查

2.下載 2.4.30 的source code (linux-2.4.30.tar.gz)
http://ftp.nsysu.edu.tw/Linux/Kernel/linux/kernel/

3.
# mv linux-2.4.30.tar.gz /usr/src
# tar -xzvf linux-2.4.30.tar.gz
# mv linux linux.old
# ln -s linux-2.4.30 linux

4.
# cd linux
# make mrproper
# make menuconfig (選完後save)
# make dep
# make clean
# make bzImage
# make modules
# make modules_install
# make install

5.
# cp /usr/src/linux/arch/i386/boot/bzImage /boot/vmlinuz-2.4.30
(此點在make install會自己完成)

6.
# vi /etc/lilo.conf

lba32
install=/boot/boot-menu.b
backup=/dev/null
boot=/dev/hda
map=/boot/map
vga=normal
default=knoppix
timeout=100
image=/boot/vmlinuz-2.4.30
append="apm=power-off hda=scsi hdb=scsi hdc=scsi hdd=scsi hde=scsi hdf=scsi hdg=scsi hdh=scsi vga=791 quiet"
root=/dev/hda1
label=Knoppix
read-write

7.# lilo -v

8.製作iso


PS: /boot 內的資料

root@0[boot]# ls -l
total 2080
System.map -> System.map-2.4.30
System.map-2.4.30
config -> config-2.4.30
config-2.4.30
map
vmlinuz -> vmlinuz-2.4.30
vmlinuz-2.4.30
訪客
 

文章molopoly » 週二 10月 25, 2005 5:20 pm

請問你為什麼要用read-write呢?
還有,既然已經做link了,
那應該用 image=/boot/vmlinuz,
還有,你都沒縮排(用tab),
當然,以上的幾點沒設好,我是不知道有什麼差別啦,
就算有錯誤,應該是連開機都沒辦法開吧,
而不是會聰明到用舊kernel開機,
(希望以後的linux能夠做到這一點)
我想是不是lilo和lilo -v是不同的意思呢?
也就是說lilo是寫入MBR,
而lilo -v是讀出MBR的資訊呢?
因為我是用Grub,
所以,以上純屬猜測,請你再看看下面的文章,
也許就解決了。
http://linux.vbird.org/linux_basic/0510 ... r.php#lilo
molopoly
可愛的小學生
可愛的小學生
 
文章: 43
註冊時間: 週二 10月 18, 2005 1:29 am
來自: 台灣共和國

文章訪客 » 週二 10月 25, 2005 5:45 pm

請問你為什麼要用read-write呢?

[ 因為它原來就是read-write,所以沒去改 ]

還有,既然已經做link了,
那應該用 image=/boot/vmlinuz,

[ 因為我試過 image=vmlinuz, image=/boot/vmlinuz, image=/boot/vmlinuz-2.4.30 都不行 ]

還有,你都沒縮排(用tab),

[ 有縮 只是貼上來後看不出來 ]

當然,以上的幾點沒設好,我是不知道有什麼差別啦,
就算有錯誤,應該是連開機都沒辦法開吧,
而不是會聰明到用舊kernel開機,
(希望以後的linux能夠做到這一點)

[ 重點就是開機一切OK,沒有任何error,uname -r 顯示舊的kernel ]

我想是不是lilo和lilo -v是不同的意思呢?
也就是說lilo是寫入MBR,
而lilo -v是讀出MBR的資訊呢?

[ lilo and lilo -v 都試過,結果相同]

因為我是用Grub,
所以,以上純屬猜測,請你再看看下面的文章,
也許就解決了。
http://linux.vbird.org/linux_basic/0510 ... r.php#lilo

[ 我第一份文章就是參考鳥哥的 ]

我想我會再以一般的linux試試看,不確定Live CD是不是在程序上
有其他要注意的地方,升級的過程中沒看到什麼錯誤訊息,
一步接一步的做都很順,所以才覺得奇怪,總之謝謝你的回應。
訪客
 

文章訪客 » 週二 10月 25, 2005 9:21 pm

請你把你的開機訊息和 Patition table po 出來吧!

# dmesg
# fdiks -l /dev/hda
訪客
 

文章molopoly » 週二 10月 25, 2005 11:32 pm

請問一下,這一行是你加的嗎?
還是是程式自己產生的?
append="apm=power-off hda=scsi hdb=scsi hdc=scsi hdd=scsi hde=scsi hdf=scsi hdg=scsi hdh=scsi vga=791 quiet"
如果是程式自己產生的,請註解掉或刪掉,
因為hda=scsi的意思好像是把hda模擬成scsi裝置,
這種方式好像是以前因為linux不支援燒錄器時,
把燒錄器模擬成scsi裝置的寫法,
現在程式已經有修正了,不需要這個奇怪的作法了,
我想這樣應該就可以成功寫入MBR了吧。
還有改read-write為read-only,(沒看過用read-write的)
把label=Knoppix放到image=/boot/vmlinuz的下一行。(好像大家都是這樣放)

如果還是不行,
就cd /usr/share/doc/lilo,
看底下是否有lilo.conf或example之類的檔案,
也就是設定檔的範例,
通常,這種範例會有大量的註解,
因此,你可以很清楚的知道自己在幹嘛,
稍加修改後,就cp到/etc/lilo.conf。

如果沒有這種範例檔時,
請mv /etc/lilo.conf /etc/lilo.conf.bak,
然後,man 5 lilo 或 man lilo.conf,
再vi /etc/lilo.conf,
(沒錯,就是自己再打一個設定檔,
只寫自己了解的和自己需要的東西)

如果還是不行的話,那你就下載debian的安裝光碟,
放棄用knoppix算了。
molopoly
可愛的小學生
可愛的小學生
 
文章: 43
註冊時間: 週二 10月 18, 2005 1:29 am
來自: 台灣共和國

Re: 升級新kernel後為何依然跑舊版kernel

文章訪客 » 週五 10月 28, 2005 11:12 am

感謝各位的幫忙,小弟發現問題的關鍵不在 lilo.conf,而在於我要做的
是live CD,所以必須將硬碟的檔案做成ISO燒入光碟,自然也就需要
能從光碟開機,CD開機時是去讀取boot.img內的vmlinux,而我當初
未將其內的vmlinux更新,所以每次開機都是讀舊的kernel。

不過目前小弟遇到的問題是,要製作開機光碟是採用模擬軟碟的方式
size定為1.2M、1.44M、2.88M,而我新的kernel size為3.4M,
所以使用超過2.88M的boot.img時會出現錯誤訊息
boot.img has not an a llowable size

看來要製作Live CD只好試著做出小於2.88M的kernel
不過在編譯核心之前有可能先推算出編譯完成的kernel size嗎
訪客
 

文章訪客 » 週五 10月 28, 2005 5:03 pm

>>要製作開機光碟是採用模擬軟碟的方式

為啥自討苦吃?! :mrgreen:
訪客
 

文章訪客 » 週五 10月 28, 2005 5:42 pm

Anonymous 寫:>>要製作開機光碟是採用模擬軟碟的方式

為啥自討苦吃?! :mrgreen:


小弟目前對mkisofs的了解不多
是否還有其他方式 -hard-disk-boot ?
訪客
 


回到 debian misc

誰在線上

正在瀏覽這個版面的使用者:沒有註冊會員 和 1 位訪客