• Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Register
  • Login
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 18 Jul 2019, 07:31

      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 19 Jul 2019, 00:39

        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 D 2 Replies Last reply 19 Jul 2019, 04:54 Reply Quote 0
        • A Offline
          aravind_kamble @UniSuperBox
          last edited by 19 Jul 2019, 04:54

          @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 19 Jul 2019, 13:53

            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
            • D Offline
              dobey @UniSuperBox
              last edited by 20 Jul 2019, 17:30

              @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 20 Jul 2019, 18:06 Reply Quote 0
              • S Offline
                Stefano @dobey
                last edited by 20 Jul 2019, 18:06

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

                1 Reply Last reply Reply Quote 0
                • U Offline
                  UniSuperBox
                  last edited by 20 Jul 2019, 18:29

                  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 1 Aug 2019, 15:32

                    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 11 Aug 2019, 14:24 Reply Quote 0
                    • D Offline
                      doniks @aravind_kamble
                      last edited by 11 Aug 2019, 14:24

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

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