VoLTE Implementation For Google Pixel 3a/3a XL
-
@Eric-H I had wondered if that was the case (about it just using what was already on the phone). Thanks for that info!
With the stand alone kernel method, I flashed the boot.img but it would not boot into recovery. When i flashed the boot.img from the halium build it did boot the recovery, so I think I've missed something with the stand alone kernel method. I'll have another go at it, keeping in mind what you've said, and see if anything becomes apparent.
Thanks again!
-
@mr_growl
Accordind to the deviceinfo file in your repo, you set systempart, thus you need to flash boot.img to boot and system.img to system (fastbootD might be needed).
And maybe flashing dtbo.img to dtbo is needed too...Have you access to Telegram? You will find help in the group linked in the porting documentation.
-
@Eric-H I tried a build without the systempart section (the droidian porting doc said to remove it) and then tried flashing just the boot.img and rootfs.img in fastbootd mode using these commands:
fastboot flash boot boot.img fastboot flash userdata rootfs.imgAlso tried flashing the sytem.img using
fastboot flash system system.imgBut that always fails saying it can't resize the partition.
If anyone wants to play with the boot.img, it's in the artifacts from my latest build: https://gitlab.com/mr-growl/ubports-ubuntu-touch-google-bonito-volte/-/jobs/11808428371
But it doesn't seem to do anything useful.
I'll try to get on to telegram (it's not letting me in currently). I'm just guessing on the android stuff at the moment. Trying various combinations of images and commands, re-flashing android 12 inbetween attempts.
Thanks all for suggestions on things to try. Much appreciated.
-
Might just go back a step and try getting a halium 9 build working, since I know that should actually work. Then maybe increment from there.
-
@mr_growl
I think halium 12 is required for VoLTE.according to the porting doc and the history of the porting group, without the systempart option you have to
- flash boot img to boot, that's ok.
- rename root.img to ubuntu.img
- push ubuntu.img to userdata with
adb
adapt and launch these command in recovery modeadb shell mount /data; adb push ubuntu.img /data/ - maybe flash dtbo.img to dtbo is required (I suggest to test first without flashing, then flash it if phone does not boot.
- do NOT flash system.img
-
@mr_growl said in VoLTE Implementation For Google Pixel 3a/3a XL:
Might just go back a step and try getting a halium 9 build working
The full system method will be discouraged/deprecated very soon
https://gitlab.com/ubports/docs/docs.ubports.com/-/merge_requests/675 -
To verify, you want me to see what I can find out on a Halium 12 stand-alone kernel method port. Is that correct? Again, thanks for all your hard work on this!
-
Your comments and insight are always appreciated! Thanks for all the help!
-
For information, documentation has been updated.
The "install“ page can be found at
https://docs.ubports.com/en/latest/porting/build_and_boot/standalone_kernel_install.html -
@Eric-H Thank you for the detailed instructions. I very much appreciate it.
Here's what I did:
- boot into android recovery and do factory reset (to remove encryption)
- boot into twrp (fastboot boot twrp.img) and go into terminal
- unmount /data (/dev/block/mmcblk0p72)
- format /data as ext4 (mk2sfs -t ext4 /dev/block/mmcblk0p72)
- remount /data (mount /dev/block/mmcblk0p72 /data)
- confirm it is now mounted at ext4 (mount)
- push renammed rootfs.img to /data (adb push ubuntu.img /data/)
- reboot into bootloader from twrp
- boot into fastbootd (fastboot reboot fastboot)
- flash boot (fastboot flash boot boot.img)
- reboot... this takes me straight to the boot loader
- flash dtbo (fastboot flash dtbo dtbo.img)
- reboot... still goes back to boot loader
I'm doing the formatting to ext4 bit as I read somewhere that it is required (please let me know if this was a mistake)
I'm pushing ubuntu.img before flashing boot.img because flashing boot.img gets rid of recovery and fastbootd.
I'm still feeling like there's a problem with my boot.img, as if I flash the boot.img from my halium build, it actually boots to recovery and fastbootd.
-
@mr_growl
userdata
yes formating /data to ext4 is required at first installation
Just in case maybe retry with fastbootfastboot format:ext4 userdatayou can wipe cache partition too
fastboot format cacheWhat does
dmesg -wreturn on your host computer ?https://docs.ubports.com/en/latest/porting/build_and_boot/Boot_debug.html
When your device boots it will likely stay at the bootloader screen.
[...]
To confirm that your device has booted correctly, on your host computer, run dmesg -w and watch for “GNU/Linux device” in the output. This confirms that you can establish an ssh connection to the device (see below). If you instead get something similar to “Halium initrd Failed to boot”, skip to telnet connection. -
@Eric-H Thank you again!
Here's what dmesg has to say after my last flash attempt:
[ 9780.171034] usb 1-2: new high-speed USB device number 40 using xhci_hcd [ 9781.164612] usb 1-2: New USB device found, idVendor=18d1, idProduct=4ee0, bcdDevice= 1.00 [ 9781.164633] usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 9781.164641] usb 1-2: Product: Pixel 3a XL [ 9781.164648] usb 1-2: Manufacturer: Google [ 9781.164654] usb 1-2: SerialNumber: XXXXXXXXXI'll wipe it again and try again with your last message in mind later. I completely forgot to check to boot debug documentation, so I'll have a read through that again as well.
-
@mr_growl
Which kernel do you use ?
in device info,on one of your gitlab repositories, I see
deviceinfo_kernel_source="https://github.com/mr-growl/android_kernel_google_msm-4.9.git" -
@Eric-H That is a fork of https://github.com/LineageOS/android_kernel_google_msm-4.9 which was what I got when setting up the manifests for the halium build. It came with a bonito_defconfig which I modified according to the stand alone kernel instructions and put in a branch called halium-12.0 . I verified after doing my stand along kernel build that it had indeed checked out that branch.
-
@mr_growl
If I had a pixel 3a, I'll try very quickly to flash/push Alfred's artifacts, and see thedmesgoutput. -
@Eric-H I just happen to know someone wiht a pixel 3a

I tried flashing those artifacts just now and same result.
-
@mr_growl
Don't you see messages about console ?
For exampleopening console: no such device -
@Eric-H I do not. It just sits at the bootloader.
I see the porting documentation has been updated. I might just start again armed with some new insight after playing with other methods.
-
@mr_growl said in VoLTE Implementation For Google Pixel 3a/3a XL:
I do not. It just sits at the bootloader.
It s expected. Doc says
When your device boots it will likely stay at the bootloader screen. -
@Eric-H True... I just don't see any connections appearing (no new network adapters showing up, nothing ususual in dmesg). It's highly possible that my deviceinfo is wrong/out of date. After reading the droidian porting stuff and then reading the updated ubports stuff I can see a few things that I can do differently.