2010年10月20日 星期三

GRUB2太龐大,所以先轉戰GRUB4DOS

圖一
圖二
下載http://nufans.net/grub4dos/current_release/ 之grub4dos-0.4.4-2009-10-16-src.zip,在我的ubuntu910 下./configure結果產生錯誤如下:
checking whether objcopy works for absolute addresses... no
configure: error: GRUB requires a working absolute objcopy; upgrade your binutils
結果查了一下我的binutils版本已經是最新的。隨後又到其他連結download其它版本的source code,編譯一樣產生相同錯誤。所以本來想放棄,後來想說反正我的virtualbox裡頭還有ubuntu710版本,其gcc也相對比較舊。果不其然原來是binutils太新了,就這樣可以正常編譯成功了。後來我又試了其他版本的binutils 其objcopy版本只要大於GNU objcopy (GNU Binutils for Ubuntu) 2.18.0,則執行./configure就會出錯。
它的使用方法網路上已經很多了在此就不贅述。還是來研究它的source code,比較實際。
首先進入source code目錄,並下make clean及make distclean,接著再作一次./configure並產生Makefile。查看目錄結構如圖一,圖二為其他一起產生的子目錄Makefile;今天我們先說明這個Makefile如何產生的吧!其實這個在之前已經說明過,而且又查獲此處講解autoconf及automake,說明的太詳細了,所以直接參考它就可以了。
--> 閱讀更多...