UBports Robot Logo UBports Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    • Register
    • Login

    VoLTE Implementation For Google Pixel 3a/3a XL

    Scheduled Pinned Locked Moved Google Pixel 3a/3a XL
    volte
    119 Posts 14 Posters 8.9k Views 2 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
      Reply
      • Reply as topic
      Log in to reply
      This topic has been deleted. Only users with topic management privileges can see it.
      • A Offline
        atarilinux @mr_growl
        last edited by

        @mr_growl

        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?

        1 Reply Last reply Reply Quote 0
        • A Offline
          atarilinux @JayH
          last edited by

          @JayH @mr_growl

          Thanks! This looks like what we need! Is this from a Google Pixe 3a? Also, I wonder if there is any difference in the output between this and Lineage OS 19.1.

          J 1 Reply Last reply Reply Quote 0
          • J Offline
            JayH @atarilinux
            last edited by JayH

            @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=on

            BoardConfig-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

            A 1 Reply Last reply Reply Quote 0
            • A Offline
              atarilinux @JayH
              last edited by

              @JayH

              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"

              1 Reply Last reply Reply Quote 0
              • A Offline
                atarilinux
                last edited by

                @ElliotLurie @Eric-H

                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

                Eric HE 1 Reply Last reply Reply Quote 0
                • M Offline
                  mr_growl @atarilinux
                  last edited by

                  @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.

                  1 Reply Last reply Reply Quote 1
                  • M Offline
                    mr_growl @atarilinux
                    last edited by

                    @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"
                    
                    1 Reply Last reply Reply Quote 1
                    • A Offline
                      atarilinux
                      last edited by

                      @mr_growl

                      Great! Thanks so much!

                      1 Reply Last reply Reply Quote 0
                      • Eric HE Offline
                        Eric H @atarilinux
                        last edited by

                        @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

                        • Ubuntu Touch for Xiaomi POCO X3 NFC Telegram group
                        • Ubuntu Touch installation guide for Xiaomi POCO X3 NFC / X3
                        A 1 Reply Last reply Reply Quote 0
                        • A Offline
                          atarilinux @Eric H
                          last edited by

                          @Eric-H

                          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

                          Eric HE 1 Reply Last reply Reply Quote 0
                          • A Offline
                            atarilinux @Eric H
                            last edited by

                            @Eric-H

                            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->Pipelines

                            click 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.img

                            The 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.

                            A 1 Reply Last reply Reply Quote 0
                            • A Offline
                              atarilinux @atarilinux
                              last edited by

                              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"

                              A Eric HE 2 Replies Last reply Reply Quote 0
                              • A Offline
                                atarilinux @atarilinux
                                last edited by

                                I got a runner and tried to run it, but the build failed. I may need some assistance with Gitlab as I haven't used it before. I'm more used to building on a local machine. It will take me a while to read up on it, and I don't want to slow anyone down.

                                Here are the changes I made to deviceinfo if someone wants to fork and try it on their own:

                                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=user"
                                
                                deviceinfo_bootimg_header_version="2"
                                deviceinfo_bootimg_os_version="12.0.0"
                                deviceinfo_bootimg_os_patch_level="2022-05"
                                
                                

                                This was taken from sargo-sp2a.220505.008-factory-071e368a which is the September 2022 build -
                                12.1.0 (SP2A.220505.008, Sep 2022).

                                M 1 Reply Last reply Reply Quote 1
                                • M Offline
                                  mr_growl @atarilinux
                                  last edited by

                                  @atarilinux I haven't done much with gitlab but have experience with github runners. I'll try to get something going this weekend. I gather the error in your last build is due to not running as the root user. Maybe try putting a "sudo" in front of the apt commands in .gitlab-ci.yml ?

                                  A 1 Reply Last reply Reply Quote 0
                                  • Eric HE Offline
                                    Eric H @atarilinux
                                    last edited by

                                    @atarilinux
                                    unsure but maybe systempart=/dev/mapper/system is missing in cmdline

                                    from porting Telgram Group :

                                    system.img and rootfs.img are the same thing from a fastboot POV. your userdata should be freshly formatted as ext4, but yes that's what the bottom of the doc also explains, which one you need and how to flash it depends on if you included e.g. systempart=/dev/mapper/system on cmdline for devices with super partition

                                    also unsure about other fields

                                    • Ubuntu Touch for Xiaomi POCO X3 NFC Telegram group
                                    • Ubuntu Touch installation guide for Xiaomi POCO X3 NFC / X3
                                    A 1 Reply Last reply Reply Quote 0
                                    • Eric HE Offline
                                      Eric H @atarilinux
                                      last edited by

                                      @atarilinux
                                      it seem this this file should be updated too :
                                      https://gitlab.com/atarilinux/ubports-ubuntu-touch-google-sargo-volte/-/blob/main/.gitlab-ci.yml

                                      • Ubuntu Touch for Xiaomi POCO X3 NFC Telegram group
                                      • Ubuntu Touch installation guide for Xiaomi POCO X3 NFC / X3
                                      A 1 Reply Last reply Reply Quote 1
                                      • A Offline
                                        atarilinux @mr_growl
                                        last edited by atarilinux

                                        @mr_growl

                                        That's what I'm thinking too. When I looked at it again today, it looked like permission was denied because it wasn't running as sudo. I was using the runner on my local machine. I noticed it didn't prompt me for my password which was interesting. So, yes, we probably need to add sudo to the file.

                                        1 Reply Last reply Reply Quote 0
                                        • A Offline
                                          atarilinux @Eric H
                                          last edited by

                                          @Eric-H

                                          Thanks for the info! Just to verify, should work for a retro-fitted partition too, right? I'll check this out in the file and see if I can find anything else that may need to be added.

                                          Eric HE 1 Reply Last reply Reply Quote 0
                                          • A Offline
                                            atarilinux @Eric H
                                            last edited by

                                            @Eric-H

                                            Thanks! I was looking at that one when I was messing with the runner. Good to know we are on the right track with thinking something was going on with that part!

                                            1 Reply Last reply Reply Quote 0
                                            • Eric HE Offline
                                              Eric H @atarilinux
                                              last edited by

                                              @atarilinux
                                              https://lucaweiss.eu/post/2023-03-30-retrofit-dynamic-partition/

                                              • Ubuntu Touch for Xiaomi POCO X3 NFC Telegram group
                                              • Ubuntu Touch installation guide for Xiaomi POCO X3 NFC / X3
                                              A 1 Reply Last reply Reply Quote 1
                                              • First post
                                                Last post