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

The roomservice.xml will be the most difficult part.

I had problems launching the command ./161.sh .
The error was “/bin/bash^M: interprete errato: File o directory non esistente”, that I solved with these 2 commands found on the net (maybe you have modified the script on Windows with an editor that used DOS type terminations (CR + LF) instead of Unix (LF) as suggests the page that solved my problem):
sed -i ‘s/\r//’ 161.sh
perl -i -pe’s/\r$//;’ 161.sh

After this modification the script worked and went ahead downloading, but I interrupted the process because without a correct roomservice.xml file to continue is useless.
I need your precious help to create a correct new roomservice.xml! :innocent:
Since /e/ doesn’t have a rom for my Samsung s5 mini (kminilte), I downloaded a 307.3 MB file called “lineage-15.0-20171023-UNOFFICIAL-kminilte.zip” from " https://forum.xda-developers.com/galaxy-s5-mini/development/g800f-m-y-lineageos-15-0-g800f-m-y-t3678205 " considering what you said above: “Sure, if you have found sources for your device which are lineage compatible, you can use this way.” but I’m not able to modify the roomservice.xml.
If it can be of help for you (if you want to help me) I copied your files in this path: home/desktop/my build
Many thanks in advance

Crazy, I have created the 161.sh on linux text editor. But i have made some changes with Nextcloud editor. Could be that this has created the error. I will upload the file again from my linux. Hope that will solve the problem.

Regarding sources. The los.zip you can’t use. It’s a rom, not the sources. The sources are found in gitlab. You can look on the post where you find the rom. Normally the developer posted also which sources (device tree) he has used.

If I will have some time left tomorrow I will have a look for your needed sources. But could be that I have no time left, because I’m awaiting the shipment of my new device. Which I have to setup :wink:

In 161.sh, why are you using mkdir [dir] 2>/dev/null and not mkdir -p [dir] ?

Because I want compress the message that the dir already exist from second run on

From man pages, mkdir(1)

-p , --parents

no error if existing, make parent directories as needed

1 Like

here are the sources https://github.com/cm-3470/android_device_samsung_kminilte/tree/lineage-15.1

and here are all needed manifests. run this command from inside your build forlder:
git clone https://github.com/cm-3470/android_.repo_local_manifests -b lineage-15.1 .repo/local_manifests

When running the 161.sh you have to answer the question regarding manifest.xml with yes.
And this sources are oreo. So Answer with 2 on related question

Hi harvey186, thank you so much! I tried but didn’t succeed. Before writing here the long list of logs with my considerations, as I don’t want to fill the support page with things that could confuse other newbies even more, I ask you if it is not the case to forward to you my considerations in private. I’m sorry for the problems I give you but maybe it could help…

I anticipate only point 5 (the last point) of my considerations:
5. After several error “Exception in thread Thread-…” , the terminal ends with:

Checking out files: 100% (14813/14813), done.compatibility/cddChecking out files: 23% (3539/14813)
Checking out files: 100% (7382/7382), done.eOS/android_dalvikChecking out files: 72% (5321/7382)
Checking out files: 100% (11999/11999), done./developers/buildChecking out files: 14% (1774/11999)
Checking out projects: 2% (18/631) device/generic/commonerror: Cannot checkout device/generic/goldfish: ManifestInvalidRevisionError: revision refs/tags/android-8.1.0_r52 in device/generic/goldfish not found
error: in sync: revision refs/tags/android-8.1.0_r52 in device/generic/goldfish not found
including device/generic/car/vendorsetup.sh
build/envsetup.sh: riga 1762: /home/ubu/Scrivania/my: File o directory non esistente
./161.sh: riga 61: breakfast: comando non trovato
build/envsetup.sh: riga 1006: cd: troppi argomenti
./161.sh: riga 63: brunch: comando non trovato
ubu@ubu:~/Scrivania/my build$

The folder “my build” from where I launched all commands, has now several folders and files, weighting 1.1 GB.

could you please check your 161.sh
is line 60 =
source build/envsetup.sh
if not, please add it or download the latest version

