Linux下刷x210开发板
注意
dnw是用usb线烧的,烧dnw时可以只连usb线。
读取fastboot要串口线,minicom工具
fastboot写入要usb线,fastboot工具
1,加载驱动
选择对应系统位数,或自己编译
sudo insmod secbulk.ko
2,安装fastboot工具
工具中又64位的,32位的需要自行安装
sudo apt-get install android-tools-fastboot
3,选择USB启动模式,长按电源键启动(不要松,直到第6步结束)
这是
ls /dev/secbulk*
会显示设备,在下面dnw找不到设备,请判断后面的0,1是不是一样,有的电脑会是0有的是1。
4,执行dnw1,下载x210_usb.bin
这里地址可以随便填,因为源码处已经写死
dnw -a 0xd0020010 x210_usb.bin
5,执行dnw2,下载uboot.bin
这里地址可以随便填,因为源码处已经写死
dnw -a 0x23e00000 uboot.bin
6,在u-boot下执行命令
在uboot启动中按下回车,不让启动,设置启动后串口信息
fdisk -c 0
set bootcmd 'movi read kernel 30008000; bootm 30008000'
set bootargs console=ttySAC2,115200 root=/dev/mmcblk0p2 rw init=/linuxrc rootfstype=ext3
savenv
6,在u-boot下进入fastboot
uboot下输入‘fastboot`
打开另一个终端,使用fastboot刷机(可能要root权限)
linux终端可以拖文件进入,自动生成路径
fastboot flash bootloader '/home/linyb/uboot.bin'
fastboot flash kernel zImage-android
fastboot flash system x210.img
8,切换启动模式,完成刷机
想模拟bootloader破坏
在有系统情况下执行
busybox dd if=/dev/zero of=/dev/block/mmcblk0 bs=512 seek=1 count=1 conv=sync
sync
解释:这句话的意思就是说把板载的iNand的第一个扇区用全0来填充,其实就是擦除它,这样我们板载的iNand的bootloader的开始第1个扇区就被破坏了。将来启动时iROM还是会先从iNand中读取前16KB,然后计算校验和。这时候因为有1个扇区被擦掉了,所以校验和不通过,所以启动失败(会从SD2去执行2nd启动)。
注意:破坏板载iNand的bootloader后,不插外部SD卡,启动时串口得到:SD checksum Error
文件内容
├─dnw_secbulk_driver
│ ├─32
│ │ ├─1dnw_src
│ │ ├─2dnw_src
│ │ └─secbulk_driver
│ │ └─secbulk_driver
│ │ └─.tmp_versions
│ └─64
│ ├─1dnw_src
│ ├─2dnw_src
│ └─secbulk_driver
│ └─secbulk_driver
│ └─.tmp_versions
└─platform-tools-latest-linux
=================================================================
=================================================================