SlideShare une entreprise Scribd logo
1  sur  15
Télécharger pour lire hors ligne
•  Bootloader Goals
•  Typical Firmware Makeup on RDK devices
•  Startup Flow
•  Secure Boot Flow
•  Bootloader characteristics
•  Advanced Bootloader Requirements
•  Advanced Bootloader Standard UI
•  System Boot Elements and functionality
•  Challenges
1
AGENDA
•  Main goals of the bootloader
–  Security
–  Robustness
–  Performance
–  Flexibility
2
BOOTLOADER GOALS
3
TYPICAL FIRMWARE MAKEUP ON RDK DEVICES
STAGE-1 BOOTLOADER
STAGE-2 BOOTLOADER
BACKUP DISASTER RECOVERY
IMAGE (B-DRI)
PRIMARY DISASTER RECOVERY
IMAGE (P-DRI)
PLATFORM CODE IMAGE – 1 (PCI-1)
PLATFORM CODE IMAGE -2 (PCI-2)
DATA – certs, image data etc.
•  Stage-2 Bootloader (goal flexibility & robustness) also known as the advanced
bootloader (ABL) is responsible for validating and loading the correct platform
image
•  Stage-1 Bootloader is rather dumb (goal is robustness) and is mainly
responsible for booting the stage-2 bootloader.
•  There are two platform code images to ensure that a platform image is readily
available as a backup in case the active image fails.
4
STARTUP FLOW
•  Stage-2 Bootloader – validates each image in the order
mentioned and launches the first valid image.
•  If an image is valid, the stage-2 bootloader will attempt to
launch it. If launch fails, it will update a failed retry count and
continue launching till failed retry count reaches a configured
threshold, after which it will proceed to launch the next valid
image.
•  The disaster recovery images have limited functionality and
will need to download new platform code images for the
device to be fully functional.
SoC
Bootstrap
Stage-1
Bootloader
Stage-2
Bootloader
(ABL)
Validate
Image
Active Image
Standby Image
Primary DRI
Backup DRI
2
1
3
4
5
SECURE BOOT FLOW
•  Bootloader may run image from flash or RAM
depending on device memory constraints.
SoC
Bootstrap
Stage-1
Bootloader
Stage-2
Bootloader
(ABL)
Active Image
Standby
Image
Primary DRI
Backup DRI
2
1
3
4
Device Key Store (Factory Programmed)
SoC Owned OEM Owned
OEM Owned,
Comcast built
ValidatesValidates Validates
•  Stage-1 Bootloader
–  Factory Programmed
–  Can validate signatures
–  Not field upgradeable
–  Chain of trust leading to SoC bootstrap
–  No support for firmware upgrade. Only launches the stage-2
bootloader.
•  Stage-2 Bootloader
–  Factory Programmed
–  Field Upgradeable under special circumstances using a special
firmware image. Strongly discouraged.
–  Supports Comcast Configuration Management System based
firmware upgrade usingTFTP, TR-69 and HTTP protocols.
–  Support for UBI, UBIFS, JFFS2, SQUASHFS, MTD based partitions.
6
BOOTLOADER CHARACTERISTICS
•  Bootloader is not field upgradable, there must be another mechanism to upgrade it.
–  Upgrade via console ports
–  Special firmware images
•  Advanced Bootloader invocation
–  Front Panel Key combination on device
–  Software APIs
•  Can work with SNMP signals to trigger update
•  Return valid system descriptor
•  Returns valid DHCP options
•  Log transitions into advanced bootloader and initialization
7
ADVANCED BOOTLOADER REQUIREMENTS
8
ADVANCED BOOTLOADER STANDARD UI
•  Disaster Recovery Image - Backup
–  Can Download Image
–  PerformsValidation
–  Write image to flash
–  Supports IPv4
–  HTTP andTFTP protocol support
–  Can support DOCSIS
–  Supports DHCP
9
SYSTEM BOOT ELEMENTS
•  Disaster Recovery Image
–  SupportsTFTP/HTTP/HTTPS
–  IPv6/IPv4
–  external storage media ( Developer mode)
–  ImplementsTR-069Triggers for Code Download
–  Can upgrade platform firmware as well as itself
–  Works over ethernet/WiFi/MoCA
–  Supports Device Initiated Firmware download
–  Perform various imageValidations
–  Cold Factory Reset
–  Remote Control Support
–  Front Panel buttons support
–  Supports DHCP
10
SYSTEM BOOT ELEMENTS
•  Device Initiated
•  TR-069Triggered
•  IP Download
–  IP devices
–  Development Devices
11
CODE DOWNLOAD PROCESS
•  Supports multiple network topologies
•  DRI bridges all available I/Fs and initializes with DHCP if available
•  Support for auto-IP/Zeroconf
12
NETWORKING
•  Screen Diagnostics viaVideo Port
•  Fixed resolution 720p e.g.
•  Software Update progress Bar ( OSD Screen)
13
USER INTERFACE
•  Non-standard bootloader across devices.
–  Inconsistences in extent to which they are file-system aware leading to
special filesystems on different devices.
–  Inability to create a standard end-to-end reference device.
•  Opensource bootloaders have stringent licensing requirements
–  Would be ideal to standardize on an available OSS bootloader.
–  However, bootloaders typically have OEM or SoC vendor secret sauce
related to secure boot and other mandatory security functionality. GPL
v2 and similar license interfere with their ability to protect their IP while
leveraging these opensource bootloaders.
14
CHALLENGES
ThankYou
15
RDK BOOTLOADER

