社区
Linux_Kernel
帖子详情
在操作系统启动后, 如何修改u-boot的参数区?
clickchen2003
2010-07-27 04:27:19
有没有什么数据结构记录了u-boot args的信息, 并提供回写的方式?
...全文
1232
18
打赏
收藏
在操作系统启动后, 如何修改u-boot的参数区?
有没有什么数据结构记录了u-boot args的信息, 并提供回写的方式?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
18 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
happy1357
2012-06-13
打赏
举报
回复
請問请问内核怎么对flash做写入的动作,要怎么额外弄一块flash分区来保存内核需要的command_line?
glacierful
2010-07-28
打赏
举报
回复
学习。
jiura
2010-07-28
打赏
举报
回复
顺便请教下14楼朋友 :
command_line 具体是怎么样从 uboot config 读到 ram..或者说kenerl读取uboot env config 后是怎么样放到ram 中..具体又是放在哪个位置??
我看到 _prom_argv = (unsigned long *) (fw_arg1 | 0x80000000);
能帮忙解释下嘛 ??
deep_pro
2010-07-28
打赏
举报
回复
有种简单的方法,绕过uboot的编码压缩
直接在内核中 init/main.c 里的 setup_arch(&command_line);
之前,将command_line 修改掉
需要额外弄一块flash分区来保存内核需要的command_line
clickchen2003
2010-07-28
打赏
举报
回复
多谢各位, 搞定了给大家结贴。
Wenxy1
2010-07-28
打赏
举报
回复
[Quote=引用 4 楼 clickchen2003 的回复:]
有多个rootfs,需要根据不同的情况进行加载,怎么做比较合适些? 谢谢 。
[/Quote]
改bootcmd这个环境变量。
充电宝111
2010-07-27
打赏
举报
回复
顺着这个思路:
1.uboot引导linux的参数都是写在flash上的,具体哪个地址看uboot的CFG_ENV_ADDR,具体格式uboot下有个setup.h文件(linux下也有个一模一样的文件,限ARM平台)
2.在linux上写一个简单的驱动,去写这个地址的flash
jiura
2010-07-27
打赏
举报
回复
理论上说几句哈:
uboot config 文件是存放在flash中。。kernle 起来后会从ram中读取uboot env 。这个就是setup过程。。一般kernle起来后。。uboot env 的值在当前运行中是不会被改变了。。
如果需要在当前运行中更改uboot env config值。。那就需要直接写flash。 这个env config 在uboot放入flash前是有做过编码压缩的。。所以如果在操作系统读取。需要解压读取。这个可以看uboot code。做个相反的过程就可以了。
deep_pro
2010-07-27
打赏
举报
回复
[Quote=引用 7 楼 clickchen2003 的回复:]
所以需要在linux启动后, 修改u-boot bootargs 启动不同的rootfs。
[/Quote]
你这么非主流的需求,自然linux是不会有支持的
只能自己写程序读写存放uboot env的flash吧
voice_shen
2010-07-27
打赏
举报
回复
可以用chroot来切换根文件系统!
clickchen2003
2010-07-27
打赏
举报
回复
补充一句, 是需要重启动的。
clickchen2003
2010-07-27
打赏
举报
回复
所以需要在linux启动后, 修改u-boot bootargs 启动不同的rootfs。
deep_pro
2010-07-27
打赏
举报
回复
http://hi.baidu.com/deep_pro/blog/item/220df2dddac6e3d28d1029dd.html
根文件系统重定向只在pc上见过,如非必要,还是不要这么弄了
deep_pro
2010-07-27
打赏
举报
回复
一般自然是在uboot里就决定了根文件系统
难道你要在Linux里进行判断啊,真得要那那样的话,可以使用根文件系统重定向
clickchen2003
2010-07-27
打赏
举报
回复
有多个rootfs,需要根据不同的情况进行加载,怎么做比较合适些? 谢谢 。
deep_pro
2010-07-27
打赏
举报
回复
这个,既然Linux都起来了,改uboot的bootargs也没有太大意义了,因为setup已经完成了
除非你的驱动做成了module,Linux启动一段时间后才加载的,可能需要用到这些参数
/proc/cmdline 记录了这些信息,我不知道修改这个是否会对linux造成影响,但是肯定不会修改uboot的bootargs的,那个只能由uboot的setenv、saveenv修改
有些模块参数可以在运行时更改
echo -n ${value} > /sys/module/${modulename}/parameters/${parm}
clickchen2003
2010-07-27
打赏
举报
回复
不是在u-boot里面, 而是linux启动后。
wwwunix
2010-07-27
打赏
举报
回复
用setenv bootargs设置
用writebdr回写
U-Boot
搭建tftp及命令基本操作(STM32ML157)
文章目录前言
U-Boot
常用命令?printsetenvsaveenvnandbootm内核
启动
条件tftp搭建及命令使用
U-Boot
的网络设置传输层验证 tftp命令文件系统的烧写ramdisk(多用于最终产品生成)nfs(多用于开发测试)
启动
内核
参数
(bootargets)自运行bootdelaybootcmd 前言 这里使用的是百问网的STM32MP157开发板,在开发板上电后,一直按空格键进入到
U-Boot
命令模式。如下
U-Boot
常用命令 ? 当我们不知道有哪些命令。可以通过?命令查看U
Linux系统
启动
之——
u-boot
启动
操作系统
是人机交互的接口,其管理着计算机的硬件,例如内存,CUP,外设等。系统上电后,
操作系统
是怎么
启动
的呢?在嵌入式中,
操作系统
是由bootloader引导起来的,linux在嵌入式上应用时,其bootloader是
u-boot
。这篇文章讲述linux系统的
启动
,和大家一起学习学习。
U-boot
的
启动
分成两个阶段:stage1和stage2。Stage1使用汇编语言编写,通
u-boot
启动
流程(大白话讲解
u-boot
启动
流程)
大白话讲解
u-boot
启动
流程 为什么不是直接拷贝到SDRAM中呢? 为什们只拷贝
u-boot
中的前16k? Linux内核中也有汇编
启动
代码,为什么还要BootLoader呢? 板子上电
启动
u-boot
\kernel全流程
Linux应用开发(十八)——
U-Boot
的
启动
过程源码分析
文章目录
U-Boot
的
启动
过程源码分析
U-Boot
第一阶段代码分析
U-Boot
第二阶段代码分析
U-Boot
移植同时支持S3C2410和S3C24440支持串口xmodem协议支持网卡芯片CS8900支持NANDFlash支持烧写yaffs文件系统映象
修改
默认配置
参数
以便使用
U-Boot
常用命令
U-Boot
的常用命令的用法
U-Boot
命令使用实例使用
U-Boot
来执行程序
U-Boot
的
启动
过程源码分析
U-Boot
第一阶段代码分析
U-Boot
第二阶段代码分析
U-Boot
移植 同时支持S3C2410和S
(一)
U-Boot
启动
过程--详细版的完全分析
copy:http://blog.csdn.net/hare_lee/article/details/6916325 目录(?)[+]
U-Boot
启动
第一阶段代码分析
U-Boot
启动
第二阶段代码分析
U-Boot
启动
Linux过程
U-Boot
添加命令的方法及
U-Boot
命令执行过程 -------------------------------------------
Linux_Kernel
4,436
社区成员
17,460
社区内容
发帖
与我相关
我的任务
Linux_Kernel
Linux/Unix社区 内核源代码研究区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章