星期三, 5月 06, 2009

Bootable USB Image

前幾天,不務正業的幫公司處理工廠生產的問題,作為代工廠,系統影像檔是由客戶提供,所以測試程式不可能讓你包在出貨用的 Image 裡,一來是因為「髒」,再者是程式自身的需求或許需要某些套件的搭配,比較好的方式為測試程式量身打造一個系統。

要求很簡單,Boot From USB、越小越好、開機後直接執行測試程式,且可以簡單、快速的大量複製該測試系統,Moblin Image Creator 可以幫助我們簡化整個過程,把整個框架建好,我們可以專心在整合測試程式,同時安裝程式需要的套件、modules,接著手動修改設定檔,整個過程就像在拼圖一樣。即便有了 MIC,手動的地方還是不少,最後作出來的影像檔大小 300 MB,雖然還可以縮減,但以現在隨身碟的容量及 USB 2.0 的傳輸速度,其實意義不大;對於大量複製的要求,工廠只要執行 dd bs=1024 if=usb.img of=/dev/sd? 便可以做好測試用的隨身碟。

學習應該是這樣,首先你找到黑盒子幫你解決問題,接下來要去了解黑盒子,最後你試著做出一個很陽春但可以用的透明盒子。我將整個過程抽出重新寫成 Scripts,一樣可以作出符合要求的檔案 ;)

重點是,這樣的過程,你必須不斷地把做好的 Image 寫到隨身碟,關機,重新開機(Boot From USB),檢查作出來的隨身碟能不能正常開機,如果你真的不斷重複這樣的過程,我只能說連猩猩都會利用工具釣魚了... ;)



透過 QEMU,不必重新開機,就可以測試我們做好的隨身碟,利用 lsusb 得到 usb flash drive 的 vendor 及 product id 後,利用 qemu 模擬整個開機的過程

sudo qemu usb.img -no-acpi -usbdevice host:3538:0050





不務正業,我就是討厭 Notebook...

1 則留言:

匿名 提到...

這猩猩太猛了,我要在水裡才會射魚,他竟然能......,我已經有競爭對手了.....


Mac