line 60 is:
source build/envsetup.sh
I downloaded and used your 161.sh file (the only 161.sh file I see on this page) so I don’t understand when you say “or download the latest version”. :sweat:

because I have uploaded a new one which was saved in linux text editor to solve your first issue

But I think this is the issue. It seems that there is something missing in the sources

Partial good news, I think!
I think this time my error was to not have launched the command “git clone https://github.com/cm-3470/android_.repo_local_manifests -b lineage-15.1 .repo/local_manifests” before launching “./161.sh”
What do you think? Am I on the right road? :grin:
After more than one our, this is the result:

Checking out projects: 100% (631/631), done.
repo sync has finished successfully.
including device/generic/car/vendorsetup.sh
including device/generic/mini-emulator-arm64/vendorsetup.sh
including device/generic/mini-emulator-armv7-a-neon/vendorsetup.sh
including device/generic/mini-emulator-x86_64/vendorsetup.sh
including device/generic/mini-emulator-x86/vendorsetup.sh
including device/generic/uml/vendorsetup.sh
including device/samsung/kminilte/vendorsetup.sh
including vendor/lineage/vendorsetup.sh
including sdk/bash_completion/adb.bash
including vendor/lineage/vendorsetup.sh
build/core/product_config.mk:243: *** _nic.PRODUCTS.[[device/samsung/kminilte/lineage.mk]]: “device/samsung/smdk3470-common/smdk3470-common.mk” does not exist. Arresto.
Device kminilte not found. Attempting to retrieve device repository from LineageOS Github (http://github.com/LineageOS).
Repository for kminilte not found in the LineageOS Github repository list. If this is in error, you may need to manually add it to your local_manifests/roomservice.xml.
build/core/product_config.mk:243: *** _nic.PRODUCTS.[[device/samsung/kminilte/lineage.mk]]: “device/samsung/smdk3470-common/smdk3470-common.mk” does not exist. Arresto.
build/core/product_config.mk:243: *** _nic.PRODUCTS.[[device/samsung/kminilte/lineage.mk]]: “device/samsung/smdk3470-common/smdk3470-common.mk” does not exist. Arresto.

** Don’t have a product spec for: ‘lineage_kminilte’
** Do you have the right repo manifest?

including vendor/lineage/vendorsetup.sh
build/core/product_config.mk:243: *** _nic.PRODUCTS.[[device/samsung/kminilte/lineage.mk]]: “device/samsung/smdk3470-common/smdk3470-common.mk” does not exist. Arresto.
Device kminilte not found. Attempting to retrieve device repository from LineageOS Github (http://github.com/LineageOS).
Repository for kminilte not found in the LineageOS Github repository list. If this is in error, you may need to manually add it to your local_manifests/roomservice.xml.
build/core/product_config.mk:243: *** _nic.PRODUCTS.[[device/samsung/kminilte/lineage.mk]]: “device/samsung/smdk3470-common/smdk3470-common.mk” does not exist. Arresto.
build/core/product_config.mk:243: *** _nic.PRODUCTS.[[device/samsung/kminilte/lineage.mk]]: “device/samsung/smdk3470-common/smdk3470-common.mk” does not exist. Arresto.

** Don’t have a product spec for: ‘lineage_kminilte’
** Do you have the right repo manifest?

No such item in brunch menu. Try ‘breakfast’
ubu@ubu:~/Scaricati$

That’s a typical build error if the device sources are missing or not Lineage like.

This sources are missing. Have a look in the manifests if you will find a line with this value.

Ok, I will have a look tomorrow. In case, can I “repair” to the lack of it or have I to repeat the whole process from the beginning?
Thank you harvey186 for your big patience!

you have to start from beginning, because the sources are not complete synced. But it will bu much faster, because moist of sources you have on your hd in he meantime :slight_smile:

Besser so! :sweat_smile:

In the moment I have issues with my own new device. As soon as i’m solved that, i will go deeper in your issue

thank you, in the meanwhile I cancelled all the files downloaded and I’m trying to restart again but I’m failing whithout understanding why yestarday it partially worked while today it does not! :unamused:
It is becoming a matter of principle so I try and try all today long :slight_smile:

It#S what I have told my students all day: learning by doing :smiley: