owned this note changed 6 years ago
Linked with GitHub

Software Update for Embedded Systems - 林上智

由於場地問題,第二天我們移動到另一棟大樓啦!議程教室變動請見網站上的議程表

歡迎來到 https://hackmd.io/@coscup/2019 共筆

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

點擊本頁上方的 開始用 Markdown 一起寫筆記!
手機版請點選上方 按鈕展開議程列表。

請從這裡開始

自介

使用 open source 該注意的

Lincese Supporting Tool

為什麼需要firmware upadte?

  • bug fixes
  • security fixes
  • new userspace program
    • 例如:glibc的安全漏洞
  • Kernel feature enhancement

LTS (Long Term Stable) Kernel 會出問題?

cip-kernel-sec

Year 2038 Problem

  • 所有的32bit機器的 2038/1/19 都會出現interger overflow
  • Glibc 修復進程落後 (Linux Kernel進度相對達預期)

可能需要更新的components

Kernelspace

  • firmware
  • bootloader
  • kernel
  • device tree

Userspace

  • root file system
  • application

工業用嵌入式Linux裝置的可能行為

  • Harsh Environment (第三世界國家)
    • 例如:更新到一半沒電掛掉,該如何處理?
  • Middle of nowhere
  • Bandwidth limited
    • 會牽扯到更新機制
  • Multiple version supported
  • Multiple devices

Firmeware update的媒介

  • 有線網路
  • 無線網路
  • portable storage (ex: usb drive)
  • onsite

更新的需求

基本功能

  • fail-safe
  • roll-back
  • exception report
  • signatures
  • multiple storage type support
  • build system integration
  • remote access (例如: OTA)

進階功能

  • online & offline updates
  • encryption
  • delta-updates (只更新有需要更新的部份,而不是全部刷掉)
  • successful update deletion
  • productive updating (建議讓使用者決定時間或在離峰時段)

更新的方法

  • Image/Block based (全部刷掉)
  • File based (只更新有修改的檔案)
  • Package based (例如:deb, rpm)
    • 可能會多很多dependency
  • Delta based (例如:binary diff)
    • 複雜度高

Asymmetric / Symmetric Firmware update

Asymmetric

  • 優點
    • fail-safe
  • 缺點
    • downtime

Symmetric

  • 優點
    • seamless update
    • roll-back
    • fail-safe
  • 缺點
    • double copy of OS

Open Source Software Update Tools

  • SWUpdate
  • RAUC
  • OSTree
tags: COSCUP2019 BSDTW x Cat System Workshop IB306
Select a repo