Two-Part OS Update Segmentation for Boot Reliability
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The process of updating operating system software often leaves devices in a state where they cannot boot using the prior or updated OS, necessitating recovery mode and external assistance if the installation fails, due to the inability to use either system for booting.
Innovation Solution
A method involving a two-part OS update where the first portion provides a bootable OS without the second portion, allowing the system to commit to booting off the first portion and automatically attempt installation of the second portion, with features like copy-on-write snapshots and secure boot to ensure functionality and revertibility.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If the OS update is installed in a single step that replaces the prior OS, then the update process is simple, but the system enters a state where it cannot boot if the installation fails
Solution Approach 1:
The OS update is divided into two separate portions: a first portion that provides bootable functionality and a second portion that provides additional functionality. This segmentation allows the system to boot successfully with just the first portion, while the second portion can be installed separately without risking system bootability.
Solution Approach 2:
The first portion of the OS update is installed and configured for booting before the second portion is installed. This preliminary action ensures that a bootable system state is established prior to committing to the full update, allowing recovery if the second portion installation fails.
2Loss of time
If the system commits to booting from the updated OS immediately after installation, then the update process is faster, but the system loses the ability to revert if something goes wrong
Solution Approach 1:
The boot configuration is made dynamic rather than static. The system can switch between booting from the prior OS or the updated OS based on installation success. The bootable first portion allows the system to adapt its boot source after update installation, providing flexibility to revert or proceed.
Solution Approach 2:
The system prepares a bootable first portion that serves as a safety cushion before full commitment to the updated OS. This cushioning mechanism ensures that even if the update process encounters issues, the system maintains bootability through the first portion, preventing a complete failure state.
3Reliability
If the second portion installation is attempted before committing to boot from the first portion, then the full update is applied, but the system cannot recover if installation fails
Solution Approach 1:
The update process is segmented into phases: first installing the bootable first portion, then attempting to install the second portion. This segmentation separates the critical bootability function from the optional enhancement function, making recovery operations simpler since the system can always fall back to the first portion.
Solution Approach 2:
The bootable first portion acts as an intermediary between the prior OS and the complete updated OS. It provides a stable boot foundation that mediates the transition, allowing the system to attempt full update installation while maintaining a safe fallback option that simplifies recovery operations.
4Reliability
If the system requires external assistance for recovery mode, then data integrity can be verified, but user independence and convenience are reduced
Solution Approach 1:
The system is designed to perform self-service during the update process. The bootable first portion enables the system to boot and operate independently even with partial update installation, eliminating the need for external assistance in most failure scenarios and enhancing user independence.
Solution Approach 2:
The system performs preliminary configuration of the first portion to ensure bootability before any potential failure can occur. This preliminary action includes setting up the boot loader and system files in advance, so that if installation fails, the system can automatically recover without requiring external verification or assistance.
Data Source
AI summary
Installation of an operating system update on a data processing system can begin by receiving one or more packages containing an operating system (OS) update that includes a first portion of the OS update and a second portion of the OS update. The first portion, once installed, provides a bootable OS which allows other applications to execute on the OS even without the second portion being installed. After the first portion has been installed, the installation process (e.g., an installer) commits the data processing system to boot off the first portion. After committing to boot off the first portion, the data processing system cannot boot off the prior OS. After the committing, the data processing system attempts installation of the second portion, and this attempt occurs automatically in response to successful installation of the first portion.


