Flash systemu turris do NOR

Tak to jo, já pořád doufal že je nějaká cesta jak třeba použít U-Boot,
nebo takový boot po síti naruby, zkrátka jiná cesta.
No nic, tak hodně štěstí a děkujeme…

Jé, a znáte ten pocit, když se rozhodnete dělat něco jiného a v tom si uvědomíte, že máte řešení na problém, kterému jste nemohli přijít na kloub? Myslím, že se tomu říká nějak od h… No, k věci:

Uvědomil jsem si, že by mohlo jít kromě přímého zápisu na file systém přimountovaného mtdblock3 také zapsat přímo celý filesystém na MTD. Vývojáři Turrisu nám to dokonce usnadnili tím, že je u repozitářů vystaven i squashfs image filesystému. Vlastně nevím, proč mě tohle nenapadlo jako první, ale taktně to přejděme. Opět, abych nešířil plané naděje, jsem postup vyzkoušel (s trochou opatrnosti i na vlastním Turrisu), jenže tentokrát s úspěchem.

Takže naprosto jednoduše takto:

wget https://repo.turris.cz/turris/medkit/medkit.squashfs
mtd write medkit.squashfs "NOR (RO) NAND FW backup"

Případně jde místo toho dlouhého labelu použít /dev/mtd3, kde by ten medkit měl bydlet. Teoreticky jde použít i low-level přístup pomocí dd, ale zrovna tady si myslím, že mtd není od věci, dd aka Disk Destroyer může při nesprávném použití způsobit střelné zranění v noze.

Při dalším factory resetu by už měl Turris do NAND paměti nahrát aktuální verzi recovery systému a instalace dodatečných balíčků by mohla proběhnout rychleji a bez méně tření. Píšu mohla, protože, jak jsem psal výše, uvedete tím Turris do nějakého stavu, který se běžně netestuje, a pokud tento krok budete automatizovat a náhodou se stane, že se jako medkit dostane ven něco, co bude nějak nepěkně rozbité, už se bez té karty neobejdete. Takže k postupu nedávám žádné záruky a děláte to na vlastní nebezpečí, ano? :slight_smile:

K tomu samotnému spuštění flashování z běžícího systému - teoreticky by to šlo tak, že upravíte environment U-Bootu pomocí uboot-envtools, ale protože po factory resetu máte stejně systém bez připojení do internetu, kde je potřeba proklikat Foris nebo nastavit heslo a funkční konfiguraci nahrát do systému jinak, asi nemá smysl to tu rozepisovat - kdo je schopen naskriptovat si toto, ten nejspíš bude umět pohrát si i s tím U-Bootem.

5 Likes

Ať se Vám daří! A běžným uživatelem Turrisu už nebudete nikdy. :slight_smile:

1 Like

super diky za dobrou radu mam tam flashlou posledni dostupnou verzi :slight_smile:

1 Like

Tak při pokusu o nahrání aktuální verze 3.7.1 hlásí asi po 30s
Writing from medkit.squashfs to NOR (RO) NAND FW backup ... [e]Failed to erase block

Přitom při nahrávání předešlé verze 3.6.5 probíhalo vše v pořádku. Až bude čas pokusím se problému přijít na kloub.

Jsem na tom stejně… stejná chyba…

root@turris:/mnt/sd# mtd write medkit.squashfs "NOR (RO) NAND FW backup"
Unlocking NOR (RO) NAND FW backup …

Writing from medkit.squashfs to NOR (RO) NAND FW backup … [e]Failed to erase block

^^^^^^^^^^^^^
flashovalo to cca 1 minutu nez to selhalo

chlapi mate nekde ten predchozi medkit? Abych tam alespon nahral neco co je funkcni. Diky

Já udělal z sdcard.img z verze 3.6.5 a to mi jde…

pockej jak udelal? popis to pls

No poslední funkční verze na obnovu a továrko z sd karty jsem našel 3.6.5, nic potom mi nechodí…

kde to stahnu? a jak predelals tu img na ten medkit?

Já to nepředělávat, prostě jsem stáhl z archivu sdcard.img verze 3.6.5
Tak zkus použít medkit taky verze 3.6.5.
http://repo.turris.cz/archive/turris/3.6.5/medkit/medkit.squashfs

jo takhle to sem udelal taky ja myslel jestli si nevymyslel jinej zpusob jak ten balicek vyrobit. Kazdopadne ze to ted nejde zaziva flashovat je velka skoda :frowning:

To je, taky jsem to používal, připadá mi že ty medkity jsou nějaký nakopnutý, asi chybka při sestavování…

Údajně je obraz už moc velký a proto do posledních sestavení sd image je založený na 1.1 kde je problém s certifikáty a proto nic nefunguje. Bylo mi doporučeno použít verzi 3.5.3 se kterou mi vše naběhlo.

2 Likes

to je blbost to jako mame vsichni delat restart a reinstall routeru od 3.5ky?

Až vyprší platnost certifikátů a někdo resetne router tak bude obrovský problém cokoli s routerem udělat. Turris team by měl alespoň jedno za 3 měsíce aktualizovat image. Otestoval někdo novější image než 3.6.5?

Spíš mi připadá že to už nikoho nezajímá, počítá se s tím že už všichni mají BTRFS a v případě problému se vrátí o pár schnappsotů níže a udělají aktualizaci.
Bohužel se ale ukazuje že někteří “pacienti” mají ještě JFFS2 a v NOR kdo ví co.

Žádny takový image neexistuje. Nevydali jsme ho. Od verze 3.7 se nevejde do nor a pracujeme na jeho zmenšení (ale třeba Turris OS 4.0 který bude nad lede má přednost).

Na nor jsou certifikáty zálohovány a následně při resetu do továrního nastavení obnoveny. Tedy pokud neuděláte z nějakého důvodu reflash z sd karty tak není problém. A neměly by jste reflash potřebovat protože pracujeme na plošném updatu nor na 3.6.5.

Není pravda. Pracujeme na aktualizaci záchranného systému pro všechny Turris 1.x. A BTRFS je pouze něco co jsme umožnili ale prozatím oficiálně plně nepodporujeme. Stále doporučeným a podporovaným je UBIFS. O osudu btrfs jsme prozatím nerozhodli, ale kvůli nutnosti vložit kartu se pravděpodobně nebude nikdy jednat o hlavní podporovaný systém na Turris 1.x a spíše jen o možnost pro zkušenější uživatele.

Ano to je pravda a proto součástí plánované plošné aktualizace nor je také pokus o automatický přechod na ubifs při resetu do továrního nastavení.

2 Likes