- 论坛徽章:
- 0
|
这种方法比较简单,就是利用uboot自带命令usbboot来实现启动,也算是最粗糙的一种。
1.在配置文件中添加一系列有关USB的支持。 uboot编译启动后输入 usb start usbboot 0x30800000 0:1 这里的0是usb设备0,1是第一分区 当然,这里肯定会失败,因为usb storage中还没有必须的内核文件呢。
2.usbboot是从指定分区的起始位置拷贝内核文件到指定的地址。
因为没有找到合适的拷贝工具,于是使用uboot自带的usb命令进行复制。 先把内核拷贝到内存,再从内存拷贝到usb storage。 tftp 0x30800000 uImage_n35 usb write 0x30800000 0x1f80 0x1000 这里要注意的一点是起始block和blknum都应该是16进制,如果觉得麻烦,可以把do_usbboot中获取参数的simple_stroul改为10进制。
内核文件准备完毕后,最终的启动命令为: usb start; usbboot 0x30800000 0:1; bootm 0x30800000 //因为usbboot会自动识别分区起始位置的内核头,内核头中指明了内核大小。
|
|