Skip to content
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

Add qbootctl package #520

Merged
merged 1 commit into from
Sep 2, 2023
Merged

Add qbootctl package #520

merged 1 commit into from
Sep 2, 2023

Conversation

superna9999
Copy link
Contributor

Add qbootclt package to control the boot A/B slot flags.

@lumag
Copy link
Collaborator

lumag commented Jun 19, 2023

Do we need to set boot successful flag?

@superna9999
Copy link
Contributor Author

If we flash the bootimage on recent platform with A/B enabled, if the boot isn't marked successful for N times, the boot will fail until fastboot set_active a is called, which can be unconvenient,

@lumag
Copy link
Collaborator

lumag commented Jun 19, 2023

Could you please add a .service, calling qbootctl to mark it as successful?

@superna9999
Copy link
Contributor Author

Yep it was my next plan, but I'm unsure what would be the condition, the grub one doesn't see very good since it requires a login (https://github.com/rhboot/grub2/blob/7de33f4072abf5f14c4fdad6e566c58bdbf3b26e/docs/grub-boot-success.timer)

@superna9999
Copy link
Contributor Author

OK i"ll use the same as the systemd one https://github.com/endlessm/systemd/blob/master/units/systemd-bless-boot.service.in

@lumag
Copy link
Collaborator

lumag commented Jun 19, 2023

boot-complete.target looks good.

@superna9999
Copy link
Contributor Author

Done

@lumag
Copy link
Collaborator

lumag commented Jun 19, 2023

@superna9999 let me check that it doesn't break non-ufs hardware. I'll merge this afterwards.

@superna9999
Copy link
Contributor Author

Updated recipe to 0.1.2 release since master has some bugs

@lumag
Copy link
Collaborator

lumag commented Jul 28, 2023

@superna9999 I tried enabling qbootctl, and it fails:

| ../git/qbootctl.cpp: In function 'int get_slot_info(slot_info*)':
| ../git/qbootctl.cpp:105:9: error: 'uint32_t' was not declared in this scope
|   105 |         uint32_t active_slot = impl->getActiveBootSlot();
|       |         ^~~~~~~~
| ../git/qbootctl.cpp:30:1: note: 'uint32_t' is defined in header '<cstdint>'; did you forget to '#include <cstdint>'?
|    29 | #include "bootctrl.h"
|   +++ |+#include <cstdint>
|    30 |
| ../git/qbootctl.cpp:107:15: error: 'active_slot' was not declared in this scope
|   107 |         slots[active_slot].active = true;
|       |               ^~~~~~~~~~~

@superna9999
Copy link
Contributor Author

Indeed, it requires https://gitlab.com/sdm845-mainline/qbootctl/-/commit/df63d7c21c19a3e3afb41d029b97b9d068880484 for GCC13, adding it to the recipe.

Add qbootclt package to control the boot A/B slot flags.

Signed-off-by: Neil Armstrong <[email protected]>
@superna9999
Copy link
Contributor Author

Done, added the right fix

@lumag lumag merged commit d5b4c59 into Linaro:master Sep 2, 2023
2 checks passed
@lumag
Copy link
Collaborator

lumag commented Sep 2, 2023

Validated and merged

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants