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

[TEST] Test the builds #72

Open
pixincreate opened this issue Nov 6, 2024 · 16 comments
Open

[TEST] Test the builds #72

pixincreate opened this issue Nov 6, 2024 · 16 comments
Assignees
Labels
help wanted Extra attention is needed Test Requires testing.

Comments

@pixincreate
Copy link
Owner

The build happens every time upstream makes a release. And by the looks of PixeneOS, it is stable.

However, I cannot guarantee that it will work without any issues since I never got time (at least until February, 2025) to test my builds.

Things to test:

  • rootless
  • magisk

Both the flavors needs to be tested.

If you're a contributor and have a spare pixel (5a and above), please drop a comment below with your device id. I will trigger a build (both root and rootless).

PS: It should work without any issues.

@pixincreate pixincreate added help wanted Extra attention is needed Test Requires testing. labels Nov 6, 2024
@pixincreate pixincreate self-assigned this Nov 6, 2024
@pixincreate pixincreate pinned this issue Nov 6, 2024
@0cwa
Copy link

0cwa commented Nov 6, 2024

I've tested my build pipeline on my pixel 5a as well as 4a 5g and the magisk flavors work flawlessly, great work 😄👍

@pixincreate
Copy link
Owner Author

hi, thanks for confirmation. if you don't mind, can you also confirm the rootless builds?

you just need to do this:

trigger a rootless build, update the url in the custota, you should be getting an ota there, update to rootless.

the main thing being, the user should be able to hop between root and rootless builds just by updating the endpoints in custota and should not break the build whatsoever

thanks in advance!

@ravynhardcastle
Copy link

Could be user error, but I can't seem to get this working. I was able to get rooted-graphene working, so it's certainly possible on the device. On both rootless and magisk, I get OS corrupted errors.

Using caiman (Pixel 9 Pro), newest stable Graphene (2024120400), and as I said before, both rootless and Magisk.

If you need any other information, let me know!

@pixincreate
Copy link
Owner Author

Could be user error, but I can't seem to get this working. I was able to get rooted-graphene working, so it's certainly possible on the device. On both rootless and magisk, I get OS corrupted errors.

Using caiman (Pixel 9 Pro), newest stable Graphene (2024120400), and as I said before, both rootless and Magisk.

If you need any other information, let me know!

Hi, I believe this has to be an user error. If you can get rooted-graphene working, then PixeneOS should work since this project is inspired from that.

If its not asking too much, do you mind retrying once from scratch? You can follow the guide given in the README.

Also, it would be helpful if you could verify switching between root and rootless in PixeneOS since you should not need to do adb sideload but rather, change the OTA URL.

@ravynhardcastle
Copy link

ravynhardcastle commented Dec 9, 2024

I've retried from scratch multiple times, I'm afraid; I'd love to test switching between rooted and rootless but I can't even get into PixeneOS at the moment. Perhaps something about my build process is wrong?

If you built caiman builds on your repository I might be able to try and test those to see if there is a difference.

@pixincreate
Copy link
Owner Author

pixincreate commented Dec 10, 2024

Hey, I recommend using a Linux based distro if you're trying this in local since I found a lot of compatibility issues with macOS and Windows.

I would suggest you to provide me the steps that you did to build the OTA.

And yeah, I highly recommend trying the switch on a newly flashed OS since the possibility of losing data is nil.

I can trigger a build for you.

Edit: rootless build. Provide magisk_preinit_device and I'll trigger a root build.

@ravynhardcastle
Copy link

ravynhardcastle commented Dec 10, 2024

Of course, yeah, everything I've been testing has been on an OS that has been flashed very many times, there is absolutely no data at stake here.

sda10 is the code for my build.

The steps I did to build the OTA were simply clone the repository and switch out the varaibles to be of my build, swap out the keys, set up renovate, set up the repository to link to it's own website, and then build using Github Actions. I wasn't able to get it working locally on linux for some reason, so I opted for doing it over github instead.

That being said, I am using windows for the actual fastboot functions, but I could bring out my linux laptop and try that, though I'm not 100% sure if that's the issue, but if you think it's worth trying, I could.

