- 由b178903294创建, 最后修改于8月 08, 2019
一、更新流程及操作
我们烧录新系统的时候有时希望连同BIOS 和EC一起更新,但是按照之前的操作我们制作完USB包、recovery包和OTA包烧录完成后发现BIOS和EC并没有更新,所以这个问题着实影响到我们系统的后续升级。factory包会直接安装firmware,所以原理在此不讨论。
其实谷歌已经为我们提供了一套自动更新BIOS和EC的firmwareupdate的流程框架,我们直接调用已有的工具即可达到我们烧录固件同时更新firmware的目的。其为我们提供了让系统烧录后更新firmware的工具:tag_image.sh 位于: /src/platform/vboot_reference/scripts/image_signing/tag_image.sh
烧录同时更新firmware的用法:
tag_image.sh --from=/path_to_/image.bin --update_firmware 1 (ps: 加不加“=”都可以;设置update_firmware为1就是更新,设为0不更新)
例如:
bijunqiang@ubuntu ~/trunk/src/scripts $ ../platform/vboot_reference/scripts/image_signing/tag_image.sh \
- -from =/mnt/host/source/src/build/images/coral_cvte/latest/chromiumos_base_image.bin --update_firmware 1
|
流程如下:
此工具为我们提供了几种功能可让系统包实现固件开发者模式的转换、是否强制更新firmware等功能。见tag_image.sh谷歌源码。
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
# Script to manipulate the tag files in the output of build_image
# Load common constants. This should be the first executable line.
# The path to common.sh should be relative to your script's location.
. "$(dirname " $0 ")/common.sh"
load_shflags
DEFINE_string from "chromiumos_image.bin" \
|