Text-based installer for /e/OS

Hello,

I have a suggestion for /e/OS that would make installing /e/OS on devices not yet supported by the easy installer at least a little easier. I don’t have much programming knowledge and only know a few basics in python and bash, but even I find it easy to program a small text-based installer for /e/OS that summarizes all the commands - so it would be pretty simple and wouldn’t require much effort. You would need to install adb, fastboot, python3 and possibly heimdall before running the script.
Here’s a sample script for the Teracube 2e (I couldn’t try it out because I didn’t want to reflash my phone):

import requests
from zipfile import ZipFile
from os import system

try:
    url = 'https://images.ecloud.global/dev/emerald/IMG-e-0.23-r-20220514185543-dev-emerald.zip'
    print('Please wait...')
    print('Downloading files...')
    r = requests.get(url, allow_redirects=True)
    url = 'https://images.ecloud.global/stable/emerald/IMG-e-0.23-r-20220511184999- 
    stable-emerald.zip'
    r = requests.get(url, allow_redirects=True)
    print('Unzip files...')
    file_name = "https://images.ecloud.global/stable/emerald/IMG-e-0.23-r20220511184999-stable-emerald.zip"
    with ZipFile(filename, 'r') as zip:
        zip.printdir()
        zip.extractall() 
    file_name = "IMG-e-0.23-r-20220514185543-dev-emerald.zip"
    with ZipFile(filename, 'r') as zip:
        zip.printdir()
        zip.extractall() 
    print("Your phone is ready to flash. Please make sure that your phone is unlocked. To unlock your 
    phone read this guide: https://doc.e.foundation/build-status")
    input("Press Enter to start the installation of /e/OS.")

    #installation
    system("adb reboot bootloader")
    system("fastboot flashing unlock")
    system("fastboot erase userdata")
    system("fastboot erase metadata")
    system("fastboot flash gz_a gz.img")
    system("fastboot flash lk_a lk.img")
    system("fastboot flash md1img_a md1img.img")
    system("fastboot flash scp_a scp.img")
    system("fastboot flash spmfw_a spmfw.img")
    system("fastboot flash sspm_a sspm.img")
    system("fastboot flash tee_a tee.img")
    system("fastboot flash boot_a boot.img")
    system("fastboot flash dtbo_a dtbo.img")
    system("fastboot flash vbmeta_a vbmeta.img")
    system("fastboot flash super super.img")
    system("fastboot --set-active=a")
    system("fastboot -w reboot")
    print("Installation complete. Have fun with /e/OS!")
except:
print("An error occurred.")

I think that script would need some tweaking to work.

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

2 Likes

The 80/20 rule applies. Happy tweaking, then :wink: .

https://en.wikipedia.org/wiki/Pareto_principle#In_computing

I already figured it wouldn’t work :smiley: , but it was only supposed to be an example anyway.

It could work, but you would still have to put in the probably very large majority of the necessary work to go the last bit of way to the finish line.

On the other hand, judging by today’s software standards you might have a marketable product already :slight_smile: .

1 Like