Contenu connexe

En vedette

BUD17-405: Building a reference IoT product with Zephyr
BUD17-405: Building a reference IoT product with Zephyr BUD17-405: Building a reference IoT product with Zephyr
BUD17-405: Building a reference IoT product with Zephyr
Linaro
 
BUD17-510: Power management in Linux together with secure firmware
BUD17-510: Power management in Linux together with secure firmwareBUD17-510: Power management in Linux together with secure firmware
BUD17-510: Power management in Linux together with secure firmware
Linaro
 

En vedette (8)

Telcom Industry Review and Future of Telcom Providers - Telco 2015
Telcom Industry Review and Future of Telcom Providers - Telco 2015Telcom Industry Review and Future of Telcom Providers - Telco 2015
Telcom Industry Review and Future of Telcom Providers - Telco 2015
 
Telecom 2020: Preparing for a very different future
Telecom 2020: Preparing for a very different futureTelecom 2020: Preparing for a very different future
Telecom 2020: Preparing for a very different future
 
BUD17-405: Building a reference IoT product with Zephyr
BUD17-405: Building a reference IoT product with Zephyr BUD17-405: Building a reference IoT product with Zephyr
BUD17-405: Building a reference IoT product with Zephyr
 
BUD17-416: Benchmark and profiling in OP-TEE
BUD17-416: Benchmark and profiling in OP-TEE BUD17-416: Benchmark and profiling in OP-TEE
BUD17-416: Benchmark and profiling in OP-TEE
 
BUD17-510: Power management in Linux together with secure firmware
BUD17-510: Power management in Linux together with secure firmwareBUD17-510: Power management in Linux together with secure firmware
BUD17-510: Power management in Linux together with secure firmware
 
Slashing Big Data Complexity: How Comcast X1 Syndicates Streaming Analytics w...
Slashing Big Data Complexity: How Comcast X1 Syndicates Streaming Analytics w...Slashing Big Data Complexity: How Comcast X1 Syndicates Streaming Analytics w...
Slashing Big Data Complexity: How Comcast X1 Syndicates Streaming Analytics w...
 
BUD17-209: Reliability, Availability, and Serviceability (RAS) on ARM64
BUD17-209: Reliability, Availability, and Serviceability (RAS) on ARM64 BUD17-209: Reliability, Availability, and Serviceability (RAS) on ARM64
BUD17-209: Reliability, Availability, and Serviceability (RAS) on ARM64
 
Global telecom trends by 2020
Global telecom trends by 2020Global telecom trends by 2020
Global telecom trends by 2020
 

Plus de Linaro

Deep Learning Neural Network Acceleration at the Edge - Andrea Gallo
Deep Learning Neural Network Acceleration at the Edge - Andrea GalloDeep Learning Neural Network Acceleration at the Edge - Andrea Gallo
Deep Learning Neural Network Acceleration at the Edge - Andrea Gallo
Linaro
 
