作者 主題: [問題]Linux-2.6.6的核心掛載問題  (閱讀 5753 次)

0 會員 與 1 訪客 正在閱讀本文。

samulasun

  • 可愛的小學生
  • *
  • 文章數: 14
    • 檢視個人資料
[問題]Linux-2.6.6的核心掛載問題
« 於: 2004-05-13 11:50 »
大家好,我剛下載了linux-2.6.6的核心Source Code然後進行編譯的動作
當我進行了make menuconfig,make clean,make,三個指令之後
我拷貝了/usr/src/linux-2.6.6/arch/i386/boot/bzImage到/boot
並更名為vmlinuz-2.6.6,然後我嘗試以這一個新的核心進行開機的動作
所以我修改了/boot/grub/menu.lst 這一個檔案,根據鳥哥網站上的說明
多加了下面的指令行
title linux-2.6.6
      root(hd0,0)
      kernel /boot/vmlinuz-2.6.6 root=/dev/hda1
      devfs=mount
但這樣子開機一直不成功,我相信我一定有哪裡不清楚或弄錯了,所以想請各位大大指正,非常謝謝大家.

harrier

  • 榮譽博士
  • 俺是博士!
  • *****
  • 文章數: 1856
  • 性別: 男
    • 檢視個人資料
    • 國屬武裝兵
Re: [問題]Linux-2.6.6的核心掛載問題
« 回覆 #1 於: 2004-05-13 12:45 »
引述: "samulasun"
大家好,我剛下載了linux-2.6.6的核心Source Code然後進行編譯的動作
當我進行了make menuconfig,make clean,make,三個指令之後
我拷貝了/usr/src/linux-2.6.6/arch/i386/boot/bzImage到/boot
並更名為vmlinuz-2.6.6,然後我嘗試以這一個新的核心進行開機的動作
所以我修改了/boot/grub/menu.lst 這一個檔案,根據鳥哥網站上的說明
多加了下面的指令行
title linux-2.6.6
      root(hd0,0)
      kernel /boot/vmlinuz-2.6.6 root=/dev/hda1
      devfs=mount
但這樣子開機一直不成功,我相信我一定有哪裡不清楚或弄錯了,所以想請各位大大指正,非常謝謝大家.


http://www.uwsg.iu.edu/hypermail/linux/kernel/0209.1/0056.html
...90Net(90:1200/1203),GameNET(99:700/707),ALLNet(92:9200/3111),InfoNet(30:100/103)..MaximusCBCS(浮懷),AirNet,TenderNet,StormNet,FidoNet...
<<- www.nas.vg ->>

netman

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 17423
    • 檢視個人資料
    • http://www.study-area.org
[問題]Linux-2.6.6的核心掛載問題
« 回覆 #2 於: 2004-05-13 12:53 »
能說說 error 嗎?

samulasun

  • 可愛的小學生
  • *
  • 文章數: 14
    • 檢視個人資料
[問題]Linux-2.6.6的核心掛載問題
« 回覆 #3 於: 2004-05-13 14:04 »
先謝謝兩位的回覆,harrier大大,這一版核心不支援make dep的指令,所以我在執行完make menuconfig後沒有去執行make dep,就直接執行make clean了
另外,錯誤訊息如下:
若我在grub檔案內寫入
                     title linux-2.6.6
                     kernel (hd0,0)/boot/vmlinuz-2.6.6 root=/dev/hda1
                     devfs=mount
        或                    
                     
                     title linux-2.6.6
                     lernel (hd0,0)/boot/vmlinuz-2.6.6 ro root=LABEL=/ hdc=ide-scsi
則都會出現同樣的錯誤訊息
                     VFS: Cannot open root device "LABEL=" or unknown-block(0,0)
                     Please append a correct "root=" boot option
                     Kernel panic:VFS: Unable to mount root fs on unknown-block(0,0)

Pail

  • 俺是博士!
  • *****
  • 文章數: 1040
  • 性別: 男
    • 檢視個人資料
[問題]Linux-2.6.6的核心掛載問題
« 回覆 #4 於: 2004-05-13 14:09 »
把 /etc/fstab 裡頭的 LABEL=xxx 改成 /dev/hdxx 試試吧.
Pail Luo.
Email: pail.luo@gmail.com

