資源描述:
《Uclinux內(nèi)核配置與裁減》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、Uclinux內(nèi)核配置與裁減×××××××××××××××××××××××××××××創(chuàng)建時間:08/01/17×創(chuàng)建人:葉振風(fēng)×××××××××××××××××××××××××××××最后修改時間:×修改人:葉振風(fēng)××××××××××××××××××××××××××××?Uclinux的配置和裁減也是利用的華恒科技提供的源碼包(用于hhbf531學(xué)習(xí)板)。我們使用的開發(fā)板信息如下:CPU:BF533FLASH:S29AL004D-512KBSDRAM:HY57V281620-16MB這里我不敢說“uclinux的移植”,而只是
2、以“配置與裁減”代之,是因為我覺得自己的工作真的談不上什么移植。現(xiàn)成的源碼包,所有的底層驅(qū)動都已經(jīng)完成,我們所要做的只是選擇自己需要的驅(qū)動、配置一下內(nèi)核、做一些裁減工作而已。每每聽到其他人提到“最近又完成了×××平臺的linux移植”,我都會有點擔(dān)心:國內(nèi)有多少工程師能真正從最初始的工作開始,完成一個平臺的系統(tǒng)移植——應(yīng)該很少吧。下面,我分以下步驟簡單介紹一下我的配置過程。一,配置并在RAM中運行內(nèi)核(不帶根文件系統(tǒng)):由于我們的flash空間有限,在沒有裁減之前,就算不帶根文件系統(tǒng),也無法燒寫到flash內(nèi)保存;所以先嘗試下載
3、到RAM中運行。另外,我們目前的開發(fā)板上沒有網(wǎng)絡(luò)功能,只能通過串口下載,所以在這里配置內(nèi)核的過程中,做一些簡單裁減,以便節(jié)約下載時間。解壓源碼包后,進(jìn)入uclinux目錄:#cduClinux-dist設(shè)定交叉工具鏈:#PATH=”/usr/local/bin/gcc-bfin-3.4-uclinux/bin/:$PATH”進(jìn)入配置:#makemenuconfig運行后,進(jìn)入“MainMenu”配置頁,可以在此選擇Vender/Product和Kernel/Library/Defaults等內(nèi)容。根據(jù)我們使用的平臺,我們選擇:V
4、ender-AnalogDevices,Product-HHBF533(或者HHBF531),Libc-uClibc;如果要配置內(nèi)核和應(yīng)用程序還要分別選中“CustomizeKernelSettings”、“CustomizeVender/UserSettings”。退出保存后,將依次進(jìn)入配置內(nèi)核和配置應(yīng)用程序頁。如果想單獨配置內(nèi)核,可以進(jìn)入目錄linux-2.6.x/內(nèi)運行“makemenuconfig”。配置應(yīng)用程序在這個源碼包里好像沒有單獨的config選項。這些關(guān)于內(nèi)核源碼包結(jié)構(gòu)的基本知識,需要大家提前了解。下面,我們來
5、配置內(nèi)核。配置一個可以在我們的SDRAM中運行的內(nèi)核很簡單,因為底層工作都已經(jīng)完成。我們只需要配置一下處理器相關(guān)內(nèi)容即可。處理器選項位于內(nèi)核配置頁的“BlackfinProcesserOptions”。進(jìn)入該配置頁,進(jìn)行如下配置:CPU????????????????????????????????-?????BF533Systemtype??????????????????????-?????BF533-HHBFBoardCustomizations-?????根據(jù)你的開發(fā)板時鐘、SDRAM信息配置,其他不用修改。ClockS
6、ettings??????????????????-?????取消“Re-programClockswhileKernelboots”,默認(rèn)為u-boot的時鐘配置。其他選項不用修改,各項配置功能介紹見文檔《附.Linux2.6.19.x內(nèi)核編譯配置選項簡介》。以上配置正確后,下載到你的開發(fā)板上,應(yīng)該就可以運行了。但通過串口下載速度太慢,我們先去掉一些不需要的驅(qū)動。由于我們沒有網(wǎng)絡(luò)功能,所以把網(wǎng)絡(luò)及其驅(qū)動全部取消,可以裁減150KB左右的空間;我們也不需要音視頻功能,所以把音視頻驅(qū)動也取消,又可以減小很大空間。如此配置后,我們可
7、以嘗試下載到SDRAM中運行了?,F(xiàn)在,我們還不想裁減根文件系統(tǒng),所以,我們想得到一個不帶根文件系統(tǒng)的壓縮內(nèi)核鏡像。由于華恒提供的源碼包,編譯后不能得到壓縮的不帶根文件系統(tǒng)的鏡像,所以我們要通過修改Makefile得到我們需要的編譯結(jié)果。需要修改的Makefile位于uClinux-dist目錄下,打開該Makefile,在“.PHONY:linux”項的”ln–f?$(LINUXDIR)/vmlinux$(LINUXDIR)/linux;”語句后,添加以下內(nèi)容。rm–f$(LINUXDIR)/*.gz;bfin-uclinu
8、x-objcpy-Obinary-Slinuxlinux.bin;gzip-f9linux.bin;bfin-uclinux-mkimage-Ablackfin-Olinux-Tkernel???????????????????-Cgzip-a0x1000