作者 主題: [教學]用 USB flash disk 開機(一)  (閱讀 28838 次)

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

thyme

  • 老人組
  • 俺是博士!
  • *****
  • 文章數: 1281
    • 檢視個人資料
[教學]用 USB flash disk 開機(一)
« 於: 2006-11-16 12:30 »
USB flash 拿來存隨身資料很方便,當然就有人動惱筋把整個作業系統
都灌進去,最近在弄這個,順便把心得報告一下。

網路上相關資料我沒有找很詳細,我想別的地方一定有,但做法應該
和我有些許的差異,有興趣的人就參考一下我的方法。

首先假設你具備有 floppy linux 或是 embedded linux 的基礎,我的方
法比較偏向嵌入式的做法(所以請不要問我怎樣才能把 FC4 ,灌進 1G 的
大姆哥內)。

硬體則需要一隻 USB flash disk,容量 8 MB 以上(現在應該買不到這麼
小的容量的吧!),以及你的主機板要支援USB-HDD開機的選項。

軟體方面,linux系統是必備的,因為我們不打算做太大的系統,busybox
也要先準備好,kernel版本不限,能跟 busybox 合即可,一般來說,直
接 copy 你 PC 上的 kernel 來用即可,再來比較不同的是 syslinux,
這是一隻 bootload,可以去 http://www.syslinux.org/ 去下載回來,
直接 make,然後找裡裡的 syslinux 這隻執行程式來用即可。

第一步,先在你 PC 上插上 USB flash,看可否能掛載,如果不能掛載,
先檢查一下底下的一些 modules 有沒有載入,
USB 方面:usbcore.ko uhci-hcd.ko ohci-hcd.ko ehci-hcd.ko  usbhid.ko usb-storage.ko
SCSI 方面:scsi_mod.ko sd_mod.ko
檔案系統:fat.ko vfat.ko nls_cp437.ko nls_iso8859-1.ko

再來,假設你已經正確把 USB flash 放在 /dev/sda1 且 mount 在 /mnt/tmp,
也可以讀寫資料,一切沒問題後,先 umount /dev/sda1,
然後安裝 syslinux,執行
# syslinux /dev/sda1

接著我們要建立一個 syslinux 的設定檔,重新掛載 /dev/sda1 到
/mnt/tmp,
自行建立一個名為 syslinux.cfg 的文字檔,內容類似如下
代碼: [選擇]

TIMEOUT  20
DEFAULT  linux

LABEL  linux
  KERNEL bzImage
  APPEND root=/dev/ram0 initrd=initrd.img

其中 kernel 檔名為 bzImage,ram disk image的檔名為initrd.img,
這幾個檔皆放在 /mnt/tmp 底下,initrd.img 就是一個 root file
system,你可以使用 gzip 壓縮之,其做法請參考 floopy  linux的
製作。

完畢後,在 BIOS 選擇 USB-HDD 重開機就大功告成了。

因為檔案系統的根目錄都放在 ramdisk,這樣比較浪費空間,下一篇我們再
談談 root 不是 ramdisk 的方式。

netman

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 17340
    • 檢視個人資料
    • http://www.study-area.org
[教學]用 USB flash disk 開機(一)
« 回覆 #1 於: 2006-11-16 14:41 »
讚!頂一個!

greenapple

  • 懷疑的國中生
  • **
  • 文章數: 41
    • 檢視個人資料
[教學]用 USB flash disk 開機(一)
« 回覆 #2 於: 2006-12-22 12:03 »
想請教一個問題~
就是syslinux Tool 有支援512M以上的flash嗎?

thyme

  • 老人組
  • 俺是博士!
  • *****
  • 文章數: 1281
    • 檢視個人資料
[教學]用 USB flash disk 開機(一)
« 回覆 #3 於: 2006-12-22 16:00 »
引述: "greenapple"
想請教一個問題~
就是syslinux Tool 有支援512M以上的flash嗎?


不知道耶,我沒試過,512M 以上有什麼特殊規格不能支援的嗎?
還是你想問有沒有支援 FAT32 ?

greenapple

  • 懷疑的國中生
  • **
  • 文章數: 41
    • 檢視個人資料
[教學]用 USB flash disk 開機(一)
« 回覆 #4 於: 2007-01-04 16:17 »
不好意思 :oops: ~
這個問題我記不清了..
只知道之前使用256cf製作時,
syslinux制作成bootload是可開機的,
但改成512後,就有問題了....

不是FAT32的問題...
我在想SYSLINUX由支援到512的CF嗎?
P.S.不知是不是我想錯了...

thyme

  • 老人組
  • 俺是博士!
  • *****
  • 文章數: 1281
    • 檢視個人資料
回覆: [教學]用 USB flash disk 開機(一)
« 回覆 #5 於: 2009-10-13 11:13 »
以前要做一個 USB 開機的很辛苦的,
時代進步了,現在一指就可以搞定了,
各家除了會出 Live CD 外,
也會一併出 liveusb-creator 之類的軟體幫你搞定一切。