HPC network stack on ARM - Linaro HPC Workshop 2018
HPC network stack on ARM - Linaro HPC Workshop 2018HPC network stack on ARM - Linaro HPC Workshop 2018
HPC network stack on ARM - Linaro HPC Workshop 2018
Linaro
 
Intelligent Interconnect Architecture to Enable Next Generation HPC - Linaro ...
Intelligent Interconnect Architecture to Enable Next Generation HPC - Linaro ...Intelligent Interconnect Architecture to Enable Next Generation HPC - Linaro ...
Intelligent Interconnect Architecture to Enable Next Generation HPC - Linaro ...
Linaro
 
Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...
Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...
Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...
Linaro
 
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainlineHKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
Linaro
 
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainlineHKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
Linaro
 
HKG18- 115 - Partitioning ARM Systems with the Jailhouse Hypervisor
HKG18- 115 - Partitioning ARM Systems with the Jailhouse HypervisorHKG18- 115 - Partitioning ARM Systems with the Jailhouse Hypervisor
HKG18- 115 - Partitioning ARM Systems with the Jailhouse Hypervisor
Linaro
 
HKG18-TR08 - Upstreaming SVE in QEMU
HKG18-TR08 - Upstreaming SVE in QEMUHKG18-TR08 - Upstreaming SVE in QEMU
HKG18-TR08 - Upstreaming SVE in QEMU
Linaro
 
HKG18-120 - Devicetree Schema Documentation and Validation
HKG18-120 - Devicetree Schema Documentation and Validation HKG18-120 - Devicetree Schema Documentation and Validation
HKG18-120 - Devicetree Schema Documentation and Validation
Linaro
 
HKG18-223 - Trusted FirmwareM: Trusted boot
HKG18-223 - Trusted FirmwareM: Trusted bootHKG18-223 - Trusted FirmwareM: Trusted boot
HKG18-223 - Trusted FirmwareM: Trusted boot
Linaro
 

Plus de Linaro (20)

Deep Learning Neural Network Acceleration at the Edge - Andrea Gallo
Deep Learning Neural Network Acceleration at the Edge - Andrea GalloDeep Learning Neural Network Acceleration at the Edge - Andrea Gallo
Deep Learning Neural Network Acceleration at the Edge - Andrea Gallo
 
Arm Architecture HPC Workshop Santa Clara 2018 - Kanta Vekaria
Arm Architecture HPC Workshop Santa Clara 2018 - Kanta VekariaArm Architecture HPC Workshop Santa Clara 2018 - Kanta Vekaria
Arm Architecture HPC Workshop Santa Clara 2018 - Kanta Vekaria
 
Huawei’s requirements for the ARM based HPC solution readiness - Joshua Mora
Huawei’s requirements for the ARM based HPC solution readiness - Joshua MoraHuawei’s requirements for the ARM based HPC solution readiness - Joshua Mora
Huawei’s requirements for the ARM based HPC solution readiness - Joshua Mora
 
Bud17 113: distribution ci using qemu and open qa
Bud17 113: distribution ci using qemu and open qaBud17 113: distribution ci using qemu and open qa
Bud17 113: distribution ci using qemu and open qa
 
OpenHPC Automation with Ansible - Renato Golin - Linaro Arm HPC Workshop 2018
OpenHPC Automation with Ansible - Renato Golin - Linaro Arm HPC Workshop 2018OpenHPC Automation with Ansible - Renato Golin - Linaro Arm HPC Workshop 2018
OpenHPC Automation with Ansible - Renato Golin - Linaro Arm HPC Workshop 2018
 
HPC network stack on ARM - Linaro HPC Workshop 2018
HPC network stack on ARM - Linaro HPC Workshop 2018HPC network stack on ARM - Linaro HPC Workshop 2018
HPC network stack on ARM - Linaro HPC Workshop 2018
 
It just keeps getting better - SUSE enablement for Arm - Linaro HPC Workshop ...
It just keeps getting better - SUSE enablement for Arm - Linaro HPC Workshop ...It just keeps getting better - SUSE enablement for Arm - Linaro HPC Workshop ...
It just keeps getting better - SUSE enablement for Arm - Linaro HPC Workshop ...
 
