您尚未登录。

楼主 #1 2019-12-25 11:19:00

kekemuyu
会员
注册时间: 2018-12-13
已发帖子: 844
积分: 725

uboot启动速度如何优化?

希望能秒启动linux,所以从uboot开始优化。
1.启动顺序是否可配置
2.这个bad crc是什么情况
3.SF: Detected w25q128bv with page size 256 Bytes, erase size 4 KiB, total 16 MiB  这条log后具体做了什么,足足停顿了3~4s

U-Boot SPL 2018.01-05676-g0018878-dirty (Dec 25 2019 - 03:05:37)
DRAM: 64 MiB
Trying to boot from MMC1
Card did not respond to voltage select!
mmc_init: -95, time 22
spl: mmc init failed with error: -95
Trying to boot from sunxi SPI

U-Boot 2018.01-05676-g0018878-dirty (Dec 25 2019 - 03:05:37 +0000) Allwinner Technology

CPU:   Allwinner F Series (SUNIV)
Model: Lichee Pi Nano
DRAM:  64 MiB
MMC:   SUNXI SD/MMC: 0
SF: Detected w25q128bv with page size 256 Bytes, erase size 4 KiB, total 16 MiB
*** Warning - bad CRC, using default environment

In:    serial@1c25000
Out:   serial@1c25000
Err:   serial@1c25000
Net:   No ethernet found.
starting USB...
No controllers found
Hit any key to stop autoboot:  0
SF: Detected w25q128bv with page size 256 Bytes, erase size 4 KiB, total 16 MiB
device 0 offset 0x70000, size 0x10000
SF: 65536 bytes @ 0x70000 Read: OK
device 0 offset 0x80000, size 0x400000
SF: 4194304 bytes @ 0x80000 Read: OK
=>

离线

楼主 #3 2019-12-25 14:54:05

kekemuyu
会员
注册时间: 2018-12-13
已发帖子: 844
积分: 725

Re: uboot启动速度如何优化?

晕哥 说:

2. 头文件里面有一个宏,保存ENV环境变量参数存储的基地址和大小, u-boot启动首先去读flash中这个ENV,
我记得最后几个字节是CRC32(???)校验的, 如果校验不通过就用默认的参数.

3. bootcmd 里面的 sf read 比较耗时。

对这个env环境变量不太懂,看log,make menuconfig设置的参数已经设置成功,那make menuconfig设置的是默认参数?
把头文件的这个宏注释掉,就不会有警告了吧

离线

楼主 #5 2019-12-25 15:19:16

kekemuyu
会员
注册时间: 2018-12-13
已发帖子: 844
积分: 725

Re: uboot启动速度如何优化?

xgui 说:

ENV 就是 u-boot 控制台用 printenv 打印出来的那些参数, 比如 bootcmd, bootargs 那些。

如果有 env 存在, u-boot会把 env 的参数覆盖默认的参数,

默认参数有些存在 menuconfig, 有些 存在 include/configs/sun**.h 里面.

log已经打印出make menuconfig中的bootcmd,说明bootcmd修改了默认参数,那么这个env参数是在哪里修改呢?make menuconfig中能修改env吗?

离线

楼主 #7 2019-12-25 15:42:12

kekemuyu
会员
注册时间: 2018-12-13
已发帖子: 844
积分: 725

Re: uboot启动速度如何优化?

晕哥 说:

https://whycan.cn/files/members/3/2019-12-25_152909.png

这里修改 bootcmd/bootargs 默认参数, 早期版本的u-boot不能用make menconfig 修改这两个参数。

是修改的这里,这个bad crc应该不影响启动时间,也不影响引导系统。这里uboot启动时间大部分都花在了sf probe 0 60000000; sf read 0x80c00000 0x70000 0x10000; sf read 0x80008000 0x80000 0x400000; bootz 0x80008000 - 0x80c00000

这个read应该是把spiflash中的内容读到dram里的过程,这里需要优化,方法是:减小内核和文件系统体积,我先试试内核1m,文件系统1m时的情况

离线

楼主 #12 2019-12-25 17:19:38

kekemuyu
会员
注册时间: 2018-12-13
已发帖子: 844
积分: 725

Re: uboot启动速度如何优化?

晕哥 说:

@橘子 说,f1c100s 2.3秒

是spi吗?

离线

楼主 #14 2019-12-25 17:27:43

kekemuyu
会员
注册时间: 2018-12-13
已发帖子: 844
积分: 725

Re: uboot启动速度如何优化?

那就从头文件开始吧,把不需要的统统砍掉

离线

楼主 #17 2019-12-25 19:08:35

kekemuyu
会员
注册时间: 2018-12-13
已发帖子: 844
积分: 725

Re: uboot启动速度如何优化?

达克罗德 说:

我用SDNAND,uboot没优化;kernel本身只需要1.6秒到shell

kernel是在ram中运行,速度没得说,把没用的驱动去掉应该更快

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn