[HOWTO] build eOS in old fashioned way with breakfast -- now with interactive script

I don’t know if it’s because I’m idiot or extrimely tired but I didn’t succeed to solve this issue.

So I can’t finish the few steps remaining, I’m sure this issue is the last one to solve in order to finish the build.

I tried to add “JACK_SERVER_VM_ARGUMENTS=”-Dfile.encoding=UTF-8 -XX:+TieredCompilation -Xmx1024m" in /home/anonyme/.jack-settings
I tried to add “export JACK_SERVER_VM_ARGUMENTS=”-Dfile.encoding=UTF-8 -XX:+TieredCompilation -Xmx1024m" in the 161.sh file after the “export CCACHE_SIZE=50G”,
and I tried to just write “export JACK_SERVER_VM_ARGUMENTS=”-Dfile.encoding=UTF-8 -XX:+TieredCompilation -Xmx1024m" in the terminal.

I also tried with “-Xmx512m”, but it doesn’t work.

In the topics I mentionned above, they also talk about the number of jack process running at the same time, and that I needed to decrease the number of jack server/process, but I don’t find where to do so.

No, No, first time building is a pain. So never give up :wink:

in some build scripts we will find this

# Provide a default JACK configuration in order to avoid out-of-memory issues
export ANDROID_JACK_VM_ARGS="-Dfile.encoding=UTF-8 -XX:+TieredCompilation -Xmx4G"

I can add it to my script if it will help building a low memory machines

by the way, after failing you can use
the export command direct in terminal and you can start new build with
‘brunch DeviceName’

no need for calling the 161.sh again

If you have closed the terminal, you can start with ‘source build/envsetup.sh’ in you root build directory
‘brunch DeviceName’

1 Like

I tried to run it in the terminal and after 161.sh, and I tried to directly put the line in 161.sh but same resultats… (For now I will call 161.sh each time, I don’t want to deal with multiple issues :yum:)

That’s it ! I found what’s working !

First, in the terminal I entered :
java -XshowSettings 2>&1 | grep Heap

This told me the recommended heap size, and it was “1.03G”.

Then in the 161.sh file, I added
export JAVA_TOOL_OPTIONS="-Xmx1g"
(and not “Xmx1.03g” because it doesn’t work)

under the line :
export CCACHE_SIZE=100G
(that I changed to 50G by the way)

I saved the modifications, and I ran the 161.sh scrip and no OutOfMemoryError anymore !

I will now test the build I made.

This script is just better than the docker method for everything, I don’t see one positive point for docker. Thank you a lot !

1 Like

Nice to here. I think theses changes are special for your low memory system. If I would change the script to this values I would slow down the build on other machines.

1 Like

Hi, it’s me (again).

I have also a Samsung Galaxy Grand Prime | SM-G530FZ | gprimeltexx so I wanted to make a build for it in order to see if I could do it.

It failed before starting :yum: Probably something wrong with the roomservice.xml file ?

I used exactly this roomservice.xml file to build for my j5nlte. And just after a successful build, I tried to build for gprimeltexx (with the same roomservice file). The only difference was to answer “gprimeltexx” to the third question instead of “j5nlte”.

So I don’t understand why it fails…

EDIT : OK it’s because there is no “AndroidProducts.mk” file in the device tree source.
I still don’t know what it is and how to solve this but I’m working on it.

EDIT 2 : Oups it was for the Lineage 15.1 branch. For the 16.0 branch there is the AndroidProducts.mk file so now I have no clue.

At first I would remove in local_manifest.xml all what is NOT for your device.

Remove everything from your j5nlte, because it’s used:

including device/samsung/j5nlte/vendorsetup.sh

So, in /home/anonyme/e/Pie/roomservice.xml I removed every line for non-gprimeltexx devices. You can look at it here.

I also deleted the roomservice.xml file in /home/anonyme/e/Pie/.repo/local_manifests

But it didn’t change anything, there is still the line you quoted. Maybe I didn’t do correctly what you suggested.
You said “local_manifests.xml” file but I gues you wanted to talk about the “local_manifests” directory or the “roomservice.xml” file.

I mean remove all from you other device from sources. In /device and /vendor and /kernel

In in roomservice I would remove also the TWRP stuff

1 Like

Oh I managed to solve the issue. Actually the repo has never been synced for this device, even when I answered “y” to the fourth question because of a “fatal” error due to a part in the roomservice.xml file. After deleting this part, the repo synced successfully and now the building process is running :slight_smile:

1 Like

Hello there! How is the SM-G530F build going? All the best :+1:

Hello, welcome in the forum :slight_smile:

When I flash my unofficial build for SM-G530FZ (gprimeltexx) and reboot, it directly goes into download mode… But with the unofficial LineageOS 16.0 everything works fine. I don’t understand where the issue could be because it’s supposed to be the same roomservice.xml for my /e/ build and the LineageOS build.

1 Like

Hello there and thank you!

I will need a little more information regarding ‘Download mode’.
Also - are you letting the phone reboot automatically after the flash (with TWRP whatever software you are using to flash it with) OR are you denying automatic reboot and forcing into recovery mode before manually rebooting from TWRP (Or other)?

Thanks again :wave:

Download mode = bootloader

1 Like

Thank you @harvey186

That would suggest the ‘Flash’ is not taking ‘Root’ - is that a correct assumption?

could you share the roomservice.xml or is it somewhere before posted ?

Don’t know. For me it looks that the kernel won’t load.

I’m just building a lot of Samsung roms. If I will get access to the roomservice.xml I can try building

1 Like

OK - Thank you.

My S4 GT-I9505 Galaxy never showed the required ‘Developer Options’ as described in the generic tutorial.

As a result - I was forced into NEVER allowing reboot after any flash or installation, and manually forcing into recovery mode on first start. Then reboot - This was done after both installing TWRP, and also after installing E.

In this fashion, the installation was perfect.

If not carried out in this way - the ‘phone’ would override the flash and self recover.

So - just out of interest - Do you see any logic in my previous suggestion?


I wipe, I sideload and I click on Reboot System. Nothing special. No problem with the LineageOS 16.0 but the /e/ Pie doesn’t boot at all and it directly goes into download mode, not in recovery mode.

Here is what I used, based on this one.

By the way, why everybody else has a roomservice.xml file with only a few lines, and mine has a lot of elements ? Everything is useful ? Thanks !

1 Like

Your roomservice contains all.stuff for a lot of devices, for twrp snd for removing sources.

The xml should be cleaned before using

1 Like