Intelligent Interconnect Architecture to Enable Next Generation HPC - Linaro ...
Intelligent Interconnect Architecture to Enable Next Generation HPC - Linaro ...Intelligent Interconnect Architecture to Enable Next Generation HPC - Linaro ...
Intelligent Interconnect Architecture to Enable Next Generation HPC - Linaro ...
 
Yutaka Ishikawa - Post-K and Arm HPC Ecosystem - Linaro Arm HPC Workshop Sant...
Yutaka Ishikawa - Post-K and Arm HPC Ecosystem - Linaro Arm HPC Workshop Sant...Yutaka Ishikawa - Post-K and Arm HPC Ecosystem - Linaro Arm HPC Workshop Sant...
Yutaka Ishikawa - Post-K and Arm HPC Ecosystem - Linaro Arm HPC Workshop Sant...
 
Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...
Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...
Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...
 
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainlineHKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
 
HKG18-100K1 - George Grey: Opening Keynote
HKG18-100K1 - George Grey: Opening KeynoteHKG18-100K1 - George Grey: Opening Keynote
HKG18-100K1 - George Grey: Opening Keynote
 
HKG18-318 - OpenAMP Workshop
HKG18-318 - OpenAMP WorkshopHKG18-318 - OpenAMP Workshop
HKG18-318 - OpenAMP Workshop
 
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainlineHKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
 
HKG18-315 - Why the ecosystem is a wonderful thing, warts and all
HKG18-315 - Why the ecosystem is a wonderful thing, warts and allHKG18-315 - Why the ecosystem is a wonderful thing, warts and all
HKG18-315 - Why the ecosystem is a wonderful thing, warts and all
 
HKG18- 115 - Partitioning ARM Systems with the Jailhouse Hypervisor
HKG18- 115 - Partitioning ARM Systems with the Jailhouse HypervisorHKG18- 115 - Partitioning ARM Systems with the Jailhouse Hypervisor
HKG18- 115 - Partitioning ARM Systems with the Jailhouse Hypervisor
 
HKG18-TR08 - Upstreaming SVE in QEMU
HKG18-TR08 - Upstreaming SVE in QEMUHKG18-TR08 - Upstreaming SVE in QEMU
HKG18-TR08 - Upstreaming SVE in QEMU
 
HKG18-113- Secure Data Path work with i.MX8M
HKG18-113- Secure Data Path work with i.MX8MHKG18-113- Secure Data Path work with i.MX8M
HKG18-113- Secure Data Path work with i.MX8M
 
HKG18-120 - Devicetree Schema Documentation and Validation
HKG18-120 - Devicetree Schema Documentation and Validation HKG18-120 - Devicetree Schema Documentation and Validation
HKG18-120 - Devicetree Schema Documentation and Validation
 
HKG18-223 - Trusted FirmwareM: Trusted boot
HKG18-223 - Trusted FirmwareM: Trusted bootHKG18-223 - Trusted FirmwareM: Trusted boot
HKG18-223 - Trusted FirmwareM: Trusted boot
 

Dernier

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Dernier (20)

TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 

