VoLTE Implementation For Google Pixel 3a/3a XL
-
Thanks for checking! Unfortunately, I don't think that's it. I don't see the output beginning with console=.
Did this come from deviceinfo_kernel_cmdline? -
-
@atarilinux Sorry, yes, this is bonito.
and this is the only legible string in the boot.img file that looks anything like your example. It starts at 0x40 in the file. No deviceinfo_kernel_cmdline.
The builds for both 19.1 and 22.2 contain the following line in BoardConfig-common.mk (I was unable to locate a boot.img for 19.1):
BOARD_KERNEL_CMDLINE += console=ttyMSM0,115200n8 androidboot.console=ttyMSM0 printk.devkmsg=onBoardConfig-common.mk:40:BOARD_KERNEL_CMDLINE += console=ttyMSM0,115200n8 androidboot.console=ttyMSM0 printk.devkmsg=on BoardConfig-common.mk:41:BOARD_KERNEL_CMDLINE += msm_rtb.filter=0x237 BoardConfig-common.mk:42:BOARD_KERNEL_CMDLINE += ehci-hcd.park=3 BoardConfig-common.mk:43:BOARD_KERNEL_CMDLINE += service_locator.enable=1 BoardConfig-common.mk:44:BOARD_KERNEL_CMDLINE += firmware_class.path=/vendor/firmware BoardConfig-common.mk:45:BOARD_KERNEL_CMDLINE += cgroup.memory=nokmem BoardConfig-common.mk:47:BOARD_KERNEL_CMDLINE += lpm_levels.sleep_disabled=1 BoardConfig-common.mk:48:BOARD_KERNEL_CMDLINE += loop.max_part=7 BoardConfig-common.mk:49:BOARD_KERNEL_CMDLINE += androidboot.boot_devices=soc/7c4000.sdhci
It looks like lineageOS has been using the same kernel for bonito builds since lineageOS 16
-
It looks kind of similar. Here is one from a UB Ports sample file that I am using for reference.
deviceinfo_kernel_cmdline="console=ttyMSM0,115200n8 earlycon=msm_geni_serial,0xA84000 androidboot.console=ttyMSM0 printk.devkmsg=on androidboot.hardware=qcom video=vfb:640x400,bpp=32,memsize=3072000 androidboot.configfs=true loop.max_part=7 msm_rtb.filter=0x237 ehci-hcd.park=3 service_locator.enable=1 androidboot.memcg=1 cgroup.memory=nokmem androidboot.usbcontroller=a600000.dwc3 swiotlb=2048 androidboot.boot_devices=soc/1d84000.ufshc systempart=/dev/mapper/system"
-
Please see below. Does this look like what you need for device_info_kernel_cmdline? Will this complete the device_info file?
@JayH said in VoLTE Implementation For Google Pixel 3a/3a XL:
@atarilinux From the boot.img on lineageOS 22.2-20250817 with working Verizon SIMM:
console=ttyMSM0,115200n8 androidboot.console=ttyMSM0 printk.devkmsg=on msm_rtb.filter=0x237 ehci-hcd.park=3 service_locator.enable=1 firmware_class.path=/vendor/firmware cgroup.memory=nokmem lpm_levels.sleep_disabled=1 loop.max_part=7 androidboot.boot_devices=soc/7c4000.sdhci androidboot.super_partition=system
-
@atarilinux Here's the one extracted from the lineage 19.1 signed zip that I used to flash the phone:
deviceinfo_kernel_cmdline="console=ttyMSM0,115200n8 androidboot.console=ttyMSM0 printk.devkmsg=on msm_rtb.filter=0x237 ehci-hcd.park=3 service_locator.enable=1 firmware_class.path=/vendor/firmware cgroup.memory=nokmem lpm_levels.sleep_disabled=1 loop.max_part=7 androidboot.boot_devices=soc/7c4000.sdhci androidboot.super_partition=system buildvariant=userdebug"
That is lineage 19.1 (android 12.1) on bonito.
-
@atarilinux And a lineage 19.1 sargo for good measure
deviceinfo_kernel_cmdline="console=ttyMSM0,115200n8 androidboot.console=ttyMSM0 printk.devkmsg=on msm_rtb.filter=0x237 ehci-hcd.park=3 service_locator.enable=1 firmware_class.path=/vendor/firmware cgroup.memory=nokmem lpm_levels.sleep_disabled=1 loop.max_part=7 androidboot.boot_devices=soc/7c4000.sdhci androidboot.super_partition=system buildvariant=userdebug"
-
Great! Thanks so much!
-
@atarilinux @mr_growl @JayH
There is a script to extract command line args and other needed fields.
See at https://docs.ubports.com/en/latest/porting/build_and_boot/standalone_kernel_build.html#extracting-values-from-stock-boot-img-vendor-boot-img -
The GitLab has been updated. It looks like we are ready for the build now, right?
https://gitlab.com/atarilinux/ubports-ubuntu-touch-google-sargo-volte/-/blob/main/deviceinfo
-
I'm performing this step now. I'm currently waiting on it to complete.
@Eric-H said in VoLTE Implementation For Google Pixel 3a/3a XL:
Now that the project has been forked, you can proceed to step 2.
In the new fork, in the left menu, go to Build->Pipelinesclick on new pipeline button. confirm. Wait - the build process might take several tens of minutes. .img files can be downloaded from the devel-flashable artifact
I'm assuming the step you listed above handles this part from the documentation, now?
Building, installing and running
After you’ve completed your deviceinfo and filled in all needed stuff, its time you get to the main part, the build. For this just run: ./build.sh -b workdir
That should download all the needed toolchains and then the kernel, and finally build everything. This process may take about 5 to 50 minutes to build the kernel.
After your kernel is done building, you will have to build the rootfs. For this, just execute this:
./build/prepare-fake-ota.sh out/device_<your device's codename>_usrmerge.tar.xz ota This will download the rootfs, extract it and pack it into tarballs for our final script to create flashable images.
Next up, run:
./build/system-image-from-ota.sh ota/ubuntu_command images This will convert the tarballs into flashable images, and your images will be stored in the images/ directory. There will be a number of files depending on how you configured your deviceinfo. But the basic file structure will be as given:
images/
├── boot.img
├── rootfs.img
└── system.imgThe boot.img will be flashed onto the boot partition of the phone. The system.img and rootfs.img are interchangable. rootfs.img is pushed to the data partition as ubuntu.img if you didn’t include systempart in deviceinfo’s cmdline. Otherwise, system.img is flashed to your system partition.
-
It looks like the pipeline is stuck. I'm getting this on GitLab:
"This job is stuck because of one of the following problems. There are no active runners online, no runners for the protected branch , or no runners that match all of the job's tags: ubports
Go to project CI settings"