须要打算的东西:开发板---atmelsbc6845、Bootstrap-v1.14linux-2.6.30u-boot-1.3.4其中前面三个分别为内核文件和内核启动文件,将前面三个置于一个文件夹中。还须要2个工具:mkimage和mkyaffs2image。将这两个添加到bin目录下:
cpmkyaffs2imagemkimage/usr/local/bin
1、生成bootstrap:
cdbootstrap/board/at91sam9g45ekes/dataflash之后make
在当前目录下生成一个文件dataflash_91sam9g45ekes.bin文件,不要动这个文件,继续下一步
2、生成u-boot
cdu-boot-1.3.4
在当前目录下:makeat91sam9g45ekes_dataflash_config
之后make在当前目录下生成u-boot.bin文件,该文件也不须要动,下一步
3、生成内核
cdlinux-2.6.30当前目录下makesbc6845_defconfig
makemenuconfig
makeuImage
在这个过程中会出现2个error,这两个error在网上有具体的解决办法,问题也很简单,一个地方须要将出错的地方都注释掉,一个
地方则须要做一处更改。继续编译linux系统的交叉开发的含义是什么?,会在/arch/arm/boot目录下生成uImage。
4、生成文件系统的镜像
mkyaffs2imagerfs-qtopia/roots.yaffs2
在这儿rfs-qtopia是一个文件系统,我是直接采用他人的,假如没有可以自己用busybox做一个最小的文件系统linux系统的交叉开发的含义是什么?,名子自己随意取,旁边的roots.yaffs2就是要加载到板子上的镜像文件。假如想要在自己的系统中加入一些应用程序,可以先加到rfs-qtopia这个文件里的目录下边去linux内核,例如我就把一些应用程序加到了home目录下边。
到这一步我们就把镜像写好了,下一步就是将镜像烧讲到开发板中去了。
将镜像烧讲到开发板
须要的工具:tftpserver、超级终端
1、将tftpserver配置为某个目录下,例如我就配置在F:for_tftp目录下,之后将前面烧录好的roots.yaffs2镜像文件装入到for_tftp目录下。
2、超级终端的配置,在这儿省略。
3、接通开发板的电源,之后按空格或则其他键,步入u-boot。
4、我用的tftp将文件下载到开发板中,步骤如下:设置笔记本的ip和开发板的ip处于同一个网断。在这儿我建议是将笔记本的防火墙关掉,之后将笔记本的ip固定为某个值,例如我将我的笔记本ip固定为192.192.192.71。
5、在超级终端来配置开发板和笔记本:setenvserverip192.192.192.71,这个是笔记本的ipsetenv192.192.192.200这个是我开发板的ip。
6、擦除nandflash内地址为0x800000的储存空间:nanderase0x800000之后整理nandflash显存nandscrub0x800000
不同的板可能这个区域不一样,须要参考文档说明。
7、将前面烧录的镜像通过tftp下载到开发板中:tftp0x70000000rootfs.yaffs2
8、将显存中的文件系统拷贝到nandflash中:andwrite.yaffs0x700000000x800000$(filesize)。
至此,整个系统的镜像文件多些完毕linux移植,重启开发板就行了。
在这儿并没有将qt烧讲到开发板中,下一步将qt烧讲到开发板中再来总结。