当前位置: 首页 > news >正文

树莓派超全系列教程文档--(30)autoboot.txt介绍

这里写目录标题

    • `autoboot.txt`
      • `boot_partition`
      • `[tryboot]` 过滤器
      • `tryboot_a_b`
      • A/B引导的示例更新流程

文章来源: http://raspberry.dns8844.cn/documentation

原文网址

autoboot.txt

autoboot.txt 是一个可选的配置文件,可用于指定 boot_partition 编号。

这也可以与 tryboot 功能结合使用,以实现操作系统升级的A/B引导。

autoboot.txt 限制为512字节,并支持 [all][none][tryboot] 条件 过滤器。

另请参见 TRYBOOT 引导流程。

boot_partition

指定用于引导的分区号,除非分区号已指定为 reboot 命令的参数(例如 sudo reboot 2 )。

分区号从 1 开始,MBR分区是 14 。指定分区 0 意味着从 default 分区启动,这是第一个可启动的FAT分区。

可引导分区必须格式化为FAT12、FAT16或FAT32并包含 start.elf 文件(或Raspberry Pi 5上的 config.txt 文件)才能被引导加载程序归类为可引导。

[tryboot] 过滤器

如果系统使用 tryboot 标志设置启动,则此过滤器通过。

$ sudo reboot "0 tryboot"

tryboot_a_b

将此属性设置为 1 以在设置 tryboot 标志时加载正常的 config.txtboot.img 文件,而不是 tryboot.txttryboot.img

这使得 tryboot 切换可以在分区级别而不是文件级别进行,而无需修改A/B分区中的配置文件。

A/B引导的示例更新流程

下面的伪代码展示了假设的操作系统 "更新服务 "如何使用 autoboot.txt 中的 tryboot 来执行故障安全操作系统升级。

初始化 autoboot.txt

[all]
tryboot_a_b=1
boot_partition=2
[tryboot]
boot_partition=3

安装更新

  • 系统开机并默认引导到分区2
  • Update service 将下一个版本操作系统下载到分区3
  • 通过重新启动到 tryboot 模式 reboot"0 tryboot" 测试更新,其中 0 表示默认分区

提交或取消更新

  • 系统从分区3启动,因为 [tryboot] 过滤器在 tryboot mode 中的计算结果为true
  • 如果tryboot处于活动状态( /proc/device-tree/chosen/bootloader/partition
    ** 如果当前引导分区( /proc/device-tree/chosen/bootloader/partition )与 autoboot.txt[tryboot] 部分中的 boot_partition 匹配
    *** Update Service 验证系统以验证更新是否成功
    *** 如果更新成功
    **** 替换 autoboot.txt 交换 boot_partition 配置
    **** 正常重启-分区3现在是默认启动分区
    *** Else
    **** Update Service 将更新标记为失败,例如它删除更新文件。
    **** 正常重启-分区2仍然是默认启动分区,因为 tryboot 标志会自动清除
    *** End if
    ** End If
  • End If

更新 autoboot.txt

[all]
tryboot_a_b=1
boot_partition=3
[tryboot]
boot_partition=2

更新 autoboot.txt 后不一定要重新启动。不过,Update Service 必须小心避免覆盖当前分区,因为 autoboot.txt 已被修改以提交上次更新。有关详细信息,请参阅 设备树参数。

上一篇 – 树莓派超全系列教程文档–(29)config.txt介绍
下一篇 –

相关文章:

  • 2000-2017年各省发电量数据
  • 【Java学习笔记】关键字汇总
  • 嵌入式软件--stm32 DAY 1
  • 每日算法-链表(23.合并k个升序链表、25.k个一组翻转链表)
  • 用Prompt 技术【提示词】打造自己的大语言智能体
  • 第十六届蓝桥杯大赛软件赛省赛 C++ 大学 B 组 部分题解
  • UEFI Spec 学习笔记---12 - Protocols —CONSOLE SUPPORT(一)
  • 网络安全知识点2
  • 前端api(请求后端)简易template
  • 多模态模型 Grounding DINO 初识
  • HFSS(李明洋)学习记录1
  • 算法:双指针(快慢指针|对撞指针)、快排、模拟、二分、贪心
  • 4月17号
  • Ubuntu利用docker搭建Java相关环境问题记录
  • 影视产业链中的律师角色以及合规风控要点
  • Electricity Market Optimization 探索系列(VII)- 直流潮流方程的推导及例题
  • 自然语言处理(NLP)领域大图
  • 速盾:高防CDN访问多了会影响源站吗?
  • 闭坑-- `a-auto-complete` 组件中的 `options` 数据存在重复
  • STM32 F103 标准库CH452A 4线 数码管驱动芯片显示数码管
  • 杭勇已任常州市政协党组成员,此前任常州市委常委、秘书长
  • “典孝急乐批麻蚌赢”:互联网“八字真言”与当代赛博赢学
  • 首个偏头痛急性治疗药物可缓解前期症状
  • 硅料收储挺价“小作文”发酵光伏板块罕见大涨,知情人士:确实在谈
  • 通化市委书记孙简升任吉林省副省长
  • 中国创面修复学科发起者之一陆树良教授病逝,享年64岁