將Linux系統燒寫進開發板的過程

需要準備的東西:開發板---atmel sbc6845、Bootstrap-v1.14 linux-2.6.30 u-boot-1.3.4其中後面三個分別為內核文件和內核啟動文件,將後面三個放在一個文件夾中。還需要2個工具:mkimage 和mkyaffs2image 。將這兩個添加到bin目錄下:

cp mkyaffs2image mkimage /usr/local/bin

1、生成bootstrap:

cd bootstrap/board/at91sam9g45ekes/dataflash 然後make

在當前目錄下生成一個文件dataflash_91sam9g45ekes.bin文件,不要動這個文件,繼續下一步

2、生成u-boot

cd u-boot-1.3.4

在當前目錄下:make at91sam9g45ekes_dataflash_config

然後make 在當前目錄下生成u-boot.bin文件 ,該文件也不需要動,下一步

3、生成內核

cd linux-2.6.30 當前目錄下 make sbc6845_defconfig

make menuconfig

make uImage

在這個過程中會出現2個error,這兩個error在網上有具體的解決辦法,問題也很簡單,一個地方需要將出錯的地方都註釋掉,一個

地方則需要做一處修改。繼續編譯,會在/arch/arm/boot目錄下生成uImage。

4、生成文件系統的鏡像

mkyaffs2image rfs-qtopia/ roots.yaffs2

在這裡rfs-qtopia是一個文件系統,我是直接採用別人的,如果沒有可以自己用busybox做一個最小的文件系統,名字自己隨便取,後面的roots.yaffs2就是要加載到板子上的鏡像文件。如果想要在自己的系統中加入一些應用程序,可以先加到rfs-qtopia這個文件裡的目錄下面去,比如我就把一些應用程序加到了home目錄下面。

到這一步我們就把鏡像寫好了,下一步就是將鏡像燒寫到開發板中去了。

將鏡像燒寫到開發板

需要的工具:tftp server、超級終端

1、將tftp server配置為某個目錄下,比如我就配置在F:\for_tftp目錄下,然後將上面燒寫好的roots.yaffs2鏡像文件放入到for_tftp目錄下。

2、超級終端的配置,在這裡省略。

3、接通開發板的電源,然後按空格或者其他鍵,進入u-boot。

4、我用的tftp將文件下載到開發板中,步驟如下:設置電腦的ip和開發板的ip處於同一個網斷。在這裡我建議是將電腦的防火牆關閉,然後將電腦的ip固定為某個值,比如我將我的電腦ip固定為192.192.192.71 。

5、在超級終端來配置開發板和電腦:setenv serverip 192.192.192.71,這個是電腦的ip setenv 192.192.192.200 這個是我開發板的ip。

6、擦除nandflash內地址為0x800000的存儲空間: nand erase 0x800000 然後整理nandflash內存 nand scrub 0x800000

不同的板可能這個區域不一樣,需要參考文檔說明。

7、將上面燒寫的鏡像通過tftp下載到開發板中:tftp 0x70000000 rootfs.yaffs2

8、將內存中的文件系統拷貝到nandflash中:and write.yaffs 0x70000000 0x800000 $(filesize)。

至此,整個系統的鏡像文件少些完畢,重啟開發板就行了。


分享到:


相關文章: