-
Notifications
You must be signed in to change notification settings - Fork 97
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
🐛 Reset doesnt work on rpi #1486
Comments
With this PR now merged, let's give it a retry (we need to bump kairos-agent to a version that includes the fix, or try that locally first). |
|
I see 3 issues:
|
For 1: For 3: Can you paste the |
I will try your suggestion for 3. now |
This is
and this is the version:
did you mean the |
btw, while booting into recovery I grabbed the error for 2. It's about the recovery partition not persistent:
|
And this is the output for
|
regarding the error:
here is what I have in that directory:
|
|
kairos-agent fails to detect the recovery partition:
(added debug output here: kairos-io/kairos-agent@86976e5) |
Weird, so the state fix works and can identify the recovery as expected. But then reset should work... |
Are you running the reset from the recovery? Does debug show anything extra when failing? |
I'm running that in recovery. See my comment above. I think |
In my case, this is the information of COS_STATE:
and this is the one of COS_RECOVERY (lvm group):
see? There is not enough information about labels and such. |
otoh, there is a file that has the needed information:
|
And it looks up the wrong file because it's using the wrong disk name:
|
yep, that why the fix to the sdk. I think I assumed we were using the sdk to find the partitions on reset, but of course, its elemental libs, so they are not, they just using ghw 🤦 So I fixed it in the wrong place. I mean, still good becuase we need that for the state, but its not fixing the reset stuff :D |
FYI getting ghw to detect and report the lvm stuff properly is a bit of a mess, I had a look before. UDEV has all the info available and ghw already reports some dm devices IIRC properly. But incorporating that in there its not easy due to all the devices, dms, vgs, labels and such. |
same fix as we did on the state could be done in This was the fix to sdk https://github.com/kairos-io/kairos-sdk/pull/28/files |
I don't see the reason to use both ghw and lsblk since lsblk can already return all partitions. I tried something here but it's not ready yet: https://github.com/kairos-io/kairos-agent/compare/dk-debug-recovery-partition?expand=1 I still need to populate the |
lsblk requires the binary everywhere and the implementation changes across distros. GHW uses no external tools as it consumes data from UDEV directly which is much more standard across systems and can be even used on minimal init systems in which only udev/eudev has run. But we dont have a good alternative I think. Unless we send patches upstream to identify this data in ghw and have 1 lib across everywhere... We could also just use the sdk for this utils. After all the idea was to move the partitioner into the sdk, so having fs utils in there so everything trying to get the partitions gets the same list would be nice. |
|
Kairos version:
master
CPU architecture, OS, and Version:
rpi
Describe the bug
Reset doesnt work on rpi as we cannot infer where the recovery/oem partitions are, becuase they are mounted on LVM and ghw doesnt work with lvm
To Reproduce
enter recovery on rpi and try to reset, it will fail
Expected behavior
it works
Logs
Additional context
there is also the state.yaml which hints the installer where the partitions are but that is generated on installation and Im not sure if that would work.
Fix is fixing the sdk so it searches for lvm partitions as well and tries to identify them
The text was updated successfully, but these errors were encountered: