Bootloader I ► Nahrává kernel ► Silně závislý na platformě ► Zpravidla i primitivní CLI zapojené do sériové linky ► Mnohdy i TFTP klient, flash/boot ze sítě ► Nejčastější typy: CFE (Broadcom), U-Boot (Atheros), RedBoot PV177 Lukáš Ručka Teorie Praxe Sofl-brick Hard-brick Bootloader II CFE FIRMWÄRE NVRAM U-BOOT FIRMWÄRE ART Flash Lukáš Ručka dekompresor kernel rootfs rootfs_data Flash PV177 Lukáš Ručka dekompresor kernel rootfs rootfs_data Raw binary Flash Lukáš Ručka dekompresor kernel rootfs rootfs_data ► Raw binary ► SquashFS Flash PV177 Lukáš Ručka dekompresor kernel rootfs rootfs_data ► Raw binary ► SquashFS ► JFFS2 Flash root@organovabanka3 :"# cat /proc/mtd dev: size erasesize name mtdO 00020000 00010000 "u-boot" mtd1 000e6800 00010000 "kernel" mtd2 002e9800 00010000 "rootfs" mtd3 00180000 00010000 " rootfs.data mtd4 00010000 00010000 "art" mtd5 003d0000 00010000 " firmware" Boot wrt - svazky PV177 Lukáš Ručka Teorie Praxe Sofl-brick Hard-brick ► rootfs —> /rom Boot wrt - svazky ► rootfs /rom ► rootfs.data -»/tmp/overlay Boot wrt - svazky Lukáš Ručka ► rootfs ->•/rom rootfs_data ->• /tmp/overlay ► extroot?(extroot ->•/overlay):(rootfs_data ->• /overlay) Boot wrt - svazky Lukáš Ručka ► rootfs ->•/rom rootfs_data ->• /tmp/overlay ► extroot?(extroot ->•/overlay):(rootfs_data ->• /overlay) ► minLfoo: /rom + /overlay / Typy briknutí ► soft-bricked ► AP s (částečně) funkčním software *■ hard-bricked AP s nefunkčním software ► AP bez software Soft-bricked - náprava PV177 Teorie Praxe Soft-brick Hard-brick ► Odpojit extroot Soft-bricked - náprava ► Odpojit extroot ► Openwrt failsafe Soft-bricked - náprava ► Odpojit extroot ► Openwrt failsafe ► Mýtus 30/30/30 Soft-bricked - předcházení ► Povolit ssh pro WAN Soft-bricked - předcházení Lukáš Ručka ► Povolit ssh pro WAN ► Nenahrávat konfiguraci z jiného AP Soft-bricked - předcházení Lukáš Ručka ► Povolit ssh pro WAN ► Nenahrávat konfiguraci z jiného AP ► Nastavit si tlačítko pro failsafe Soft-bricked - předcházení Lukáš Ručka ► Povolit ssh pro WAN ► Nenahrávat konfiguraci z jiného AP ► Nastavit si tlačítko pro failsafe ► Používat extroot Hard-bricked WRT ► Výchozí stav: cihla Hard-bricked WRT Lukáš Ručka ► Výchozí stav: cihla ► Kýžený stav: cihla odpovídající na požadavky Hard-bricked WRT Lukáš Ručka ► Výchozí stav: cihla ► Kýžený stav: cihla odpovídající na požadavky ► Poznej svou cihlu Hard-bricked WRT II - funkční bootloader ► RS232 - komunikace s bootloaderem (3-4 piny) Hard-bricked WRT II - funkční bootloader ► RS232 - komunikace s bootloaderem (3-4 piny) ► TFTP push Hard-bricked WRT II - funkční bootloader ► RS232 - komunikace s bootloaderem (3-4 piny) ► TFTP push ► J TAG (12-14 pinu) Hard-bricked WRT II - funkční bootloader ► RS232 - komunikace s bootloaderem (3-4 piny) ► TFTP push ► JTAG (12-14 pinů) ► Šamanův tanec Hard-bricked WRT III - nefunkční bootloader ► Manuální flash Lukáš Ručka Hard-bricked WRT III - nefunkční bootloader Lukáš Ručka ► Manuální flash ► Mít kopii flash Hard-bricked WRT III - nefunkční bootloader Lukáš Ručka ► Manuální flash ► Mít kopii flash ► Potřeba kompletní obraz Hard-bricked WRT III - nefunkční bootloader ► Manuální flash ► Mít kopii flash ► Potřeba kompletní obraz ► Pájka, cín a LPT či programátor Hard-bricked - setkání s blbcem Lukáš Ručka ► Zkratování Hard-bricked - setkání s blbcem Lukáš Ručka Teorie Praxe Sofi-brlck Hard-brick ► Zkratování ► Omakávání Hard-bricked - setkání s blbcem Lukáš Ručka ► Zkratování ► Omakávání ► „Upgrade" bootloaderu Hard-bricked - setkání s blbcem ► Zkratování ► Omakávání ► „Upgrade" bootloaderu ► Nahrání obrazu pro jinou architekturu Lukáš Ručka Hard-bricked - setkání s výrobcem Lukáš Ručka Jednotlivé čipy označeny Hard-bricked - setkání s výrobcem ► Jednotlivé čipy označeny ► Jedna deska v několika krabicích od někol „výrobců" Hard-bricked - setkání s výrobcem ► Jednotlivé čipy označeny ► Jedna deska v několika krabicích od někol „výrobců" ► Šamanův tanec Hard-bricked - setkání s výrobcem ► Jednotlivé čipy označeny ► Jedna deska v několika krabicích od někol „výrobců" ► Šamanův tanec ► Nepřipájené konektory Lukáš Ručka Dotazy? Zdroje ► http://wiki.openwrt.org/doc/techref/flash.layout ► http://wiki.openwrt.org/doc/techref/process.boot ► http://wiki.openwrt.org/doc/techref/header ► https://forum.openwrt.org/viewtopic.php?id=352 8 0 ► http : / / www. broadcorn. corn/support /cornmunications_ processors/downloads.php#cfe ► http://soureeforge.net/projects/u-boot/ ► https: //forum.openwrt.org/viewtopic.php?pid=15 84 64#pl5 84 6 4 ► http://millerstechtips.blogspot.com/2 008/03/ how-to-un-brick-wrt54gl-with-openwrt.html ► http://download.modem-help.co.uk/mfcs-B/Broadcom/ Reference-Designs/BCM96348-BANTL/ ► Zkušenosti a mnoho jiných zdrojů