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
    154 Posts 14 Posters 21.9k Views 4 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.
      • M Offline
        mr_growl @atarilinux
        last edited by mr_growl

        @atarilinux Ya, my first build was on a very low spec machine. It can be done but is not fun 🙂

        I'm taking a page out of what you said earlier and am going on a mission to try to understand the process a bit more. I'm starting with building lineage os 19.1. The instructions seem pretty straight forward so seems like a good place to start.

        Documenting the steps I ran to get a working lineage 19.1 bonito build on ubuntu server 22.04 here:
        https://gitlab.com/mr-growl/ubports-ubuntu-touch-google-bonito-volte/-/wikis/Building-Lineage-19.1-for-Bonito

        This is being run on a system with < 8GB ram, so included steps to make a big swapfile at the top. VM specs are 2 i5 cores, 240GB disk, 7GB ram, 24GB swapfile

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

          @mr_growl

          Yeah, max RAM I have is 16GB, but on an ARM based computer. With this one, I would have to virtualize x64 which would have a knock on performance. The main x64 Linux computer has 8GB. Not ideal. Let's just say I have been on the market for a better computer for a while. Hahaha

          Let me see what I can work out. Thanks for the steps and the build!

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

            @mr_growl

            Looks like I got something running in a virtual machine, but it is very, very slow probably due to the instruction translations to the ARM processor among other factors. Needless to say, it can run, but it will take forever under these specs if it doesn't crash. I've been eyeing a desktop PC for a while. I might have to take the plunge when the means become available. If I can't get this to work on my hardware, I will let you know.

            M 1 Reply Last reply Reply Quote 0
            • IanI Ian referenced this topic
            • M Offline
              mr_growl @atarilinux
              last edited by

              @atarilinux Memories of building linux kernel in the 90s 🙂

              The lineage build is taking me a lot more time to build than the ubports one but I'm still plodding along on that for now. I'm hoping the lineage build will be an enlightening endeavour 🙂

              One part about the ubports build that I'm unsure about is the vendor blobs. With the lineage build I extraced the blobs from my phone and added them into the source but I haven't noticed a step like that for the ubports build.

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

                @mr_growl

                Hahaha It definitely feels like the 90s! I better get some techno or grunge playing while I'm working on this. Hahaha

                Yes, when comparing different alternative OS builds, I noticed the same thing. I got stuck on where exactly these should go as I didn't notice anything similar in the Ubuntu Touch documentation. That led me back to trying to trace the original port and other ports to see what happens where and where these vendor blobs should go. Also, I don't know the last time the documentation has been reviewed and updated. For example, I still see the Nexus being referenced and that is from 16.04. I'm not sure how much has changed since then on the porting side. Also, there may be some things that could be left out either by accident or "like, of course, you should know you have to do XYZ, why do I need to write that?" which may confuse the new or average user. This is not a problem limited to just Ubuntu Touch. Other systems have similar omissions in their documentation sometimes. Overall, the documentation so far is great, but I do notice there are some places where I'm having questions, and it sounds like it is not just me. Maybe reading additional material is confusing me? I'm not sure. Anyway, I'll see what I can find out, and if I notice anything, I'll post it here.

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

                  @mr_growl

                  I did find this in the forum as a Port QA Checklist. Still looking into the vendor blobs.

                  https://gitlab.com/ubports/community-ports/general/-/blob/master/DeviceChecklist.md

                  M 2 Replies Last reply Reply Quote 0
                  • M Offline
                    mr_growl @atarilinux
                    last edited by

                    @atarilinux I've just finished and flashed my own build of lineage 19.1... for comparison, the ubports build takes me about 1 hour... the lineage build took closer to 20 hours on the same machine... so I really feel like something might be missing 🙂

                    That said, it may be that the lineage build is building everything where as the ubports build is downloading the GSI rootfs and such... I dunno... still learning.

                    I think my next step is to follow the halium documentation and correlate that with the Droidian porting documentation. I do have a suspicious about where and when the blobs might need to be added but just need to go over everything again and let it sink in a bit. Anything I discover I'll document on the wiki for the repo I'm working in on gitlab and will link to here.

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

                      @atarilinux Also worth mentioning for your setup... in the Droidian porting guide is mentions:

                      this guide assumes that you're going to cross-compile an arm64 Android kernel on an x86_64 (amd64) machine using the Android-supplied precompiled toolchain that's available in the Droidian repositories. It's trivial to disable cross-compiling and compiling using the standard Debian toolchain.
                      

                      which says to me that you can compile it on your arm64 machine without having to use any x86 stuff.

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

                        @mr_growl

                        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.

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

                          @mr_growl

                          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

                          1 Reply Last reply Reply Quote 0
                          • First post
                            Last post