I just finished flashing, using exactly the instructions given (albeit, I don't know what avb_custom_key I should be flashing; but evidently I don't think this is the issue, as it won't even boot with an unlocked bootloader as is), and I still receive the:

Your device is corrupt. It can't be trusted and may not boot properly.

into the infinite google logo. Base graphene works, rooted-graphene works, base pixel works, et cetera, but for some bizarre reason, pixene isn't working.

To be clear: I am flashing grapheneOS's factory image from it's newest stable version, then extracting pixeneOS, then flashing pixeneOS, then swapping out the keys, then starting the phone. I haven't been locking the bootloader yet because there isn't any point if I can't even boot into it with the bootloader unlocked (but of course, I tested locking the bootloader, and there was no difference.)

@pixincreate
Copy link
Owner Author

pixincreate commented Dec 10, 2024

This is weird. Can you help me with the logs of the build? I would suggest sharing the logs of the actions so that I can have a peek. I'm able to trigger the build via GitHub Actions with just the device code name (caiman).

Anyway, I'll trigger a root build now and update the same here.

Link to root build

Root build is failing because of missing chargelimit module. I believe this needs to be updated.

@ravynhardcastle
Copy link

Yeah, I've made it public on my profile, you should just be able to peek from there, I don't think I've made the logs private.

Either way, in this case I was testing the build that you had made, so you should already have the logs of what I was just testing. I suspected it might have had something to do with the magisk fork you had made, which wasn't seeming to work when I was manually trying to use the apk earlier (on bare rooted-grapheneos), but rootless wasn't working, so if that is an issue, then it's a completely different one. If there's any specific logs I can help you with other than what you have let me know.

@pixincreate
Copy link
Owner Author

I'm sorry, I do not feel we're on same page.

Based on the previous reports, my fork of Magisk works fine without any issues on GrapheneOS.

The initial build that I provided earlier contains does not contain root. But it does have the Magisk modules installed (Custota, MSD, etc.,) and yes, I could see no build errors / warnings.

The upstream script was updated today resulting in PixeneOS break (I need to fix this from my end).

@ravynhardcastle
Copy link

Totally, we're on the same page -- I was just saying things it couldn't be.

Indeed, yeah, I'm sure that if I could get the rootless build working, the root build would work as well. I just can't get any build working. I did in fact test this first yesterday, but I will absolutely test it again after you get it fixed to see if it changes anything. To be clear -- I'm not trying to get root working (yet), I'm just trying to get rootless working, as you said.

Since you bring up modules, is it possible that one of the modules could be causing this? Since, as I understand, the modules are the only differences between GrapheneOS on the rootless build.

@pixincreate
Copy link
Owner Author

pixincreate commented Dec 11, 2024

Did you try my rootless build that was posted above (asking again because it did not throw any errors while patching)? Also I recommend you follow official avbroot guide this time since you couldn't get it working with the guide provided here at PixeneOS.

No, I do not think so. Modules should not be causing any issues here given that it is injected into the system by patching the OTA. So, modules are existent in both the build flavors.

I also wanted to know about the keys that you're using. There exist 100% chance that if, even a slight mistake is done while generating the keys, it can result in catastrophic results. And yes, you're expected put in base64 encoded keys in github secrets (just so you're aware)

@ravynhardcastle
Copy link

Just in case we still have a misunderstanding, let me clarify once more:
Yes, I tried the rootless build you provided above. It has the same error as the one I made myself.
Both root and rootless builds of PixeneOS give the same OS is corrupted error.

The reason I bring up the modules is because those modules are not in base GrapheneOS. The difference between PixeneOS rootless and the GrapheneOS factory image is the modules, and nothing else, right? So I suspected one of those modules might be it.

When I get some availability later today or tomorrow, I'll try using the avbroot instructions specifically.

@pixincreate
Copy link
Owner Author

There exist only a few modules and based on the previous reports, they shouldn't be causing any issues whatsoever.

The only difference that GrapheneOS has with this project is:

  • You're using your own custom keys (to receive OTA, you need to flash AVB custom key, this might be causing OS corrupt messages and I highly suspect this) -- AVB custom key, certificates and etc.,
  • Few necessary modules (Custota for receiving OTA updates, MSD and others exist because, at present I do not support disabling that since upstream mandates it)

@ravynhardcastle
Copy link

I've been using the AVB key that I generated using the tool on this repository locally on my linux build.

Thinking about the rootless build that you linked earlier -- is there any specific key I should be using, or is the one I generated locally fine?

@pixincreate
Copy link
Owner Author

May be, I should be making my public key, public...?

For now, I highly recommend you using your own generated keys until I make my public keys public so that builds from my repo can be used...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Extra attention is needed Test Requires testing.
Projects
None yet
Development

No branches or pull requests

3 participants