最近在DIY打造嵌入式Linux,prototype要用隨身碟開機

測試上有2台PC+1台eeeBox,和兩隻隨身碟TDK, UT-163
TDK上裝grub4dos, 3台電腦都能開
UT-163上裝syslinux 只有eeeBox能開,裝grub4dos eeeBox就不能開

這樣很不方便,測試的時候要寫兩份開機選單....
於是昨天晚上用syslinux來開grub4dos,我只要修改menu.lst選單
沒辦法grub比較可愛,選單又比較好懂,命令列我還會用,
而且syslinux無法認得initrd.img-20100604這樣的檔名,grub就可以...  =.=

昨晚在宿舍設定好,今天來試了一下發現grub起來了,但是找不到menu.lst ....
可是我用grub的命令列明明就找到menu.lst在fd0,後來發現他找menu.lst的指令是

title find /menu.lst, /boot/grub/menu.lst, /grub/menu.lst
    errorcheck off
    configfile /menu.lst
    configfile /boot/grub/menu.lst
    configfile /grub/menu.lst
    find --set-root --ignore-floppies --ignore-cd /menu.lst && configfile /menu.lst
    find --set-root --ignore-floppies --ignore-cd /boot/grub/menu.lst && configfile /boot/grub/menu.lst
    find --set-root --ignore-floppies --ignore-cd /grub/menu.lst && configfile /grub/menu.lst
    errorcheck on
    commandline

尬的,一切恍然大悟!!eeeBox將UT163隨身視為fd0

好吧,問題來了,這是grub的內嵌選單嵌在grub.exe或是grldr中,是要怎麼改
滿心期待的搜尋一下,發現中國人有寫「grub4dos内置菜单编辑器.exe」
可是大部分連結都已經斷頭....

中國人能寫出來,台灣人就不行嗎?用繁體中文找.....嗯.....沒有半點資訊
我寫不出來,我決定找英文網站,阿多仔說用hexeditor直接編輯grub.exe或是grldr即可

然後用強大的gvim打開他,直接跳到最後面,就可以看到令人熟悉的grub選單
--ignore-floppies拿掉即可!!

送!麵包吃完就開進去了!

結果兩天時間都花在想要把boot loader換成grub,QT的建置反而只有一個下午 =.=

至於為什麼eeeBox會把UT163隨身碟認為是fd0
另一台華碩電腦認為是hd0,可能只有天知道了....   =.=

為什麼TDK那隻隨身碟可以正常開啟grub,我也不知道.....
我有嘗試直接將TDK的MBR 複製到UT163上 eeeBox還是會開UT163的syslinux

創作者介紹

koukai的Blog

koukaipan 發表在 痞客邦 PIXNET 留言(0) 人氣()