samulasun

  • 可愛的小學生
  • *
  • 文章數: 14
    • 檢視個人資料
[問題]Linux-2.6.6的核心掛載問題
« 回覆 #5 於: 2004-05-13 16:04 »
謝謝pail大大您的提示,不過我這樣改過之後~~連原來的RedHat也不能開機了耶!!
不知道是不是我改錯結果掛了,我在/etc/fstab檔案的第一行,也就是LABEL那一行裡面用"/dev/hda1"取代原來的 "/",結果開機的時候就沒辦法成功了,用軟碟機開機也不行,剛剛用Knoppix從光碟開機可以,但是他不允許我去修改硬碟裡面的資料
~~暈~~現在重灌中~~ ^_^

Pail

  • 俺是博士!
  • *****
  • 文章數: 1040
  • 性別: 男
    • 檢視個人資料
[問題]Linux-2.6.6的核心掛載問題
« 回覆 #6 於: 2004-05-13 16:25 »
咚....
你要先 check  每個 partion 對應的 partition number 啦...
嗚....
sorry...
害你重來..
Pail Luo.
Email: pail.luo@gmail.com

samulasun

  • 可愛的小學生
  • *
  • 文章數: 14
    • 檢視個人資料
[問題]Linux-2.6.6的核心掛載問題
« 回覆 #7 於: 2004-05-13 16:55 »
沒有關係啦,重灌是小事,不過...硬碟不都是hda1嗎?? 因為我只有一顆硬碟
所以應該不會是其他的號碼吧~~~ :lol:

Pail

  • 俺是博士!
  • *****
  • 文章數: 1040
  • 性別: 男
    • 檢視個人資料
[問題]Linux-2.6.6的核心掛載問題
« 回覆 #8 於: 2004-05-13 17:06 »
噗...
hda 指的是 第一顆 HDD  沒錯.
後的面數字, 則是 partition number??
個人覺得你先去 http://www.study-area.org/linux/system/linux_install.htm 瞧瞧.
Pail Luo.
Email: pail.luo@gmail.com

netman

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 17423
    • 檢視個人資料
    • http://www.study-area.org
[問題]Linux-2.6.6的核心掛載問題
« 回覆 #9 於: 2004-05-13 21:23 »
用 knoppix 開機後,
不妨看看 fdisk -l /dev/hda 的結果有哪些 partition ?
然後逐個 mount 到 /mnt 看看裡面有沒有 sbin 目錄?
若沒有,umount 後再 mount 下一個,直到找到為止。然後你就知道 / 在哪個 partition 了。

samulasun

  • 可愛的小學生
  • *
  • 文章數: 14
    • 檢視個人資料
[問題]Linux-2.6.6的核心掛載問題
« 回覆 #10 於: 2004-05-14 14:50 »
昨天試了幾次還是試不出來,又覺得每次重灌實在太麻煩了,
去找了一下KNOPPIX改檔案的方法,分享一下給大家
1. 用Knoppix開機
2. 進入終端機
3. 執行su
4. mount -t ext3 -o rw /dev/hdb1 /mnt/hdb1
然後在終端機模式下用vi就可以修改檔案了,不是用檔案總管開檔案哦
都是在終端機模式下做!!

我後來改了一些地方,有一點進展,可是還是沒成功,我把鳥哥的這一行
root=/dev/hda1 改成 root=/dev/hdb1,及fstab裡的LABEL=/dev/hdb1
這樣一來就可以避過我前面說的錯誤,但現在停在Welcome to RedHat Linux
的Title下面第五個步驟 while trying to open/ [failed]
接著出現下面的訊息:
***An error occurred during the file system check.
***Dropping you to a shell;the system will reboot
***when you leave the shell.
Give root password for maintance
(or type Control-D to continue):
不知道應該要修改哪些地方,再麻煩一下各位前輩一下,謝謝大家!!!

Pail

  • 俺是博士!
  • *****
  • 文章數: 1040
  • 性別: 男
    • 檢視個人資料
[問題]Linux-2.6.6的核心掛載問題
« 回覆 #11 於: 2004-05-14 15:11 »
你的 partition 怎麼切的??

cat /proc/partitions

cat /etc/fstab

