Porting Ubuntu Touch on Samsung Nexus 10 Tablet
-
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 -
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 thename=
attribute of a<project>
. So, in this case, you're looking for thelos
remote, which has afetch
URL ofhttps://github.com/LineageOS
. This makes your final URLhttps://github.com/LineageOS/android_device_samsung_manta
. -
@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.
-
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.
-
@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
-
@dobey Exynos 5250 dual, 2GB Ram, 5.1 Android
-
Oh. Whoops.
Either way, everything I said stands but switch Tegra with Exynos.
-
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.xmlNow 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?!
-
@aravind_kamble you probably need the
--force-sync
as the error message suggests