/e/ OS “easy” installer: development thread about adding new devices

Hi @Ingo_FP_Angel,

good catch regarding the unlock code. Dunno how Fairphone will consider that reverse engineering nor if Commown, as a partner, will simply be allowed to use it… that’s another story.

I just read your code and I am a bit pessimistic here, as I think I already tested manually what I understood it tries to do: use the code when in bootloader mode with fastboot oem unlock $UNLOCK_CODE. If I remember well, this does not work, you really need to enter the code in the developer options UI as stated in step 6 of Fairphone’s official unlock instructions. I have no idea how it is done. I can re-test that next Tuesday or Wednesday. I’ll keep you posted.

You are right, the last change does not address the issue of entering the unlock code on the phone. That part cannot be done from the installer, I’m well aware of that (that’s why I added the “P.S.”).

Well, my problem is: the official instructions state that the unlock code is needed twice. First in the dev settings and then again in the fastboot oem unlock 'code' step.
I have no possibility to confirm this, my FP3 doesn’t need the code in either of the two steps.
The thing is, if the instructions are 100% correct, then the second step will need the code and that is nothing the user would be able to do anything about. That’s why I implemented it.
For the first step, the user must do something manually and for now would at least be able to do so by following the official Fairphone unlock instructions. The installer does not yet help with that, but then it’s not finished yet.

Cool, thanks. :slight_smile:

You are maybe a bit pessimistic here, there may be a way to do this programmatically. And at a bare minimum the installer can display the code to the user so that it can skip the input of the IMEI and serial number on Fairphone’s website. This would already be helpful IMHO.

I’ll check if $UNLOCK_CODE the command fastboot oem unlock $UNLOCK_CODE is required, I tell you ASAP.

Yes, that’s my idea, too. But that would require more structual changes in the workflow of the installer. The /e/ devs are aware and Andre, who’s adding support for other devices, too.

1 Like

Hi @Ingo_FP_Angel I can confirm that the unlock code is useless in the fastboot oem unlock command.

Forgot to mention it here, but I have a merge request open to get the FP3 into the easy-installer: https://gitlab.e.foundation/e/tools/easy-installer/-/merge_requests/59

5 Likes

Just to let everyone know, I’ve started the FP2 support for the easy installer, now that the FP3 support is close to finished.

It actually was a lot easier because here the procedure is closer to the Samsung models (installation via TWRP is the same, TWRP itself needs to be flashed via fastboot instead of heimdall and the oem unlock step can be skipped as the FP2 bootloader comes unlocked by default).

There is one small obstacle: it seems that /e/ does not provide the TWRP image download like for the Samsungs and when configuring the installer to load from the official page, their naming for the checksum file is not what the installer expects.

I’ll fiddle around with making the file extension for the checksum configurable.

4 Likes

Thanks for your efforts Ingo. Will request the developer from the team to look into this issue you have raised and resolve it if possible.

3 Likes

I’ve prepared a merge request for the FP2 at https://gitlab.e.foundation/e/tools/easy-installer/-/merge_requests/68

It contains kind of a hack to circumvent the issue I raised earlier.

A binary version of the installer with a first version of FP2 can be found at https://ecloud.global/s/fn9YCWX4if9Gfzy
Just take the latest ZIP file available that starts with “fp2-” (the ones without this prefix only support the FP3).

2 Likes

It would be a good idea to maintain a list of the devices currently supported by the easy installer and the ones that will be soon. To have this information on the website, next to the supported devices would be nice.

2 Likes

The Easy-installer supported device list is there on the documentation site

3 Likes

From what I understood, only the stable branch has a “fixed” name for the download files like IMG-e-latest-FP3.zip and because the FP2 has no stable branch, it’s not likely it’ll be added to the installer officially, right, because the installer would have to be adjusted each time a new dev version comes out.

Not sure if it helps anybody, but I’ve provided new binaries (this time for linux and windows) at https://ecloud.global/s/fn9YCWX4if9Gfzy that support the FP2 with the v0.14.q dev version of 2021-01-25.
It also already contains a German translation and for linux users support for the Gigaset (the official easy-installer via snap is broken in version 0.12.0 and the older, working version 0.11.2 doesn’t support the GS as far as I know)

2 Likes

I’ve downloaded it and done the installation using Linux system. This worked perfectly. But it didn’t install v0.14.q but v0.12p. This can be updated OTA to v0.14p.

1 Like

Thanks for the feedback. :smiley:

WIll need to have a look why it didn’t contain the change to v0.14-q.

1 Like

How did you solve this problem? How is it possible to create merge requests in gitlab for additional devices as it’s not possible to fork the easy installer project?

Is it wise to add a relock step for the FP4 at the end of the easy installer steps as in case something went wrong during installation it might hard brick the FP4 ?

Might it be wise - in contrary to the steps mentioned in install instructions - to flash partitions of one slot only - so in case it fails you might still switch to other slot (although - well - in case in case of failure you can’t change slot on a locked device anyway… :roll_eyes:)?

What did you do when the images linked in the yaml are not shown in the installer?

Hi @Ingo_FP_Angel are you still not able to fork the EasyInstaller project ?

The initial post is almost 2 years old. The ability to fork has been granted “ages ago” :wink:

When I was working on the FP3 support I left out the relock step at the beginning. Once I felt rather confident the installer was working I added it. The reasoning was to get the same result after using the installer as if having bought the phone with /e/ preinstalled.

Maybe one could add a step to ask if the users want to relock their phones or not?
Seems a bit like the risk of bricking the phone after relock is somewhat higher with the FP4 than it was with the FP3.

At the beginning I’d definitely do that. Similar to add the relock step only when the procedure seems to be working well enough.

I’m not sure I understand this question correctly.
If the files can’t be downloaded the installer stops.

Mabe it was granted to you.
I get:

Yes, there’s a step anyway - and for now I’ve added the recommendation to relock later… :wink:

As far as I understand it the connection to the images is set in the files imageName_en_EN_xxxx.properties (like imageName_en_EN_0008.properties for FP3). But if I add an additional of those files for FP4 - where is it’s name linked? Fact is my custom text is diplayed, but the images are not when running the easy installer in my case.

Ah, ok, might have been an individual assignment then, don’t remember. In that case I guess you need to let @Manoj or @rhunault or @vincent.bourgmayer know your /e/ gitlab username to get access.

The connection between the device and the image names is done in the Java source code in class ecorp.easy.installer.helpers.DeviceHelper

There you need to add a new line like one of the others

private static final HashMap<String, String> map  = new HashMap<String, String>() {{
    put("hero2lte", "0001");
    put("herolte",  "0002");
    put("star2lte", "0003");
    put("starlte",  "0004");
    put("zeroflte", "0005");
    put("dream2lte", "0006");
    put("dreamlte", "0007");
    put("FP3",      "0008");
}};

That’s taken from my - potentially outdated - fork, so maybe the next free number isn’t “0009” but something higher.

1 Like

Great hint, thanks, pictures appear now! (number is currently at 0012)
(btw.: I didn’t find any hint to that information on https://doc.e.foundation/easy-installer-contribute#how-to-clone-the-project. I think it should really be added there, too…)

My gitlab username is ff2u.

EDIT: There’s a problem: I don’t know how to check if user has successfully finished “fastboot flashing unlock_critical” as there’s only a bootload variable “unlocked” but none “unlocked_critical”…