android 版本: JellyBean-4.1.2-PD14.1.0 

镜像: http://download.phytec.cn/AM335x/Android/PD14.1.0/

从TFTP更新镜像

准备工作:

  • 确认上位机的tftp服务工作正常,且目录中有正确的image文件
  • 确认上位机与开发板网络工作正常
    • 我们的开发板默认设置ip是dhcp,可通过修改barebox中的/env/network/eth0来配置开发板ip和服务器ip.
  • 确认开发板调试串口工作正常
  • 另外在barebox中,虽然有 /mnt/tftp 这个目录,但实际上这个目录是不能用tab键来自动补全,也不能用ls来查看目录的,只能输入文件名来下载。

烧写barebox:

erase /dev/nand0.barebox.bb
cp /mnt/tftp/barebox.bin /dev/nand0.barebox.bb
erase /dev/nand0.xload.bb 
cp /mnt/tftp/MLO /dev/nand0.xload.bb
erase /dev/nand0.bareboxenv.bb
reset

烧写kernel和文件系统

erase /dev/nand0.kernel.bb 
cp /mnt/tftp/uImage-pcm051 /dev/nand0.kernel.bb
erase /dev/nand0.root.bb
cp -v /mnt/tftp/rootfs.ubi /dev/nand0.root.bb

从SD卡更新镜像

镜像也可以放在sdcard上, 烧写命令跟上面的一样, 只需要把tftp的目录改为挂载sdcard的目录,

另外, 在barebox中需要挂载sdcard

mkdir /mnt/mmc
mount /dev/disk0.0 /mnt/mmc

 android默认镜像存在的问题

烧写镜像完成后, barebox默认不会启动nand的kernel

Hit m for menu or any other key to stop autoboot:  0
booting mmc...
/boot/uImage: No such file or directory
could not open /boot/uImage: No such file or directory
booting mmc failed

type exit to get to the menu

解决方法

在barebox中修改/env/bin/init文件

barebox@Phytec phyCORE-AM335x:/ edit /env/bin/init
/env/bin/init
global boot.default=nand				# mmc 改为 nand				

保存退出后, 保存barebox的环境

barebox@Phytec phyCORE-AM335x:/ saveenv
saving environment

重启之后就能从nand里面启动整个android系统了.

  • No labels