SFO15-201: Boot Architecture for RDK

  • 1. •  Bootloader Goals •  Typical Firmware Makeup on RDK devices •  Startup Flow •  Secure Boot Flow •  Bootloader characteristics •  Advanced Bootloader Requirements •  Advanced Bootloader Standard UI •  System Boot Elements and functionality •  Challenges 1 AGENDA
  • 2. •  Main goals of the bootloader –  Security –  Robustness –  Performance –  Flexibility 2 BOOTLOADER GOALS
  • 3. 3 TYPICAL FIRMWARE MAKEUP ON RDK DEVICES STAGE-1 BOOTLOADER STAGE-2 BOOTLOADER BACKUP DISASTER RECOVERY IMAGE (B-DRI) PRIMARY DISASTER RECOVERY IMAGE (P-DRI) PLATFORM CODE IMAGE – 1 (PCI-1) PLATFORM CODE IMAGE -2 (PCI-2) DATA – certs, image data etc. •  Stage-2 Bootloader (goal flexibility & robustness) also known as the advanced bootloader (ABL) is responsible for validating and loading the correct platform image •  Stage-1 Bootloader is rather dumb (goal is robustness) and is mainly responsible for booting the stage-2 bootloader. •  There are two platform code images to ensure that a platform image is readily available as a backup in case the active image fails.
  • 4. 4 STARTUP FLOW •  Stage-2 Bootloader – validates each image in the order mentioned and launches the first valid image. •  If an image is valid, the stage-2 bootloader will attempt to launch it. If launch fails, it will update a failed retry count and continue launching till failed retry count reaches a configured threshold, after which it will proceed to launch the next valid image. •  The disaster recovery images have limited functionality and will need to download new platform code images for the device to be fully functional. SoC Bootstrap Stage-1 Bootloader Stage-2 Bootloader (ABL) Validate Image Active Image Standby Image Primary DRI Backup DRI 2 1 3 4
  • 5. 5 SECURE BOOT FLOW •  Bootloader may run image from flash or RAM depending on device memory constraints. SoC Bootstrap Stage-1 Bootloader Stage-2 Bootloader (ABL) Active Image Standby Image Primary DRI Backup DRI 2 1 3 4 Device Key Store (Factory Programmed) SoC Owned OEM Owned OEM Owned, Comcast built ValidatesValidates Validates
  • 6. •  Stage-1 Bootloader –  Factory Programmed –  Can validate signatures –  Not field upgradeable –  Chain of trust leading to SoC bootstrap –  No support for firmware upgrade. Only launches the stage-2 bootloader. •  Stage-2 Bootloader –  Factory Programmed –  Field Upgradeable under special circumstances using a special firmware image. Strongly discouraged. –  Supports Comcast Configuration Management System based firmware upgrade usingTFTP, TR-69 and HTTP protocols. –  Support for UBI, UBIFS, JFFS2, SQUASHFS, MTD based partitions. 6 BOOTLOADER CHARACTERISTICS
  • 7. •  Bootloader is not field upgradable, there must be another mechanism to upgrade it. –  Upgrade via console ports –  Special firmware images •  Advanced Bootloader invocation –  Front Panel Key combination on device –  Software APIs •  Can work with SNMP signals to trigger update •  Return valid system descriptor •  Returns valid DHCP options •  Log transitions into advanced bootloader and initialization 7 ADVANCED BOOTLOADER REQUIREMENTS
  • 9. •  Disaster Recovery Image - Backup –  Can Download Image –  PerformsValidation –  Write image to flash –  Supports IPv4 –  HTTP andTFTP protocol support –  Can support DOCSIS –  Supports DHCP 9 SYSTEM BOOT ELEMENTS
  • 10. •  Disaster Recovery Image –  SupportsTFTP/HTTP/HTTPS –  IPv6/IPv4 –  external storage media ( Developer mode) –  ImplementsTR-069Triggers for Code Download –  Can upgrade platform firmware as well as itself –  Works over ethernet/WiFi/MoCA –  Supports Device Initiated Firmware download –  Perform various imageValidations –  Cold Factory Reset –  Remote Control Support –  Front Panel buttons support –  Supports DHCP 10 SYSTEM BOOT ELEMENTS
  • 11. •  Device Initiated •  TR-069Triggered •  IP Download –  IP devices –  Development Devices 11 CODE DOWNLOAD PROCESS
  • 12. •  Supports multiple network topologies •  DRI bridges all available I/Fs and initializes with DHCP if available •  Support for auto-IP/Zeroconf 12 NETWORKING
  • 13. •  Screen Diagnostics viaVideo Port •  Fixed resolution 720p e.g. •  Software Update progress Bar ( OSD Screen) 13 USER INTERFACE
  • 14. •  Non-standard bootloader across devices. –  Inconsistences in extent to which they are file-system aware leading to special filesystems on different devices. –  Inability to create a standard end-to-end reference device. •  Opensource bootloaders have stringent licensing requirements –  Would be ideal to standardize on an available OSS bootloader. –  However, bootloaders typically have OEM or SoC vendor secret sauce related to secure boot and other mandatory security functionality. GPL v2 and similar license interfere with their ability to protect their IP while leveraging these opensource bootloaders. 14 CHALLENGES