mini2440上安装u-boot

来源:互联网 发布:spss软件安卓版 编辑:程序博客网 时间:2024/04/29 13:46

      网上有很多关于如何移植u-boot到2440上的文章,我只是个新手没有接触过移植,所以在这里只是说一下如何安装在mini2440上安装u-boot的经验。希望大家多多指教。

      1.买来的mini2440的nor flash中已经默认安装了supervivi,所以第一步就是通过supervivi将u-boot.bin下载到开发板。适合2440的u-boot的下载地址为http://blogold.chinaunix.net/u1/34474/showart.php?id=2217066,在这里要感谢Tekkaman为我们新手提供的方便。从nor flash启动开发板,在supervivi的界面中选择a)Absolute User Application,将u-boot.bin下载到nand flash的0x0000地址,使得从nand flash启动时直接启动u-boot。(在xp下可以使用dnw串口通讯工具,具有usb下载的功能)

      2.用mkimage将内核映像zImage_T35转换成uImage_T35,因为在用bootm命令引导内核的时候,bootm需要读取一个64字节的文件头,来获取这个内核映象所针对的CPU体系结构、OS、加载到内存中的位置、在内存中入口点的位置以及映象名等等信息。这样bootm才能为OS设置好启动环境,并跳入内核映象的入口点。而mkimage就是添加这个文件头的专用工具。mkimage的命令如下:

mkimage -n 'mini2440_linux' -A arm -O linux -T kernel -C none -a 0x30008000 -e 0x30008040 -d zImage_T35 uImage_T35

于是我们得到了u-boot可以读取的内核映像uImage_T35。

       注意将uImage_T35改成具有可执行权限的文件。chmod 755 uImage_T35

      3.烧写系统映像uImage_T35和文件系统rootfs_qtopia_qt4.img(光盘自带)。有2种方式,可以用supervivi也可以用u-boot,在这里我使用supervivi进行烧写。从nor flash启动开发板,在supervivi的界面中选择k)Download Linux Kernel,将uImage_T35下载到nand flash的0x80000地址。再选择y)Download root_yaffs image将rootfs_qtopia_qt4.img下载到nand flash的0x250000地址。(使用u-boot可以通过nfs的方式烧写以上映像)

      4.修改u-boot的环境变量。从nand flash启动开发板,进入u-boot的操作界面,输入以下命令:

set bootargs noinitrd root=/dev/mtdblock3 console=ttySAC0

set bootcmd nand read 0x30008000 0x80000 300000 /; bootm 0x30008000

saveenv

重新启动开发板之后即可通过u-boot引导启动了。