Odemknutí Android bootloaderu - jak to funguje?
Napsal: 02 lis 2021, 17:35
Ahoj,
Úvodem:
Existuje hodně mobilů s rozbitým displejem, kde se už nevyplatí oprava, ale jinak jsou funkční a na bazarech se prodávají za pár stovek.
Takový mobil by šel ještě použít na jiné věci, jako je např. server, security kamera, GPS tracker apod.
Má relativně výkonný procesor (mnohem výkonnější než třeba ESP32), WiFi, Bluetooth, GPS, akcelerometr, USB port ke kterému by možná šel připojit USB hub a tím rozšířit na víc USB vstupů. Navíc má vlastní baterii a je relativně kompaktní, není potřeba řešit nějaká krabička.. prostě super na nějaké projekty.
Cílem by bylo do takového mobilu dostat linux (např. PostmarketOS), a ovládat přes SSH.
Ale je tu jeden problém - většinou je zamknutý bootloader a na odemčení je potřeba zapnout ADB debugging, jenže to s rozbitým displejem - na kterém buď není nic vidět nebo nefunguje dotyk - nepůjde.
K věci:
Zkoušel jsem zjistit něco víc o bootloaderu, ale všude se jen píše, že slouží k načtení kernelu a nahrání custom firmwaru, ale to už musí být odemčený. Jak samotné odemčení probíhá jsem nikde nenašel. Tak bych měl pár otázek:
1) Co je to bootloader? (je to něco jako BIOS v PC? obsahuje informace o připojených I/O zařízeních k zákl. desce atd.?)
2) Kde je uložený? (na stejném paměťovém čipu jako zbytek systému? šel by přepsat?)
3) Jak funguje odemčení bootloaderu? (fastboot oem unlock "nějaký kód"... ale co se děje za pokličkou tohoto příkazu?)
Někde jsem četl, že bootloader má veřejný klíč pomocí kterého kontroluje digitální podpis image systému, který se chystá načíst. Šlo by bootloader stáhnout (předpokládám že to bude binární soubor), najít kde je uložený ten veřejný klíč, nahradit ho svým veřejným klíčem, a pak ten bootloader nahrát zpět do mobilu? Nějak tam ten bootloader při výrobě přece museli dostat.
Úvodem:
Existuje hodně mobilů s rozbitým displejem, kde se už nevyplatí oprava, ale jinak jsou funkční a na bazarech se prodávají za pár stovek.
Takový mobil by šel ještě použít na jiné věci, jako je např. server, security kamera, GPS tracker apod.
Má relativně výkonný procesor (mnohem výkonnější než třeba ESP32), WiFi, Bluetooth, GPS, akcelerometr, USB port ke kterému by možná šel připojit USB hub a tím rozšířit na víc USB vstupů. Navíc má vlastní baterii a je relativně kompaktní, není potřeba řešit nějaká krabička.. prostě super na nějaké projekty.
Cílem by bylo do takového mobilu dostat linux (např. PostmarketOS), a ovládat přes SSH.
Ale je tu jeden problém - většinou je zamknutý bootloader a na odemčení je potřeba zapnout ADB debugging, jenže to s rozbitým displejem - na kterém buď není nic vidět nebo nefunguje dotyk - nepůjde.
K věci:
Zkoušel jsem zjistit něco víc o bootloaderu, ale všude se jen píše, že slouží k načtení kernelu a nahrání custom firmwaru, ale to už musí být odemčený. Jak samotné odemčení probíhá jsem nikde nenašel. Tak bych měl pár otázek:
1) Co je to bootloader? (je to něco jako BIOS v PC? obsahuje informace o připojených I/O zařízeních k zákl. desce atd.?)
2) Kde je uložený? (na stejném paměťovém čipu jako zbytek systému? šel by přepsat?)
3) Jak funguje odemčení bootloaderu? (fastboot oem unlock "nějaký kód"... ale co se děje za pokličkou tohoto příkazu?)
Někde jsem četl, že bootloader má veřejný klíč pomocí kterého kontroluje digitální podpis image systému, který se chystá načíst. Šlo by bootloader stáhnout (předpokládám že to bude binární soubor), najít kde je uložený ten veřejný klíč, nahradit ho svým veřejným klíčem, a pak ten bootloader nahrát zpět do mobilu? Nějak tam ten bootloader při výrobě přece museli dostat.