需要准备的东西:开发板---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)。
至此,整个系统的镜像文件少些完毕,重启开发板就行了。
在这里并没有将qt烧写到开发板中,下一步将qt烧写到开发板中再来总结。