ARM Boot Architecture
Discuss and define the overall boot architecture for ARM. Includes discussions on boot interface, device tree, firmware requirements, upgrade requirements, secure boot
Blueprint information
- Status:
- Complete
- Approver:
- Paul McKenney
- Priority:
- High
- Drafter:
- None
- Direction:
- Needs approval
- Assignee:
- Grant Likely
- Definition:
- Obsolete
- Series goal:
- None
- Implementation:
-
Unknown
- Milestone target:
- None
- Started by
- Completed by
- Ilias Biris
Whiteboard
[ibiris - 24Oct2011]: this blueprint is now obsolete, there is a new direction and decisions taken during the boot-architecture weekly meetings. The new work will be handled via new blueprints after Linaro Connect @ Orlando (Oct31-Nov04 2011)
https:/
Draft required feature list (to be prioritized):
- zero-risk firmware update
- boot from network (pxe) including IPv6
- boot from wireless network
- boot from removable media (SD card and USB drive)
- unattended control (for server and board farms)
- multiplatform install images
- secure boot (signed kernel/initrd images)
- boot speed
- multi-OS compatibility
- smp boot - how are secondary cpus booted etc.?
- ability to override any device tree with one provided by user
- hypervisor interactions (A15, SW/HW vendors)
- (maybe others - see acpi docs?)
- political neutrality?
- suspend/resume
Other discussion topics:
- Android Fastboot
https:/
- Multiplatform boot for Android targets
https:/
- Can the boot architecture be unified for non-Android and Android targets alike?
- Would a kexec boot loader be the best solution?
Notes from UDS, May 10-14, 2011:
https:/
Notes from Linaro Connect Q3.11:
https:/
Work Items
Work items:
Consult with stakeholders on boot architecture requirements: DONE
Invite people to APM to discuss first draft: DONE
Capture and document boot architecture requirements: INPROGRESS
Write and publish high level recommended boot architecture document: INPROGRESS
Investigate kernel image format requirements: TODO
Define and publish boot media format (ie. booting install image from SD card): TODO
Define device tree bindings for bootable devices (to be used for kernel/firmware upgrades and by installer): TODO
Modify linaro-image-tools to use bootable device binding: TODO
Define and publish recommended firmware upgrade architecture: TODO
Implement PXE boot: TODO
Build reference system implementing recommendations in boot architecture document: TODO
Document reference implementation: TODO
[lool] to check with Colin Watson what he thinks with his GRUB upstream + Ubuntu hats: TODO
[lool] Investigate U-Boot runtime interface - call into U-Boot from UEFI or GRUB: TODO
[will-deacon] Define SMP boot requirements - spin tables?: TODO
Investigate entry point protocol - multiimage: TODO
[lool] Investigate using DTB fragments: TODO
Dependency tree

* Blueprints in grey have been implemented.