Dockerless /e/ build for the Google Pixel 3 XL

I started this journey of learning how to build android and /e/ yesterday, since I wanted to see if it’s possible to degoogle my Pixel 3 XL. I found out that I could use my vps which has much better specs than my local computer to do so. However, because I’m running the Virtualmin control panel on my vps, I don’t think I can use docker (if anyone can confirm what is true about that, I would appreciate it).

So, I’m down to cli commands, it looks like, which in a way, is my preference. Appreciation to @petefoth for pointing me to picomatic’s builde.sh script where it gives one dockerless approach to build /e/.

Where do I get the /e/ source files? Are they here?

-e "REPO=https://gitlab.e.foundation/e/os/releases.git" \
registry.gitlab.e.foundation:5000/e/os/docker-lineage-cicd:community

Or here?
git clone h t t p s://gitlab.e.foundation/e/os/docker-lineage-cicd.git $TMP_DIR/buildscripts

Or here?
git clone --depth=1 h t t p s://gitlab.e.foundation/e/os/android_packages_apps_OpenDelta.git OpenDelta

Also, does anyone know if it’s possible (and if so, how to do) to get keyboard gestures using an old so like the one below within a /e/ build?

h t t p s : / / f o r u m.xda-developers.com/t/guide-how-to-get-enable-googles-gesture-typing-in-aosp-keyboard.2012628/#post-34605586

Regain your privacy! Adopt /e/ the unGoogled mobile OS and online servicesphone

(What follows may not be strictly accurate, but it should give you a ‘good enough’ picture :slight_smile:))

You don’t need to worry about checking out the files needed to build. You get all the source files you need when you do the repo sync operation (whether that’s in Docker or in one of the build scripts used by builde/sh. These files are specified in manifest files, which get pulled in during the the repo init operation. After you have run repo init e.g for a Q build, in directory /workbuild/,you will see a directory /work/build/.repo/manifests, which contains a file called default.xml. (In Docker or builde.sh, this will be srv/scr/Q/.repo/'.)

That is the staring point for repo sync, containing a list of repos, where to find each repo, where in the source tree to check it out to, which version to use. Have a look inside that file, and you will see that the /e/ build pulls in files from the Lineage repos on github, and from /e/'s own repos. It may also pull in files from the Muppets github repos (and gitlab repos fo xiaomi files). Many of the projects listed here may also contain further manifests, to pull in other files.

You can add your own files by placing manifests in /work/build/.repo/local_manifests. Apart from that, don’t try to get your head round where every needed file is coming from - your head will explode :slight_smile:

I hope that helps!

PS If you want to understand what Docker and builde.sh are doing in the background, have a look at the Android AOSP Developers documentation at https://source.android.com/setup/start#initialize_and_sync_the_code and following pages

1 Like

The /e/ source files for a dockerless build is here: repo init --depth=1 -u https://gitlab.e.foundation/e/os/android.git -b v1-q (this command is for syncing Q)

1 Like

If the compilation/build is successful, can I brick my Pixel 3 XL by loading it? Why aren’t there official Q builds for that phone by now?

The ROM is based on lineage, if lineage doesn’t brick your phone /e/ will not brick your phone. Also i don’t know about pixel development because i build for j5xnlte only.

Some possible reasons:

  1. Because /e/ development team have quite a lot to do fixing bugs and adding features. It’s not a big team, and there is a lot to do :slight_smile: New devices seem to only be added now if there is a volunteer from the community to maintain the ROM for the device (i.e. to test new builds, and to investigate any device-specific bugs)
  2. Because not a huge response to the device suggestion. Several devices in the list of suggested devices have had a bigger response.