如何让uboot自动从U盘更新内核?

furtherchan 2010-06-28 09:54:39
如何让uboot自动从USB更新内核?

1.uboot下载内核镜像(zImage)时,首先从事先插入的U盘查找zImage,查找成功,则copy到ram,并擦写flash(覆盖原先内核),更新启动;
2.如果在u盘中没有找到zImage,则从本身的falsh中载入内核,正常启动;

请问以上问题如何实现?
...全文
942 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
leo_dengzx 2010-07-01
  • 打赏
  • 举报
回复
按说,uboot里面是有usb驱动的,挂载u盘后,可以访问U盘上面的文件。

用只读方式打开,看看是否能够成功就知道有没有这个文件了。

看你的描述,流程是没问题的,主要是u盘挂载和文件读取。
coding码场 2010-07-01
  • 打赏
  • 举报
回复
首先得打开USB驱动控制器,再在加载内核前,usb start一下,再尝试加载U盘里的文件系统,如果是FAT的就用FATLOAD之类的,当然也有EXT2的,如果加载失败就:run从flash启动,设置好具体的分区。
hallowwar 2010-07-01
  • 打赏
  • 举报
回复
set boot = console= 估计得有个很长的逻辑判断。
furtherchan 2010-07-01
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 max_pommer 的回复:]

这个分区一般是自己定的,如果你用的是友善的内核,文件就是在arch/arm/plat-s3x24xx/comm-freindly.c(文件拼写不完全),修改分区大小就行了,自己按照你的影像大小分,启动的话,只需要nand read出内核bootm就行了,至于文件系统由于有很多种,要根据你的选的文件系统设置启动参数了。
[/Quote]
分区我明白,现在分了4个去,现在就是不知道uboot启动时,如何设置command及启动参数,首先从u盘判断有无文件,无则正常启动。。。
furtherchan 2010-07-01
  • 打赏
  • 举报
回复
5楼的思路对,6楼更具体一些,其实基本就是这么做了,只是第一次,一些参数不知如何设置。。。

结贴,
自己慢慢研究
max_pommer 2010-06-30
  • 打赏
  • 举报
回复
这个分区一般是自己定的,如果你用的是友善的内核,文件就是在arch/arm/plat-s3x24xx/comm-freindly.c(文件拼写不完全),修改分区大小就行了,自己按照你的影像大小分,启动的话,只需要nand read出内核bootm就行了,至于文件系统由于有很多种,要根据你的选的文件系统设置启动参数了。
furtherchan 2010-06-28
  • 打赏
  • 举报
回复
能否稍微讲得明白点,谢谢了
Kyph 2010-06-28
  • 打赏
  • 举报
回复
你在uboot中需要实现U盘的驱动和及其支持的一种文件系统,然后才能搞定呀。

4,437

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
  • 内核源代码研究区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