-
Notifications
You must be signed in to change notification settings - Fork 685
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Enhance next image detection for Aboot in sonic-installer #3433
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Hi @Staphylo |
/azp run Azure.sonic-utilities |
Azure Pipelines successfully started running 1 pipeline(s). |
/azp run Azure.sonic-utilities |
Azure Pipelines successfully started running 1 pipeline(s). |
Blueve
previously approved these changes
Aug 30, 2024
1b2f097
to
6d1c3d9
Compare
6d1c3d9
to
9ed67e7
Compare
The Aboot bootloader relies of the SWI= keyword argument in the boot-config file to know which image to boot. This value is also used by sonic-installer to figure to extract the next image that will be executed. The current code has an issue as it only expects the next image to match the installation path of a SONiC image but not anything else. This means that `SWI=flash:sonic-aboot-broadcom.swi` is not valid and can therefore be a problem when trying to install a new image via cold reboot. Additionally a missing or empty boot-config would generate a python backtrace instead of gracefully recovering from this state.
9ed67e7
to
4185fb6
Compare
ADO: 29332764 |
Blueve
approved these changes
Sep 11, 2024
mssonicbld
pushed a commit
to mssonicbld/sonic-utilities
that referenced
this pull request
Sep 11, 2024
The Aboot bootloader relies of the SWI= keyword argument in the boot-config file to know which image to boot. This value is also used by sonic-installer to figure to extract the next image that will be executed. The current code has an issue as it only expects the next image to match the installation path of a SONiC image but not anything else. This means that `SWI=flash:sonic-aboot-broadcom.swi` is not valid and can therefore be a problem when trying to install a new image via cold reboot. Additionally a missing or empty boot-config would generate a python backtrace instead of gracefully recovering from this state.
mssonicbld
pushed a commit
to mssonicbld/sonic-utilities
that referenced
this pull request
Sep 11, 2024
The Aboot bootloader relies of the SWI= keyword argument in the boot-config file to know which image to boot. This value is also used by sonic-installer to figure to extract the next image that will be executed. The current code has an issue as it only expects the next image to match the installation path of a SONiC image but not anything else. This means that `SWI=flash:sonic-aboot-broadcom.swi` is not valid and can therefore be a problem when trying to install a new image via cold reboot. Additionally a missing or empty boot-config would generate a python backtrace instead of gracefully recovering from this state.
Cherry-pick PR to 202405: #3540 |
Cherry-pick PR to 202311: #3541 |
mssonicbld
pushed a commit
that referenced
this pull request
Sep 11, 2024
The Aboot bootloader relies of the SWI= keyword argument in the boot-config file to know which image to boot. This value is also used by sonic-installer to figure to extract the next image that will be executed. The current code has an issue as it only expects the next image to match the installation path of a SONiC image but not anything else. This means that `SWI=flash:sonic-aboot-broadcom.swi` is not valid and can therefore be a problem when trying to install a new image via cold reboot. Additionally a missing or empty boot-config would generate a python backtrace instead of gracefully recovering from this state.
mssonicbld
pushed a commit
that referenced
this pull request
Sep 11, 2024
The Aboot bootloader relies of the SWI= keyword argument in the boot-config file to know which image to boot. This value is also used by sonic-installer to figure to extract the next image that will be executed. The current code has an issue as it only expects the next image to match the installation path of a SONiC image but not anything else. This means that `SWI=flash:sonic-aboot-broadcom.swi` is not valid and can therefore be a problem when trying to install a new image via cold reboot. Additionally a missing or empty boot-config would generate a python backtrace instead of gracefully recovering from this state.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What I did
Fix a crash of sonic-installer for Aboot bootloaders when the next image is not exactly an installed sonic image.
How I did it
The Aboot bootloader relies of the SWI= keyword argument in the boot-config file to know which image to boot.
This value is also used by sonic-installer to figure to extract the next image that will be executed.
The current code has an issue as it only expects the next image to match the installation path of a SONiC image but not anything else.
This means that
SWI=flash:sonic-aboot-broadcom.swi
is not valid and can therefore be a problem when trying to install a new image via cold reboot.How to verify it
Try
sonic-installer list
with the following values inboot-config