Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.
Supporting SW Update via u-boot and GPT/EFI
Alison Chaiken
alison@she-devel.com
3/10/2020
Software Update via A/B Image Flipping
kernel
/
/var
A B
kernel
/
/var
A B
kernel
/
/var
A B
Boot Backup Boot Update Backu...
How does the bootloader choose A vs. B?
Traditionally, the operating system
writes the bootable image selection
to memory ...
PMIC Errata: no “warm boot” support
Source: TI TDA2x processor errata
Designating boot image w/o warm reset
●
The information must be written to non-volatile storage:
EEPROM, NAND flash, /var ...
View source code that implements GPT names
●
git clone git://git.denx.de/u-boot; cd u-boot
●
git log --author=Chaiken
Demo via u-boot's sandbox
●
make sandbox_defconfig
●
make all NO_SDL=1
●
Follow instructions in doc/README.gpt to make a s...
Boot attempt counter
Summary
●
A/B partition flipping is a conservative strategy when storage
capacity allows it.
●
Traditional flip is accompl...
Supporting SW Update via u-boot and GPT/EFI
Supporting SW Update via u-boot and GPT/EFI
Próxima SlideShare
Cargando en…5
×
Próxima SlideShare
What to Upload to SlideShare
Siguiente
Descargar para leer sin conexión y ver en pantalla completa.

0

Compartir

Descargar para leer sin conexión

Supporting SW Update via u-boot and GPT/EFI

Descargar para leer sin conexión

A/B partition flipping is a traditional software update method for embedded devices. The Linux kernel notifies the bootloader of an image flip via a memory message at reboot. The strategy did not work for a processor which required a power-on reset due to a PMIC bug. The solution was to extend u-boot to allow the information to be stored in a GPT partition table on the storage device.

  • Sé el primero en recomendar esto

Supporting SW Update via u-boot and GPT/EFI

  1. 1. Supporting SW Update via u-boot and GPT/EFI Alison Chaiken alison@she-devel.com 3/10/2020
  2. 2. Software Update via A/B Image Flipping kernel / /var A B kernel / /var A B kernel / /var A B Boot Backup Boot Update Backup Boot Software update sequence
  3. 3. How does the bootloader choose A vs. B? Traditionally, the operating system writes the bootable image selection to memory at each shutdown, then “warm resets.” When the bootloader runs, it reads the selection from memory.
  4. 4. PMIC Errata: no “warm boot” support Source: TI TDA2x processor errata
  5. 5. Designating boot image w/o warm reset ● The information must be written to non-volatile storage: EEPROM, NAND flash, /var partition . . . ? ● Design: write all info about partitions into the existing storage device partition table. ● EFI partition tables in GPT format support a “name” string. ● A boot attempt counter can conveniently be stored there. ● 2016: u-boot had no support GPT name strings.
  6. 6. View source code that implements GPT names ● git clone git://git.denx.de/u-boot; cd u-boot ● git log --author=Chaiken
  7. 7. Demo via u-boot's sandbox ● make sandbox_defconfig ● make all NO_SDL=1 ● Follow instructions in doc/README.gpt to make a soft block device. ● ./u-boot which produces . . .
  8. 8. Boot attempt counter
  9. 9. Summary ● A/B partition flipping is a conservative strategy when storage capacity allows it. ● Traditional flip is accomplished by Linux message in memory to u-boot. ● PMIC bug in TI TDA2 prevented message in memory. ● Work-around: write the message into the storage partition table. ● Contributed the implementation code to upstream u-boot.

A/B partition flipping is a traditional software update method for embedded devices. The Linux kernel notifies the bootloader of an image flip via a memory message at reboot. The strategy did not work for a processor which required a power-on reset due to a PMIC bug. The solution was to extend u-boot to allow the information to be stored in a GPT partition table on the storage device.

Vistas

Total de vistas

263

En Slideshare

0

De embebidos

0

Número de embebidos

5

Acciones

Descargas

2

Compartidos

0

Comentarios

0

Me gusta

0

×