If you like BoxMatrix then please contribute Supportdata, Supportdata2, Firmware and/or Hardware (get in touch).
My metamonk@yahoo.com is not reachable by me since years. Please use hippie2000@webnmail.de instead.

0
U

Property:Multi-EVA

From BoxMatrix


BoxMatrix >> Lexicon >> FRITZ-Terms >> Multi-EVA @ BoxMatrix   -   IRC-Chat   -   Translate: de es fr it nl pl
News Selectors Models Accessories Components Environment Config Commands System Webif Software Develop Lexicon Community Project Media

Computer FRITZ I18N Telephony Smarthome Internet Protocols Multimedia Formats Hardware Software Research

Term

Goto:   FRITZ!OS   -   mtd2size  -  Qualcomm-ARM  -  Broadcom-ARM  -  Lantiq-MIPS  -  SMW-Browser

Details

Multi-EVA is the term used here for multiple EVA Bootloader instances.
EVA is the AVM developed Bootloader which launches FRITZ!OS since more than a decade.

Initially all models used NOR-Flash, with limited size and a single EVA (formerly ADAM2) at the beginning of it.
The CPU directly starts the bootloader after powerup and it's the first intelligent thing which happens.

With the increasing complexity of FRITZ!OS more space was required. AVM decided to use NAND-Flash.
The disadvantage of NAND-Flash is that it's aging way faster than NOR-Flash.

To keep the reliability of their brand (5 years warranty on routers) they decided to store multuple instances of FRITZ!OS.
Dual-Boot was introduced, storing 2 Filesystem and 2 Kernel instances, and a hybrid TFFS design with S-Flash.

If a partition breaks due to aging or loss of power during an update there is still a second working instance as fallback.
But this did not work for the bootloader with early SoCs, which requires a hardware dependend fixed start address at powerup.

With later SoCs it was possible (or necessary) to run portions of code and store its config before the Bootloader is executed.
This was the birth of a Multi-EVA solution, finally providing a safe way to update the bootloader.

How this is designed is platform and architecture dependend and will be researched and explained here separately.

FRITZ!OS

mtd2size

Multi-EVA models can be detected by the mtd2size. Single-EVA models use 64 KB - 256 KB for the bootloader partition mtd2.
For models with multiple EVA instances mtd2 is always at least 1 MB, up to currently 32 MB. Current mtd2size ranking:

As you see there are at least 3 architectures to explain. Let's start with generic ARM:

Qualcomm-ARM

Hawkeye, Alder, Miami, Maple and Dakota use a derivative of Qualcomm Android Boot.

These ARM SoCs all support SecureBoot, with hardware-enforced isolation of trusted and untrusted execution environments.
This is implemented by the ability to split each core into a virtual core for the secure world and the normal world each.

The secure world runs the TrustZone OS, for monitoring and for providing security and crypto services to the normal world.
The normal world runs the application OS, here EVA booting FRITZ!OS.

Booting happpens in multiple stages. Raw principle:

All these have a "chain of trust", checking the signature of the respective next stage before execution.
This chain includes EVA, which could not be modified without getting signed by AVM.

Per SoC details could be found in the SBL article.

Multi-EVA boot on Qualcomm-ARM:

Broadcom-ARM

todo

Lantiq-MIPS

todo

Multi-EVA boot on Lantiq-MIPS:

SMW-Browser

Information is currently being retrieved from the backend.
 

Synonyms

Showing 1 related property.

M