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

    Porting Ubuntu Touch on Samsung Nexus 10 Tablet

    Scheduled Pinned Locked Moved Porting
    9 Posts 5 Posters 2.4k 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
        aravind_kamble
        last edited by

        Hi All,

        I wanted to install Ubuntu Touch on Nexus 10 device. Fortunately I found that there is no out of the box port available (I always wanted to build from source manually then install). So I started following the instructions given in https://docs.halium.org/en/latest/porting/first-steps.html

        I reached to a point where I am suppose to create new manifest file. I am facing issues in understanding how to create it for my device. I figured that the device repository which is https://github.com/LineageOS/android_device_samsung_manta and downloaded the lineage.dependencies file. In that file I was able to get the path and repository names for the dependencies. But I am not able to figure out what I should enter for variable "remote".

        Currently following is what I have in file halium/devices/manifests/samsung_manta.xml

        <?xml version="1.0" encoding="UTF-8"?>
        <manifest>
        
        <project path="device/samsung/manta" name="android_device_samsung_manta" remote="[remote]" />
        <project path="kernel/samsung/manta" name="android_kernel_samsung_manta" remote="[remote]" />
        <project path="external/stlport" name="android_external_stlport" remote="[remote]" />
        <project path="hardware/samsung_slsi/exynos5" name="android_hardware_samsung_slsi_exynos5" remote="[remote]" />
        
        </manifest>
        

        I need help in putting together this file. Can someone help me with this please. I am using Ubuntu 18.04 OS.

        Thanks,
        Aravind

        1 Reply Last reply Reply Quote 0
        • U Offline
          UniSuperBox
          last edited by

          I feel like I should start by saying that there was support for 'manta' (your device) previously, but it became too much overhead and was dropped. The Tegra chipset's drivers just had too many issues. This isn't strictly to discourage you, just to let you know of the history.

          The remote tag specifies where a given repository should be fetched from. Its fetch URL is prepended to the name= attribute of a <project>. So, in this case, you're looking for the los remote, which has a fetch URL of https://github.com/LineageOS. This makes your final URL https://github.com/LineageOS/android_device_samsung_manta.

          A dobeyD 2 Replies Last reply Reply Quote 0
          • A Offline
            aravind_kamble @UniSuperBox
            last edited by

            @UniSuperBox Thanks for replying. You mentioned that the support for manta is dropped. Does that mean I cannot download the code and compile and successfully install on Nexus 10. I may need to buy a supported tablet otherwise. I did see other posts here in the forum where some people did try installing on Nexus 10 but failed.

            1 Reply Last reply Reply Quote 0
            • U Offline
              UniSuperBox
              last edited by

              What I mean is that a port was done previously, I think using Android 4.2, but that has been dropped. You can still download the code and make a new port.

              1 Reply Last reply Reply Quote 0
              • dobeyD Offline
                dobey @UniSuperBox
                last edited by

                @UniSuperBox said in Porting Ubuntu Touch on Samsung Nexus 10 Tablet:

                The Tegra chipset's drivers just had too many issues. This isn't strictly to discourage you, just to let you know of the history.

                Isn't Nexus 10 Exynos though?

                2012 Nexus 7 (grouper) is Tegra, but there's only mention of Exynos on https://en.wikipedia.org/wiki/Nexus_10

                S 1 Reply Last reply Reply Quote 0
                • S Offline
                  Stefano @dobey
                  last edited by

                  @dobey Exynos 5250 dual, 2GB Ram, 5.1 Android

                  1 Reply Last reply Reply Quote 0
                  • U Offline
                    UniSuperBox
                    last edited by

                    Oh. Whoops.

                    Either way, everything I said stands but switch Tegra with Exynos. 😛

                    1 Reply Last reply Reply Quote 1
                    • A Offline
                      aravind_kamble
                      last edited by

                      After a few days gap (busy with office work) I got back to the porting task. Finally after following the steps mentioned by UniSuperBox, I created a manifest file which looks as below

                      <?xml version="1.0" encoding="UTF-8"?>
                      <manifest>
                      
                      
                      <project path="kernel/samsung/manta" name="android_kernel_samsung_manta" remote="los" />
                      <project path="external/stlport" name="android_external_stlport" remote="los" />
                      <project path="hardware/samsung_slsi/exynos5" name="android_hardware_samsung_slsi_exynos5" remote="los" />
                      
                      
                      </manifest>
                      

                      Now when I initiate the command "./halium/devices/setup manta", I end up getting following errors.

                      aravind@UbuntuTouch:~/halium$ ./halium/devices/setup manta
                      *****************************************
                      I: Configuring for device samsung_manta
                      *****************************************
                      
                      ... A new repo command ( 1.25) is available.
                      ... You should upgrade soon:
                      
                          cp /home/aravind/halium/.repo/repo/repo /usr/bin/repo
                      
                      fatal: duplicate path external/stlport in /home/aravind/halium/.repo/manifest.xml
                      
                      ... A new repo command ( 1.25) is available.
                      ... You should upgrade soon:
                      
                          cp /home/aravind/halium/.repo/repo/repo /usr/bin/repo
                      
                      fatal: duplicate path external/stlport in /home/aravind/halium/.repo/manifest.xml
                      *******************************************
                      *******************************************
                      aravind@UbuntuTouch:~/halium$
                      

                      Then I figured the error are because of similar entries existing for stlport in files
                      halium/devices/manifests/samsung_manta.xml
                      AND
                      halium/.repo/manifest.xml

                      Now I removed the entry for stlport in file halium/.repo/manifest.xml, then tried the command "./halium/devices/setup manta"... now I see following erros

                      aravind@UbuntuTouch:~/halium$ ./halium/devices/setup manta
                      *****************************************
                      I: Configuring for device samsung_manta
                      *****************************************
                      
                      ... A new repo command ( 1.25) is available.
                      ... You should upgrade soon:
                      
                          cp /home/aravind/halium/.repo/repo/repo /usr/bin/repo
                      
                      Fetching projects:   8% (14/172)error: info is different in /home/aravind/halium/.repo/projects/external/stlport.git vs /home/aravind/halium/.repo/project-objects/android_external_stlport.git
                      error: Cannot fetch android_external_stlport (GitError: --force-sync not enabled; cannot overwrite a local work tree. If you're comfortable with the possibility of losing the work tree's git metadata, use `repo sync --force-sync external/stlport` to proceed.)
                      Exception in thread Thread-26:
                      Traceback (most recent call last):
                        File "/usr/lib/python2.7/threading.py", line 801, in __bootstrap_inner
                          self.run()
                        File "/usr/lib/python2.7/threading.py", line 754, in run
                          self.__target(*self.__args, **self.__kwargs)
                        File "/home/aravind/halium/.repo/repo/subcmds/sync.py", line 282, in _FetchProjectList
                          success = self._FetchHelper(opt, project, *args, **kwargs)
                        File "/home/aravind/halium/.repo/repo/subcmds/sync.py", line 327, in _FetchHelper
                          prune=opt.prune)
                        File "/home/aravind/halium/.repo/repo/project.py", line 1261, in Sync_NetworkHalf
                          self._InitGitDir(force_sync=force_sync)
                        File "/home/aravind/halium/.repo/repo/project.py", line 2366, in _InitGitDir
                          raise e
                      GitError: --force-sync not enabled; cannot overwrite a local work tree. If you're comfortable with the possibility of losing the work tree's git metadata, use `repo sync --force-sync external/stlport` to proceed.
                      
                      Fetching projects:  15% (26/172)
                      error: Exited sync due to fetch errors
                      
                      ... A new repo command ( 1.25) is available.
                      ... You should upgrade soon:
                      
                          cp /home/aravind/halium/.repo/repo/repo /usr/bin/repo
                      
                      Syncing work tree:  44% (76/171)Traceback (most recent call last):
                        File "/home/aravind/halium/.repo/repo/main.py", line 547, in <module>
                          _Main(sys.argv[1:])
                        File "/home/aravind/halium/.repo/repo/main.py", line 522, in _Main
                          result = repo._Run(argv) or 0
                        File "/home/aravind/halium/.repo/repo/main.py", line 184, in _Run
                          result = cmd.Execute(copts, cargs)
                        File "/home/aravind/halium/.repo/repo/subcmds/sync.py", line 855, in Execute
                          project.Sync_LocalHalf(syncbuf, force_sync=opt.force_sync)
                        File "/home/aravind/halium/.repo/repo/project.py", line 1383, in Sync_LocalHalf
                          revid = self.GetRevisionId(all_refs)
                        File "/home/aravind/halium/.repo/repo/project.py", line 1365, in GetRevisionId
                          rev = rem.ToLocal(self.revisionExpr)
                        File "/home/aravind/halium/.repo/repo/git_config.py", line 700, in ToLocal
                          raise GitError('remote %s does not have %s' % (self.name, rev))
                      error.GitError: remote los does not have refs/heads/cm-14.1
                      *******************************************
                      *******************************************
                      aravind@UbuntuTouch:~/halium$ 
                      

                      Any suggestions?!

                      D 1 Reply Last reply Reply Quote 0
                      • D Offline
                        doniks @aravind_kamble
                        last edited by

                        @aravind_kamble you probably need the --force-sync as the error message suggests

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