Complete guide for compiling /e/

wiki-documentation

#1

i want to compile /e/.please guide me for this .any one here who can give ne step by step guide.please give me or guide me please


#2

You can find the build guide here: https://gitlab.e.foundation/e/wiki/en/wikis/build
And for the codes for the officially supported devices have a look at: https://gitlab.e.foundation/e/wiki/en/wikis/devices-list


#3


sir no guide for building


#4

I am aware of the fact, that there are no device-specific build instructions yet. Try this:


#5

sir tried this .but it gives error every time this one sir

Set cache size limit to 50.0 GB
>> [Tue Oct  9 21:43:15 UTC 2018] Branch:  eelo-0.1
>> [Tue Oct  9 21:43:15 UTC 2018] Devices: shamu,
>> [Tue Oct  9 21:43:15 UTC 2018] (Re)initializing branch repository
>> [Tue Oct  9 21:44:01 UTC 2018] Copying '/srv/local_manifests/*.xml' to '.repo/local_manifests/'
>> [Tue Oct  9 21:44:01 UTC 2018] eelo v0.1 use branch cm-14.1 on github.com/TheMuppets
>> [Tue Oct  9 21:44:02 UTC 2018] Syncing branch repository
>> [Tue Oct  9 23:44:22 UTC 2018] Missing "vendor/cm", aborting
sed: can't read build/core/version_defaults.mk: No such file or directory
sed: can't read build/core/version_defaults.mk: No such file or directory
/root/build.sh: line 157: [: : integer expression expected

#6

Looks like you are building for shamu (Nexus 6). As far as I can tell this device is currently not supported by /e/.


#7

and same for herolte (samsung s7)


#8

Now I have managed to build /e/ and in the process I also stumbled over this error message:

I was able to get rid of this problem by allocating more harddisk space (360GB was enough for me, but I had to delete and re-download the whole source code again)


#9

sir will you share complete guide for building /e/
from scratch with me please


#10

@saqlain were you able to build using the details available at https://gitlab.e.foundation/e/wiki/en/wikis/build please note as mentioned in the article this works perfectly when you have Ubuntu or CentOS installed on your PC. Does not work on Windows or Mac. Not sure if it was tested on a VM environment. I have Ubuntu on my PC and once the environment is set up an average build takes about 1-2 hours. Attached a screenshot below from my PC. I used the exact same instructions as provided by @rhunault here https://gitlab.e.foundation/e/wiki/en/wikis/build


#11

yes sir i followed the same instruction.but i think i have net problem


#13

Why is it taking soo much storage to build this thing? Am I missing something here? In the end wouldn’t this produce a 600MB zip? So why it is taking hundreds of GB just to build?

I had to finally give up on trying to produce a build for Oneplus One and settled on installing one of the zips.

I know storage is cheap these days, but hundreds of GB cheap? I think not! You need to rethink this approach because it will not scale


#14

Hi @smac89 this build process is not created by /e/ it is the way android builds its source code. You can check the documentation given here and https://source.android.com/setup/build/requirements and here https://www.androidauthority.com/build-custom-android-rom-720453/ these are the standard build methods. Without downloading the nougat /oreo source code the build will not work. This is a one time process and takes time when you do it the first time.


#15

Can I change "-e “CUSTOM_PACKAGES=xxx” for example leave out Signal and replace it with Silence, and add IceCat as a default app? These are just examples, after 5 months of using /e/ I’d like to customize it to my own preferences :smiley:

Depends on the available RAM, on an older HP-Notebook with 8GB RAM it took me about 6-7 hours, and because FP2 will remain on Nougat I’ll have to build my own version weekly. Oreo really works better on FP2.


#16

Hi @pjmbraet , yes that is possible. In a custom build you can replace some of the apps added to /e/ by default and put in your own apps. As you would expect there is a process to doing this. You have to also make changes in a couple of places.

To remove a default app : In the docker code take out that app name from the list
Suppose this is the default list of apps
-e “CUSTOM_PACKAGES=‘MuPDF GmsCore GsfProxy FakeStore com.google.android.maps.jar Telegram Signal AnySoftKeyboard Mail BlissLauncher BlissIconPack MozillaNlpBackend OpenWeatherMapWeatherProvider AccountManager MagicEarth OpenCamera eDrive Weather Notes Tasks NominatimNlpBackend Light DroidGuard OpenKeychain QKSMS LibreOfficeViewer’” \

  1. To remove Light from the list of apps remove it from the parameters and pass this command

-e “CUSTOM_PACKAGES=‘MuPDF GmsCore GsfProxy FakeStore com.google.android.maps.jar Telegram Signal AnySoftKeyboard Mail BlissLauncher BlissIconPack MozillaNlpBackend OpenWeatherMapWeatherProvider AccountManager MagicEarth OpenCamera eDrive Weather Notes Tasks NominatimNlpBackend DroidGuard OpenKeychain QKSMS LibreOfficeViewer’” \

Also change the command here :
browse to this location ~/e/src/OREO/vendor/lineage/config$
there in common.mk remove the app name if present.
You will find it here in the very first line

PRODUCT_PACKAGES += ‘MuPDF GmsCore GsfProxy FakeStore com.google.android.maps.jar Telegram Mail BlissLauncher BlissIconPack MozillaNlpBackend OpenWeatherMapWeatherProvider AccountManager MagicEarth OpenCamera eDrive Light Weather Notes NominatimNlpBackend DroidGuard OpenKeychain QKSMS LibreOfficeViewer’

  1. To add an app use this folder as an example
    . Browse here ~/e/src/OREO/prebuilts/prebuiltapks$
    . Here you will find a folder Light
    . Open the folder and check the contents. There are two files one an apk and the other an Android.mk file.
    . Similar to this you have to create a folder for the app you want to add.
    Say you want to add Whatsapp :frowning:
    Download the latest apk for Whatsapp from Apkpure
    . Create a folder inside prebuiltsapks with the name Whatsapp
    . Inside this newly created folder add the apk you downloaded and add an Android.mk file.
    The Android.mk file for the Whatsapp app will have two changes

LOCAL_MODULE := Whatsapp
LOCAL_SRC_FILES := theexactwhatsappappname.apk

. Copy paste the complete apk name here including the .apk part

Now return to the common.mk inside ~/e/src/OREO/vendor/lineage/config$
there add the name of the app for which you created the folder…in this example Whatsapp

So the line will now read something like this

PRODUCT_PACKAGES += ‘MuPDF GmsCore GsfProxy FakeStore com.google.android.maps.jar Telegram Mail BlissLauncher BlissIconPack MozillaNlpBackend OpenWeatherMapWeatherProvider AccountManager MagicEarth OpenCamera eDrive Whatsapp Light Weather Notes NominatimNlpBackend DroidGuard OpenKeychain QKSMS LibreOfficeViewer’

  1. Now when you run the build command you pass the variable for Whatsapp in the list …something like this

-e “CUSTOM_PACKAGES=‘MuPDF GmsCore GsfProxy FakeStore com.google.android.maps.jar Telegram Signal AnySoftKeyboard Mail BlissLauncher BlissIconPack MozillaNlpBackend OpenWeatherMapWeatherProvider AccountManager MagicEarth OpenCamera eDrive Weather Notes Tasks NominatimNlpBackend Light Whatsapp DroidGuard OpenKeychain QKSMS LibreOfficeViewer’” \

Remember you cannot remove some apps as they are critical for the running of the phone. Try this out and experiment with various options. There are a number of errors conditions this can result in …they would be mainly because the apk name was not correctly added, or there are extra spaces in the command passed.

If you are using Ubuntu ,GEdit changes the color of the code and text lines which makes it easy to understand if your edits are correct. Always use a code editor else you may make mistakes for example if using Notepad of windows you will see everything as text and end up making errors.

Enjoy experimenting!!!

Footnote: Its been more than six months since I have tried this method but it is the standard method of adding and removing so it should work.


#17

Thanks, I’ll have to work on it anyway because I ruined eel05-2019… by removing some default apps this way in terminal:
su > cd / > mount -o remount,rw /system > cd /system/app > rm -rf QKSMS > rm -rf Telegram > rm -rf Signal > reboot
Now I only can access Settings, and any other app only when it gives a notification.
“Blisslauncher keeps stopping”, have no icons at all. By the way, it won’t be Watsapp, Ill replace these three apps with Silence.


#18

Removing forcefully may not work in all cases. The best way as described above is to build a Custom ROM with your selection of apps.


#19

Thnx again, just reinstalled eel 0.5-2019… because I need the phone, this session I had to start all over again, after the experiment removing default apps it was necessary to wipe everything, otherwise blisslauncher kept crashing after update. Three times, only now I can use the phone again. Never try deleting default apps! In a day or 10 I ll try a personal build.