Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e959f511 authored by pranav's avatar pranav
Browse files

install gsi page update

parent 31b32b64
Loading
Loading
Loading
Loading
+45 −39
Original line number Diff line number Diff line
{% include alerts/danger.html content="Please ensure you have read all the sections and understand the limitations of GSI before proceeding with an installation. Read and understand [all about GSI](/support-topics/understand-and-use-gsi) " %}
{% include alerts/danger.html content="We assume you have read all the sections and understand the limitations of GSI before proceeding with an installation. Take a look at this page for more info - [all about GSI](/support-topics/understand-and-use-gsi) " %}

{% include alerts/warning.html content="Make sure you can rollback to stock firmware in case /e/OS doesn't work at all" %}
{% include alerts/warning.html content="Take a backup of your stock firmware and make sure you can rollback to stock firmware in case /e/OS doesn't work for some reason." %}

## Installing fastboot

## 1. Install fastboot

### On Windows

{% include alerts/tip.html content="Ensure you install your device drivers on Windows PC before proceeding." %}
- Install your device drivers (phone you're going to flash).

- Find your device adb drivers. For most devices, [adb clockworkmod driver](https://adb.clockworkmod.com/) are enough.

On Windows you will also need to find you device adb drivers
Follow our [adb tools install guide for Windows](/pages/install-adb-windows), which also has instructions on how to install fastboot.

Sometimes, this [adb clockworkmod driver](https://adb.clockworkmod.com/) is enough

To install fastboot on your Windows PC follow [this guide](/pages/install-adb-windows)
### On Linux

Follow our [adb tools install guide for Ubuntu/Debian based Linux](/pages/install-adb), which also has instructions on how to install fastboot.

### On Ubuntu / debian based linux

If you do not have fastboot installed on your linux device follow [this guide](/pages/install-adb)
## 2. Find your phone's architecture

## Find your phone architecture
Knowing your device architecture is important to determine which GSI image can be flashed. The most easy way to do this is to install `treble info` and check the following and note it down: 

An easy way to do this is to install `treble info`
- Project Treble compatibility
- System image name (for example system-arm64-ab.img.xz)
- CPU architecture
- Dynamic Partition info (see if you need fastbootd)

> You will find the `treble info` app in the /e/OS default Apps Store as shown in the screenshot below
Finding your phone's architecture also helps verify

- If the device is "System as root" (where a A/B build must be flashed)

![](/images/TrebleCheck_Apps-small.png)
> You can install the `treble info` app from App Lounge ([open link](https://play.google.com/store/apps/details/Treble_Info?id=tk.hack5.treblecheck))

This is to verify that the 
- Phone is Project Treble compatible
- Check the CPU architecture it should show 
  - arm or 
  - arm 64
![](/images/treble-info-app-2.png)
![](/images/treble-info-app-1.png)

- If the device is "System as root" then a A/B build will be necessary

So, please note the following information:
- name of the required system image (for example system-arm64-ab.img.xz)
- Under Dynamic Partition, check if you need fastbootd
## 3. Remove DM-Verity

DM-Verity is a security feature that checks the integrity of Android's system partition. Here, you must remove DM-Verity because the GSI system partition will not have been signed with the same keys as the previous one. 

## Remove dm verity
Currently, there are two ways to do it:

- This can be done on some devices using twrp 
- A slightly more complicated method is by extracting the kernel and reflashing it with the below command
- Using [TWRP](https://www.twrp.me/) 
- Using fastboot (see command below)

```shell
fastboot flash --disable-verity --disable-verification boot boot.img
```

## Flash the system image

Once you know which system image you need, download it
## 4. Download the system image

You'll need the `CPU architecture` you noted from Step 2. Now, download the system image that has the name of your phone's `CPU architecture` using the link below:

- [Arm A](https://images.ecloud.global/dev/treble_arm_avN/) (system-arm-a.img.xz)
- [Arm A/B](https://images.ecloud.global/dev/treble_arm_bvN/) (system-arm-ab.img.xz)
@@ -61,24 +63,28 @@ Once you know which system image you need, download it
- [Binder 64 A](https://images.ecloud.global/dev/treble_a64_avN/) (system-a64-a.img.xz)
- [Binder 64 A/B](https://images.ecloud.global/dev/treble_a64_bvN/) (system-a64-ab.img.xz)

if fastbootd is required, start with

```shell
fastboot reboot fastboot
```
## 5. Flashing process without TWRP

then, in every cases, extract system.img and flash it with this command line
- Factory reset your device.
- Boot your phone
- Enable developer settings and turn ON adb
- Connect your phone to your PC using a cable that supports data transfer
- Check if your device is connected by running command `adb devices`
- If the previous command works then run `adb reboot recovery`.
- In the adb recovery menu, use the volume keys to navigate to the factory reset option. Power button can used as select option button.
- Keep your phone connected to your PC
- Navigate to the folder where the system image was downloaded
- Check if your device is connected by running command `fastboot devices`
- Then follow the steps below

```shell
fastboot flash system system.img
```
fastboot erase system

## Erase userdata
```

```shell
fastboot -w
fastboot flash system SYSTEM-ARCH-XYZ.img
```

## Optional steps

- install a custom recovery
 No newline at end of file
Once the image is flashed, reboot your device using `fastboot reboot` command.
 No newline at end of file
−66.7 KiB
Loading image diff...
+118 KiB
Loading image diff...
+90.1 KiB
Loading image diff...