cat /boot/grub/menu.lst
Pail Luo.
Email: pail.luo@gmail.com

netman

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 17423
    • 檢視個人資料
    • http://www.study-area.org
[問題]Linux-2.6.6的核心掛載問題
« 回覆 #12 於: 2004-05-14 16:13 »
下次用 knoppix 改完後,
記得 umount ,
然後在 reboot 之前,對 partition 跑一次 fsck ... (一定要 umount 才跑哦)

samulasun

  • 可愛的小學生
  • *
  • 文章數: 14
    • 檢視個人資料
[問題]Linux-2.6.6的核心掛載問題
« 回覆 #13 於: 2004-05-14 17:06 »
我用cat /proc/partitions之後所顯示的資訊好像是說我有三個Partition
第一個叫hdb有40G(這是我全部硬碟的大小),第二個叫hdb1有8G(這是我切的)
第三個有1G(我拿來當swap用的)

我fstab裡面的內容是
LABEL=/        /                       ext3        defaults                  1   1
none             /dev/pts            devpts     gid=5,mode=620     0   0
none            /proc                  proc        defaults                  0   0
none            /dev/shm            tmpfs      defaults                  0   0
/dev/hdb2    /swap                  swap      defaults                  0    0
/dev/cdrom  /mnt/cdrom         udf,iso9660 noauto,owner,kudzu,ro 0 0
/dev/fd0      /mnt/floppy          auto       noauto,owner,kudzu         0 0
然後menu.lst裡面的內容是
default=0
timeout=10
splanshimage=(hd0,0)/boot/grub/splansh.xpm.gz
title vBird Linuz Procedure(Linux-2.6.6)
                     kernel (hd0,0)/boot/vmlinz-2.2.2 root=/dev/hdb1
                     devfs=mount

netman

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 17423
    • 檢視個人資料
    • http://www.study-area.org
[問題]Linux-2.6.6的核心掛載問題
« 回覆 #14 於: 2004-05-15 21:10 »
try this:
title vBird Linuz Procedure(Linux-2.6.6)
root (hd0,0)
kernel /boot/vmlinz-2.6.6 ro root=/dev/hdb1

不過,你最好先將 /boot 的內容列出來,最後一行才能確定要怎麼寫...

hrsenshen

  • 憂鬱的高中生
  • ***
  • 文章數: 109
    • 檢視個人資料
Re: [問題]Linux-2.6.6的核心掛載問題
« 回覆 #15 於: 2004-05-16 08:28 »
引述: "samulasun"
大家好,我剛下載了linux-2.6.6的核心Source Code然後進行編譯的動作
當我進行了make menuconfig,make clean,make,三個指令之後
我拷貝了/usr/src/linux-2.6.6/arch/i386/boot/bzImage到/boot
並更名為vmlinuz-2.6.6,然後我嘗試以這一個新的核心進行開機的動作
所以我修改了/boot/grub/menu.lst 這一個檔案,根據鳥哥網站上的說明
多加了下面的指令行
title linux-2.6.6
      root(hd0,0)
      kernel /boot/vmlinuz-2.6.6 root=/dev/hda1
      devfs=mount
但這樣子開機一直不成功,我相信我一定有哪裡不清楚或弄錯了,所以想請各位大大指正,非常謝謝大家.


其實可以不用這麼辛苦啦
在編譯前修改Makefile
其中有一行是這樣的#export INSTALL_PATH=/boot
把#拿掉之後就可以了
這是意思是把編譯完的核心丟到/boot
這樣就可以省去許多麻煩(小弟在這邊可真是吃太多苦頭了@@)
SlackWare Linux My Live

samulasun

  • 可愛的小學生
  • *
  • 文章數: 14
    • 檢視個人資料
[問題]Linux-2.6.6的核心掛載問題
« 回覆 #16 於: 2004-05-18 14:16 »
不好意思,這兩天出去不在家,一直到今天才去試
netman大大,我有修改過您所說的方法了,不過目前還是不行,我將/boot裡面
的檔案列出來請您參考一下 boot.b,chain.b,config-2.4.20-8,
initrd-2.4.20-8.img,kernel.h,messaqe.pcx,messaqe.ia.pcx,module-info
module-info-2.4.20-8,os2 d.b,system.map,system.map-2.4.20-8,
vmlinuz,vmlinuz-2.4.20-8,vmlinuz-2.6.6

