瀏覽單個文章
cmwang
Elite Member
 

加入日期: May 2002
您的住址: 板橋
文章: 5,112
鵝來離題一下好了,貼個如何用USB HD跑Linux(以FC系列為例)

以下僅供大家參考,不過M$ Win可能無法比照辦理就是了(除非M$願意造福其user....BTW,詳細原理請自行參閱initrd相關文件)....

前提:M/B要support USB2.0(除非有人想用UHCI/OHCI跑USB1.1 ),而且BIOS要正確support boot from USB HD(2003年底以後的M/B應該都可以)....BTW,外接盒最好選可外接電源者(不要想吃USB的電源,HD才能長命百歲)....

步驟
1:先用轉接頭內接灌好OS(FC系列的setup程式對此類環境還是水土不服)
2:確定OS及grub是以LABEL的方式access storage而非以device name為之(免得改內接時boot不起來 i.e. hdx vs sdx),而且/etc/modprobe.conf要加上alias scsi_hostadapter usb-storage(給mkinitrd參考用的)
3:產生新的initrd(mkinitrd -v --preload=ehci-hcd foo.img kernel-version > foo.log),preload=ehci-hcd是因為usb-storage實際上須要走ehci controller,但mkinitrd並無從得知,至於foo.img中到底包了些啥請自行參閱foo.log....
4:把新的initrd(foo.img) copy到/boot內,並修改/boot/grub/grub.conf使grub會去load新的initrd....
5:關機後把HD裝到外接盒內,修改BIOS setup使BIOS可以由USB HD boot....
6:沒問題的話就大功告成了,從此就可以說到處都是自己的電腦了....BTW,鵝在FC3和FC4 X86-64板試過都可行(default kernel即可,不一定須要compile kernel,其它distribution其實也可以比照辦理,但自行以static link方式compile kernel時須修改init/do_mount.c以免kernel在USB/usb-storage尚未ready前mount root造成kernel panic,這一點應該跟M$ Win系列無法自removable storage上boot起來的道理是一樣的)....
__________________
士大夫之無恥,是謂國恥....
舊 2005-10-05, 10:49 AM #18
回應時引用此文章
cmwang現在在線上