VoLTE Implementation For Google Pixel 3a/3a XL
-
That's a huge time difference! I likewise feel like something is missing. Perhaps looking back at the original Pixel 3a/3aXL Ubuntu Touch 20.04 port could shed some light too. I'm assuming that these should have relatively the same file "structures." A vendor blob should be in there somewhere I'd imagine.
-
Good to know! It is a Mac for whatever that's worth. At the time, I wanted to try something different, and now, I'm missing Linux every time. Hahaha
-
I found some clarification on vendor blobs from this forum post. Perhaps we can glean something from here.
-
@atarilinux I've made some progress, I think. I successfully built halium 12 for bonito and I now have the ubports recovery booting.
I flashed the system.img from the halium build, then formatted the data partition as ext4 and then sideloaded a droidian rootfs on to it but it just came back to recovery. The end of the log file is filled with messages like:
ueventd: Cannot get SELinux label on '/dev/block/mmcblk0p29' device: No data available
So I think it's time to start debugging. Will save that for another time.
I documented the steps for building halium 12 for bonito here:
Building-halium-12-for-bonito -
That's great news! Fantastic progress indeed! I think we will continue building off this port.
I think I've seen a message about SELinux before during my research. Let me see what I can find out on that error message.
-
Some info on ueventd and SE Linux Labels:
https://android.googlesource.com/platform/system/core/+/master/init/README.ueventd.md
Two Additional Troubleshooting steps:
- Look at the partitions to see how they are set up
- Check out boot arguments and the kernel
I also found this which may or may not be helpful.
https://stackoverflow.com/questions/55163930/label-files-on-rootfs-ramdisk-with-selinux-context
-
Granted, I'm not keeping completely current but I didn't think halium was the current/accepted/approved/supported/??? method of porting any more? I thought it was all being compiled into the kernel and done?
Anyway, kudos! I appreciate your efforts and am keeping an eye on this project as I'd like to be using that old Pixel3aXL I have lying around rather than the knoxed Galaxy I keep falling back to.
-
@JayH said in VoLTE Implementation For Google Pixel 3a/3a XL:
Granted, I'm not keeping completely current but I didn't think halium was the current/accepted/approved/supported/??? method of porting any more? I thought it was all being compiled into the kernel and done?
fwiw Halium is still used, It is just that it is no longer needed to build halium itself
-
@atarilinux I suspect it's because I skipped the step in the documentation about setting up the fixup-mountpoints script. I could not find that script anywhere so skipped it just to try to get something booting.
Here's the part I'm talking about:
Include your device in fixup-mountpoints Fixup-mountpoints replaces the aliases of block device nodes in /dev/block/by-name with their literal nodes under /dev/block. This prevents issues caused by by-name not being populated by systemd. First check if the codename of your device is already included in the <BUILDDIR>/halium/hybris-boot/fixup-mountpoints script. If it’s not already included, you will need to add it. Your device should be running LineageOS or another ROM where you can get root access over ADB. Find the fstab file for your device. For my Moto G5 Plus, this was fstab.qcom in device/motorola/potter/rootdir/etc Enable adb root access Create the skeleton for your device in fixup-mountpoints, right before the *): "[codename]") sed -i \ [replacements, one per line] "$@" ;; For every line in fstab where the type is not auto, emmc or swap, run readlink -f [src] on the target device over ADB. [src] is the leftmost colum in fstab. Write all of our replacements, one for every mountpoint. Here’s the bones of one: -e 's [src] [return] ' \ Replace [src] with what you input into readlink and [return] with what it returns. The space after [return] is important. The build fails without it.
I don't have that in the location they mention. I found a fixup-mountpoints script in another project but I don't know that it'll actually be run if I put it in that location as that location doesn't currently exist.
So that's what I'm investigating currently.
-
I tried the halium-install script, too, with a ubports rootfs tarball but it stalled while pushing the system.img over adb (stopped at 5% and stayed there).
-
That makes sense, and it does seem like that's the error. The good news is that it booted to recovery! Let me know if there is anything you need me to look at or research. I'll try my best to assist in any way that I can!
-
Thanks for keeping an eye on the project! I likewise would like to make the switch. I'm sure others may be in the same boat. Definitely send your thanks to @mr_growl for all his hard work! I'm still learning, but helping when and where I can. Being new at this, I know I can't do this on my own in a resonable amount of time. There is a lot to read up on. With the community involved, I'm sure we can make something great!
-
Current state of affairs:
New Build Method (the one here: https://gitlab.com/mr-growl/ubports-ubuntu-touch-google-bonito-volte)
- Builds successfully
- boot.img doesn't boot to anything
What I'd like to research regarding this is:
-
has any other community port used that method to make a successful android 12 port?
-
if so, I'd want to compare their repo to mine and see what I've missed.
-
how are the binary blobs being included in this build method
Old Build Method (the one from the video and the halium website, steps documented here: https://gitlab.com/mr-growl/ubports-ubuntu-touch-google-bonito-volte/-/wikis/Building-halium-12-for-bonito
-
Builds successfully
-
boots into recovery
-
very clear where the vendor blobs need to be added
For this method I need to figure out: -
is the fixup-mountpoints script still relevant and if so, why isn't it in the build folder anywhere
-
are there any obvious flaws with using this method over the new one?
Droidian
-
Documentation is straight forward
-
they provide api 32 (android 12L) rootfs zips that can be aide loaded
-
their deployment instructions are more like lineage (which is a good thing)
What I'd like to find out with them is -
has anyone in their community done a successful halium 12 port to any device
-
why do they have a separate sargo rootfs zip?
-
will an api 28 rootfs work with halium 12 (12.1 should be api 32)
I think my next step is to do a droidian build following their docs and see what happens. I'm presuming that the boot.img produced should also work for ubports.
Anyways... off to work