另外,hrsenshen大大,您所提供的方法指的是make之後,什麼都不用改
就直接重開機嗎?? 我是這樣子做的啦,不過不行,所以再請教您一下,謝謝大家!!!

netman

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 17423
    • 檢視個人資料
    • http://www.study-area.org
[問題]Linux-2.6.6的核心掛載問題
« 回覆 #17 於: 2004-05-18 14:51 »
若用 2.4.x 的 kernel 來編呢?
嗯,這是為了讓你熟悉 kernel 的 compile 與 install 流程,還有 grub/lilo 等 loader 的設定與安裝。
等有心得後,再碰 2.6.x ...

samulasun

  • 可愛的小學生
  • *
  • 文章數: 14
    • 檢視個人資料
[問題]Linux-2.6.6的核心掛載問題
« 回覆 #18 於: 2004-05-19 15:38 »
netman大大謝謝您的建議,我從網路上下載了Linux-2.4.26版本的Kernel
然後進行make mrproper
make xconfig
make dep
make clean
make bzImage
make modules
make modules_install
然後重開機,在開機的過程中會出現三個false,都是在載入USB相關程式的樣子
其他的項目都是OK,然後就進入到文字模式,此時若我執行uname -a,則他顯示
的版本號碼也是2.4.26,但因為前面有出現false所以我實在不確定我目前所載入的Kernel是不是正常,又, 我的步驟正確嗎?? 謝謝大家!!!

netman

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 17423
    • 檢視個人資料
    • http://www.study-area.org
[問題]Linux-2.6.6的核心掛載問題
« 回覆 #19 於: 2004-05-19 15:42 »
那幾個 usb 的 fail 是因為你還沒將 USB 的幾個 object 編進來而已...
與 usb keyboard/mouse 相關那幾個。

從這個結果看來,你應該對 kernel 與 loader 有一定的心得了。
接下來,要看的是你的 kernel 2.6 是否有將 ext3 包進來?
或,是在 initrd 裡有設 ext3 的 module ?
(這裡假設 partiton 是用 ext3 的情況下)

samulasun

  • 可愛的小學生
  • *
  • 文章數: 14
    • 檢視個人資料
[問題]Linux-2.6.6的核心掛載問題
« 回覆 #20 於: 2004-05-19 15:51 »
netman大大謝謝您的回覆, 我想請教一下,您所謂USB的Object指的是
make menuconfig裡面忽略了USB驅動程式,還是Makefile裡面
需要再另外設定呢?? 謝謝大家!!

netman

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 17423
    • 檢視個人資料
    • http://www.study-area.org
[問題]Linux-2.6.6的核心掛載問題
« 回覆 #21 於: 2004-05-19 15:59 »
oldconfig, config, menuconfig, xconfig 這些都是 Makefile 的 target 。
而這些 target 跑完 make 後,都會修改 .config 。(當然,不建議你直接改 .config 這個檔啦。 )

然後 make bzImage 與 modules 會跟據 .config 來產生 image 與 modules 。
最後 make install (或手工 copy),將  image 寫到 /boot (或其他目錄)
make modules_install 則是安裝 modules 到 /lib/modules 去...

然後是改 loader ,要到哪裡載入 image ,再跑 init, rullevel, login, shell, command....
若有 initrd 的話,那在 init 之前,還會先跑 ram disk ,以載入相關開機必要的 modules ,如 scsi driver 或 file system 之類的。

流程大致如此,越了解,對除錯越有幫助。
而你的 kernel 2.6 是卡在 init 之前,那我才建議你留意 file system 的部份。

wangfang

  • 懷疑的國中生
  • **
  • 文章數: 39
    • 檢視個人資料
[問題]Linux-2.6.6的核心掛載問題
« 回覆 #22 於: 2004-05-21 15:00 »
個人經驗
不知可否讓你參考

在make menuconfig之前
先make oldconfig把之前的kernel的組態複製下來,其它使用預設值
然後再作make menuconfig調整其它細項

記得將ext3不要做成modules(kernel 2.4是modules),讓它complier進kernel
這點粉重要!!

個人意見,請多多指教~~