純手動製作開機磁片

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

版主: mufa

純手動製作開機磁片

文章sigmaccc » 週一 3月 27, 2006 3:50 pm

小弟看了這篇文章http://www.study-area.org/tips/floppy-linux.htm
想自己純手動製作一開機磁片。
上述文章說,第一步驟是做boot loader,我想用grub。
我下了grub-install /dev/fd
結果出現
/dev/fd0 does not have any corresponding BIOS drive
連第一個步驟都無法成功,讓小弟不知如何繼續。
希望有經驗的網友都指點一下小弟,感激不盡。

ps.我磁片原本是fat格式的,我有先fdformat /dev/fd0
然後再下mke2fs -j /dev/fd0將格式改為ext3
不知這麼做對不對,是否有多做或少做什麼動作?
最後由 sigmaccc 於 週五 3月 31, 2006 3:06 pm 編輯,總共編輯了 1 次。
sigmaccc
可愛的小學生
可愛的小學生
 
文章: 46
註冊時間: 週三 1月 18, 2006 8:30 am

文章訪客 » 週一 3月 27, 2006 5:38 pm

apt-get install grub-disk 裡面就有直接可用的 image
軟碟跟光碟的 grub image 都有
訪客
 

文章sigmaccc » 週五 3月 31, 2006 3:53 pm

#mke2fs /dev/fd0
#mount /dev/fd0 /mnt/floppy
#mkdir /mnt/floppy/boot
#mkdir /mnt/floppy/boot/grub
#cp /boot/grub/stage1 /mnt/floppy/boot/grub
#cp /boot/grub/stage2 /mnt/floppy/boot/grub

建立menu.lst
default 0
timeout 5
color cyan/blue white/blue
title Embedded Linux from Floppy
root (fd0)
kernel /boot/vmlinuz root=/dev/fd0

#cp menu.lst /mnt/floppy/boot/grub
#umount /mnt/floppy

啟動GRUB
#grub
grub>device (fd0) /dev/fd0
grub>root (fd0)
grub>setup (fd0)
grub>quit

加入kernel
#mount /dev/fd0 /mnt/floppy
#cp /boot/vmlinuz-2.4.27-2-386 /mnt/floppy/boot/vmlinuz

建立設備檔
#mkdir /mnt/floppy/dev
#cd /mnt/floppy/dev
#mknod fd0 b 2 0
#chmod 600 fd0
#umount /mnt/floppy

我後來發現應用以上方式想建立一個開機磁片,但開機時出現 :
VFS: Cannot open root device "fd0" or 02:00
Please append a correct "root=" boot option
Kernel panic: VFS: Unable to mount root fs on 02:00

我知道開機程序還有init等動作要做,但目前卡在這裡,我不該如何繼續。可否麻煩網友再幫忙看看。謝謝。
sigmaccc
可愛的小學生
可愛的小學生
 
文章: 46
註冊時間: 週三 1月 18, 2006 8:30 am

文章sigmaccc » 週一 4月 03, 2006 11:12 am

我後來自行make kernel ,並將Normal PC floppy disk support功能打開(我發現此項功能內定是關閉的)。
此時開機會變成
Insert root floppy and press ENTER

一定要手動再按下ENTER鍵才會再出現

VFS:Mounted root(ext2 filesystem) readonly.
Freeing unused kernel memory:136k freed


請問該如何設定才能讓系統不按ENTER鍵就繼續執行下一步呢?
thnaks.
sigmaccc
可愛的小學生
可愛的小學生
 
文章: 46
註冊時間: 週三 1月 18, 2006 8:30 am

文章sigmaccc » 週二 4月 04, 2006 2:21 pm

後來直接將上述步驟用於硬碟,就沒有出現要求按enter再繼續的問題了。
後來又加入了inittab及rcS,rc三個檔案,結果開機時變成出現
INIT:cannot excute "/etc/init.d/rcS
INIT:Entering runlevel:3
INIT:cannot execute "/etc/init.d/rc
之錯誤訊息,天呀!!!我何時才能成功開機啊!!!
執行rcS這種Shell類型的程式是否要先安裝或設定什麼才能執行?
sigmaccc
可愛的小學生
可愛的小學生
 
文章: 46
註冊時間: 週三 1月 18, 2006 8:30 am

文章sigmaccc » 週四 4月 06, 2006 3:30 pm

上面問題的解決方法為加入shell執行檔即可。
sigmaccc
可愛的小學生
可愛的小學生
 
文章: 46
註冊時間: 週三 1月 18, 2006 8:30 am

文章sigmaccc » 週五 4月 07, 2006 9:16 am

最後我加入了/bin/login和相關檔案。
但開機後卻出現以下問題:

(none) login:root
Password:
輸入密碼後竟出現Login incorrect之錯誤訊息。
但我輸入的密碼明明是對的呀
另外為什麼login前面是顯示(none)
此處又該如何修改?

再次麻煩大家了。thanks a lot.
sigmaccc
可愛的小學生
可愛的小學生
 
文章: 46
註冊時間: 週三 1月 18, 2006 8:30 am

文章訪客 » 週五 4月 07, 2006 3:26 pm

給一些提示

(none) 是 hostname

登入不了的原因會是什麼呢?
如果要登入, 是否應該作一些比較?
那應該用什麼為比較的依據? (Linux 的資料一般用什麼方式記錄?)
訪客
 

文章sigmaccc » 週一 4月 10, 2006 8:09 am

再次謝謝訪客大大的解說。
login的部份小弟在google查了pam關鍵字得到答案。
(none)就如訪客大大所言,沒設hostname。
但此處小弟仍有點問題,就是每次重新開機都必需重設一次hostname。
再請教大大,一般完整安裝的linux也是每次重新開機都必需重設一次hostname的嗎?
如果是,請問這個動作是在那個scripts完成的 ?
thanks.
sigmaccc
可愛的小學生
可愛的小學生
 
文章: 46
註冊時間: 週三 1月 18, 2006 8:30 am

文章訪客 » 週一 4月 10, 2006 9:14 am

請修改 /etc/hostname, /etc/hosts, /etc/resolv.conf

這是你最後 root 底下的...如果是 initrd.img 不用改
訪客
 

文章sigmaccc » 週一 4月 10, 2006 9:54 am

不太懂訪客大大的意思。
我把/etc/hostname, /etc/hosts, /etc/resolv.conf三個檔案內容都改了。但一樣還是要每次重開機都執行hostname --file /etc/hostname才能生效 :crying:

另外小弟沒有用initrd.img 這個檔案。
sigmaccc
可愛的小學生
可愛的小學生
 
文章: 46
註冊時間: 週三 1月 18, 2006 8:30 am

文章訪客 » 週一 4月 10, 2006 1:00 pm

你的 system 是自己打造的? 那就自己加進 init scripts 吧...

一般 distribution 預設的 init scripts 都會自動設好
訪客
 

文章sigmaccc » 週二 4月 11, 2006 7:54 am

了解了,謝謝訪客大大多次不厭其煩的幫小弟解說。thank you very much.
sigmaccc
可愛的小學生
可愛的小學生
 
文章: 46
註冊時間: 週三 1月 18, 2006 8:30 am


回到 debian misc

誰在線上

正在瀏覽這個版面的使用者:Google [Bot] 和 1 位訪客