GSI for not yet supported treble phones [2020/06/14]

coming from the fairphone 3 section, and can’t wait for an official build. therefore thinking about installing this GSI.
two questions:

  1. will there be OTA updates inside the GSI?

  2. @Manoj, why is GSI/treble not officially supported? with a good guide you’d directly support lots of new devices as soon as they are rootable - and you could add a lot of new devices to the “supported” list.

No. Because there will be no official GSI in near future

And I’m not sure that the available GSI is a full eOS GSI, because as far as I know, the patching of e-sources doesn’t work. As far as,I know, it’s an LOS GSI with eOS apps and design

Some of our users tried to build a GSI with the articles available on XDA and the web but were not very successful. We have a small dev team, one of our team member did put some time around it but due to his other commitments was not able to focus completely on it.
I would suggest users who are technically inclined to do some builds and try out building a perfect GSI for /e/. It would be a help for all.

well. I understand. and I don’t really know whether this is a good idea, but treble sounds really… “easy” to support to me.
did you see the list of devices you could just get into your “supported devices” list by providing only one good GSI?

grafik
I didn’t want to put the whole list here because this list is quite huge. therefore I just added the devices that were discussed in the last 10 days in the device request section.

edit: the linked list above is not even complete. I just added the Fairphone 3.

1 Like

Try building a GSI with eOS sources and you will see, it’s hard, very hard to build. I have tried several hours/days but always stuck at point of patching.

New release of GSI:

a64_a for a with 64 binders with a scheme
a64_b for a with 64 binders with a/b scheme
arm_a for arm with a scheme
arm_b for arm with a/b scheme
arm64_a for arm64 with a scheme
arm64_b for arm64 with a/b scheme

2 Likes

have you build with build-dakkar.sh ? I’m always getting an error with it

/treble_experimentations/build-dakkar.sh: line 409: jq: command not found

EDIT: Seems, that the dakkar build is onyl working for some AOSP versions. All others are running into the same error.

See my second post, I’ve updated my builds instructions

Thx, I have seen, but the dakkar script isn’t using it

I don’t know about the dakkar script, I don’t use it :slight_smile:

Don’t get it running. All scripts running into errors

bash treble_experimentations/build-rom.sh android-9 e-pie

bash treble_build_los/buildbot_treble.sh e-pie

bash treble_experimentations/build-dakkar.sh e-pie arm64-aonly-floss-nos

what is the result of
bash treble_build_los/buildbot_treble.sh
?

Thousand errors. .’’…

I have all sources in folder PIE.
I have cloned the gsi build folder into PIE folder
I have started all the 3 commands from PIE folder

try

git clone https://github.com/phief/e_gsi_localmanifest .repo/local_manifests

instead of

git clone https://github.com/phief/e_gsi_localmanifest .repo/local-manifests

(the underscore)

then

repo sync -j2 -f

repo sync error: Fetching projects: 0% (2/698) device_phh_treblefatal: Couldn’t find remote ref refs/heads/lineage-16.0

Fetching projects: 1% (13/698) platform/frameworks/opt/photoviewerfatal: Couldn’t find remote ref refs/heads/lineage-16.0

Fetching projects: 13% (91/698) platform/external/ipsec-toolserror: Cannot fetch treble_experimentations from https://github.com/phhusson/treble_experimentations

error: frameworks/base/: prior sync failed; rebase still in progress
error: Cannot checkout e/os/android_frameworks_base
Checking out projects: 96% (676/698) platform/tools/tradefederationerror: info is different in /srv/e/src/PIE/treble_build_los/.git vs /srv/e/src/PIE/.repo/projects/treble_build_los.git
error: Cannot checkout treble_build_los: 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 treble_build_los to proceed.
Traceback (most recent call last):
File “/srv/e/src/PIE/.repo/repo/main.py”, line 628, in
_Main(sys.argv[1:])
File “/srv/e/src/PIE/.repo/repo/main.py”, line 602, in _Main
result = run()
File “/srv/e/src/PIE/.repo/repo/main.py”, line 595, in
run = lambda: repo._Run(name, gopts, argv) or 0
File “/srv/e/src/PIE/.repo/repo/main.py”, line 264, in _Run
result = cmd.Execute(copts, cargs)
File “/srv/e/src/PIE/.repo/repo/subcmds/sync.py”, line 973, in Execute
self._Checkout(all_projects, opt, err_event, err_results)
File “/srv/e/src/PIE/.repo/repo/subcmds/sync.py”, line 562, in _Checkout
self._CheckoutWorker(**kwargs)
File “/srv/e/src/PIE/.repo/repo/subcmds/sync.py”, line 442, in _CheckoutWorker
return self._CheckoutOne(opt, project, *args, **kwargs)
File “/srv/e/src/PIE/.repo/repo/subcmds/sync.py”, line 476, in _CheckoutOne
project.Sync_LocalHalf(syncbuf, force_sync=opt.force_sync)
File “/srv/e/src/PIE/.repo/repo/project.py”, line 1612, in Sync_LocalHalf
self._InitWorkTree(force_sync=force_sync, submodules=submodules)
File “/srv/e/src/PIE/.repo/repo/project.py”, line 3088, in _InitWorkTree
raise e
File “/srv/e/src/PIE/.repo/repo/project.py”, line 3080, in _InitWorkTree
self._CheckDirReference(self.gitdir, dotgit, share_refs=True)
File “/srv/e/src/PIE/.repo/repo/project.py”, line 2974, in _CheckDirReference
‘proceed.’.format(self.relpath))
error.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 treble_build_los to proceed.
root@mint:/srv/e/src/PIE#

that’s weird, it should get e-pie. Can you check this file

.repo/local_manifests/manifest.xml

?

pls see here https://del.dog/tanucystos.txt

What troubles me is that device_phh_treble should checkout e-pie not lineage-16.0

By the way can you check if your repo command is up to date ?

I have updated epro command yesterday befor starting the sync

because now the --force-sync is deprecated so it shouldn’t ask you to use this option, do you use ubuntu ? Which version ? How did you update the repo command ?