?畢業設計要編譯linux內核,因為要做一個嵌入式網關,目前先想著用uClinux,先打算在skyeye下測試后,再移植到開發板上。先是從網上下一些關于怎么編譯uClinux內核的資料,網上資料的確很多,看了大多是uClinux-dist2004....的,而我到www.uClinux.org上只看到dist2007的,真搞不清楚,怎么就是沒有2004的。
?? 先是要配置交叉編譯環境,下了arm-elf-gcc,以及uClib安裝后,進入uClinux-dist目錄,按照網上介紹的對于uClinux-dist 2004的方面,對一些文件進行修改,編譯,出錯,說沒有ufront-gcc,真是奇怪,上網查資料,發現我這個是需要arm-linux-gcc的,原來這個版本的uClinux還真不行,下了arm-linux-gcc3.4.1解壓,建立環境變量,然后
make menuconfig??
make dep
make clean
make lib_only
make user_only 在編譯boa時出錯
查了一下出錯的原因,為這個花了將的一天,采取了多種方式,查資料再加上自已的猜測,最后查明是硬浮點問題,內核要求是軟浮點,看到一些類似的解決辦法,如將軟浮點去掉,可是這個里面的Makefile文件太復雜了,改了便沒有成功,也有說編譯器要打個patch,半天也沒有找著,因為我現在編譯是2.4內核,估計在內核2.6下應該是可以的,看來還是我這個2007的uClinux不好用啊。我還想著把它編譯出來,但結果還是是失敗了。打算改道了。
?? 通過QQ得到網友支持,給了我一個uClinux2004的下載地址,還是在www.uClinux.org上的,我是怎么找也找不到。再按照網上介紹的編譯,通過看那些編譯信息,這個用的交叉編譯環境是arm-elf-gcc。出了幾個小錯誤,很好改。
make romfs
make image
make
生成了images文件夾,在linux-2.4.x下也生成了linux文件,看來還是2004的好弄的。
下一步就是在skyeye下測試了,沒有通過,run后就沒有反應了,猜測是沒有進行剪裁,太大了,超出了硬件的資源了。光linux文件就有20多M。下一步就是就我的需求進行剪裁吧。
???