- Grunnleggende forskjeller mellom fabrikkprogramvare og modifiserte versjoner av operativsystemet.
- Bootloaderens kritiske rolle i sikkerhets- og flashingsprosessen for enheter.
- Avanserte konsepter for administrasjon av rottillatelser og gjenoppretting av operativsystemet.
Når vi fordyper oss i tilpasning av elektroniske enheter, enten det er smarttelefoner eller mikrokontrollere, er det normalt å føle seg litt fortapt med så mye teknisk terminologi. Konsepter som å flashe ROM-er eller låse opp bootloaderen kan virke som tull i starten, men de er faktisk nøkkelen til å få mest mulig ut av maskinvaren vi har.
Enten du prøver å gjenopplive en telefon som sitter fast på oppstartslogoen eller sliter med MCU-kode for å implementere en fastvareoppdatering, er det avgjørende å forstå hvordan programvare samhandler med systemoppstart for å unngå å gjøre enheten din til en dyr papirvekter.
Hva er egentlig en ROM og firmware?

Selv om det noen ganger brukes om hverandre, finnes det nyanser. Teknisk sett står ROM for Read-Only Memory. Men når vi i Android-verdenen snakker om en ROM, refererer vi til et komplett operativsystembilde , med drivere og applikasjoner, klart til å installeres. Det er som Windows-"installasjonsplaten", men for telefonen din.
På den annen side er fastvare lavnivåprogramvaren som direkte kontrollerer maskinvaren. I mer komplekse enheter som STM32-mikrokontrollere er fastvaren koden som får brikken til å fungere. Noen ganger inkluderer denne fastvaren en intern oppstartslaster i ROM-en, slik at applikasjonskoden kan oppdateres uten eksterne verktøy. Det kan imidlertid være et hodebry å få systemet til å starte opp riktig etter oppdateringen hvis periferiutstyret ikke starter på nytt riktig.
Bootloader: Systemets portvokter

Bootloaderen er det første som kjører når du slår på enheten. Funksjonen er i utgangspunktet å utføre en rask maskinvaresjekk (ligner på en PCs POST) og bestemme hvilken programvare som skal lastes inn. For å forhindre at noen installerer uoffisiell eller farlig programvare, låser produsenter vanligvis bootloaderen ved hjelp av digitale signaturer.
Hvis du vil installere en tilpasset ROM, er det første trinnet å låse opp bootloaderen . Uten dette vil enheten avvise alle bilder som ikke er signert av produsenten. I noen tilfeller, for eksempel med visse personvern-ROM-er som CalyxOS eller iodéOS, er det avgjørende å administrere tilbakerullingsindeksen . Hvis denne indeksen er for høy, kan systemet forhindre deg i å gå tilbake til en tidligere fabrikkversjon av sikkerhetsmessige årsaker.
Blinkende, rooting og gjenopprettingsmodus

Når noen sier at de skal «flashe» en enhet, refererer de til prosessen med å skrive et nytt programvarebilde til enhetens flashminne. Dette kan gjøres fra selve telefonen ved hjelp av en tilpasset gjenoppretting eller fra en datamaskin ved hjelp av fastboot- og ADB-kommandoer.
- Gjenoppretting: Det er en separat partisjon som brukes til vedlikeholdsoppgaver, for eksempel sletting av data eller installering av pakker.
- Rot: Det er prosessen med å få superbrukerrettigheter. Det er som å være full administrator av systemet, noe som gir deg tilgang til begrensede kataloger og endre kjernefiler.
- Baseband: Det er den spesifikke programvaren som administrerer kommunikasjon og nettverk; en feil her kan føre til at du mister dekning.
For maskinvareutviklere, som de som jobber med STM32U575-brikker, krever oppstartslasterens hoppprosess at man tømmer avbruddsregistrene (NVIC) og avinitialiserer periferiutstyr som UART og SPI. Hvis det ikke utføres en fullstendig systemopprydding før man hopper til den nye minneadressen, vil den nye fastvaren sannsynligvis ikke starte opp, noe som krever en tilbakestilling av det fysiske kortet .
Veien til en tilpasset ROM
Å installere en tilpasset ROM (versjoner laget av brukere) følger vanligvis en fast prosess: først låses opp bootloaderen, deretter oppnås root-tilgang, og en alternativ gjenoppretting installeres. Etter at en sikkerhetskopi er opprettet, slettes systemet, og deretter flashes den nye ROM-en.
Mange gjør dette fordi det finnes mye lettere versjoner enn originalen, som bruker mindre RAM og lar deg forlenge levetiden til enheter som produsenten allerede har avviklet. Det er en utmerket måte å holde enheten oppdatert med de nyeste sikkerhetsoppdateringene, selv om merket ikke lenger tilbyr offisiell støtte.
All denne arkitekturen, fra presis kontroll av registre i en mikrokontroller til partisjonshåndtering i en Android-enhet, viser at kontroll over oppstartsprogramvaren er grunnlaget for enhver vellykket modifikasjon, og muliggjør alt fra å forbedre systemytelsen til å gjenopprette enheter som har havnet i en uendelig oppstartsløyfe.