Conversation
Contributor
Author
为什么 SG2002 需要显式配置地址SG2002 的 U-Boot 环境里没有 ostool 默认依赖的通用变量: 它的 Linux 启动流程使用的是厂商脚本变量: 这里的 ostool 的流程不同:它会临时生成新的
所以 SG2002 需要显式配置: kernel_load_addr = "0x80200000"
fit_load_addr = "0x82200000"
bootm_addr = "0x82200000"含义是: 为什么不在 ostool 里自动解析 uImage_addr不建议把
因此更合适的方式是保留显式地址配置,让 board config 明确描述启动布局。这样不影响 OrangePi 这类标准 U-Boot 环境,也能支持 SG2002 这种非标准环境。 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
问题
部分开发板的 U-Boot 环境变量并不提供 ostool 目前默认依赖的地址信息。
以 SG2002 为例,
printenv中没有kernel_addr_r/loadaddr/kernel_comp_addr_r等通用变量,只有板级启动脚本使用的uImage_addr。因此 ostool remote U-Boot runner 在构建 FIT image 前无法推断 kernel entry,直接失败:即使绕过 kernel entry 推断,串口 loady 上传 FIT 后,原逻辑也默认执行裸 bootm。这依赖 U-Boot 默认 loadaddr,在 SG2002 上不能保证从刚上传的 FIT 地址启动。