Boot process: Difference between revisions

From OLPC
Jump to navigation Jump to search
(Link to Firmware Security)
(Minor updates.)
Line 13: Line 13:
## If present and valid /security/develop.sig (in the usb, sd, or nand)
## If present and valid /security/develop.sig (in the usb, sd, or nand)
##* goto old insecure boot.
##* goto old insecure boot.
## If present fw.zip (for secure reflash of OFW) (has... how should key be set up? data.rom and data.sig?)
## If present /boot/bootfw.zip (for secure reflash of OFW) (has... how should key be set up? data.rom and data.sig?)
##* If signature is valid, then reflash
##* If signature is valid, then reflash
## If present, valid, and not expired /security/lease.sig '''OR''' the ak flag is set (THIS DOES NOT CURRENTLY WORK)
## If present, valid, and not expired /security/lease.sig '''OR''' the ak flag is set
##* If present os.zip (contains data.sig and data.img)
##* If present /boot/os.zip (contains data.sig and data.img)
##** then, If data.sig and data.img are valid, boot os{build_number}.img (should be in root with os.zip)
##** then, If data.sig and data.img are valid, boot from the data.img.

Revision as of 21:29, 6 December 2007

(The sequence that OFW goes through before booting an image. The canonical specification should be at Firmware Security.)

  1. If all four buttons are held down (secure copy-nand)
    1. Firmware looks at fs.zip (should be in root directory of usb key, along with the os{build_number}.img)
      • fs.zip should have data.img and data.sig in it
    2. If the data.sig lines up with the data.img, the os{build_number}.img is booted.
  2. If your laptop is insecure (the ww flag is set instead of the wp flag)
    • The laptop boots the old insecure way (loads /boot/olpc.fth and runs whatever script is there)
    • NOTE: if you hold X during startup, the laptop will go into secure mode for that one boot up
  3. If your laptop is secure (wp flag set, or X was held), then...
    1. If dk flag is set
      • goto old insecure boot
    2. If present and valid /security/develop.sig (in the usb, sd, or nand)
      • goto old insecure boot.
    3. If present /boot/bootfw.zip (for secure reflash of OFW) (has... how should key be set up? data.rom and data.sig?)
      • If signature is valid, then reflash
    4. If present, valid, and not expired /security/lease.sig OR the ak flag is set
      • If present /boot/os.zip (contains data.sig and data.img)
        • then, If data.sig and data.img are valid, boot from the data.img.