最近在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
留言列表