Ga naar inhoud


Howto: een nfi backup image maken van een DM7020


Aanbevolen berichten

Geplaatst:

Ja maar mocht b.v.b. je bootloader beschadigd zijn blijft natuurlijk de vraag of er software is om deze files her te gebruiken.

Geld maakt niet gelukkig maar geluk is onbetaalbaar


  • Reacties 46
  • Aangemaakt
  • Laatste reactie

Beste reacties in dit onderwerp

Beste reacties in dit onderwerp

Geplaatst:

Nu dit werkt ook niet!

Met Dreamup krijg ik op de manier beschreven een melding van "file too big!"

Dus deze methode wekt ook niet.

Geprobeerd na een image van Gemini een reset te doen om via de webbrowser een flash te kunnen doen maar kreeg wel melding stop maar geen ip adres.

Geld maakt niet gelukkig maar geluk is onbetaalbaar

  • 2 weken later...
Geplaatst:

Weet iemand een oplossing van dit probleem?

De nfi blijft na deze handeling toch nog 33Mb. daarnaast blijft er een file staan "backup.nf" van 27 Mb. Waar is deze voor?

Geld maakt niet gelukkig maar geluk is onbetaalbaar

Geplaatst:

Ja waar zou die nou toch voor zijn <img src="/forums/images/graemlins/loldev.gif" alt="" />

 

Citaat:
./buildimage loader boot root >backup.nfi
Geplaatst:

ik heb omwille van de standvastigheid van UNETWORK <img src="/forums/images/graemlins/grin.gif" alt="" /> heel de procedure gedaan, en getetst.

 

Flash uitlezen via webinterface: (en de respectievele grootte)

 

Flash 33.554.432

 

daarna boot loader en root extracten....

boot 1.966.080

loader 131.072

root 31.457.280

 

met buildimage backup.nfi maken geeft dit resultaat:

backup.nfi 34.603.040

 

als ik de backup.nfi terug flash via de webinterface krijg ik deze error:

too much data (or bad sectors) in partition 3 (end: 02000000, pos: 02000000)

 

zodoende is de verkregen backup.nfi niet bruikbaar

 

iemand een idee/oplossing?

 

mvg

"Twee dingen zijn oneindig, het universum, en menselijke domheid. Maar van het universum weet ik het nog niet helemaal zeker..."

  • 3 weken later...
Geplaatst:

De som van de partities is 33.554.432, dus ik vraag mij af wat 'buildimage' er aan toevoegt.

Heeft iemand misschien de sourcecode van dit tool?

 

Voorlopig, om het werkend te krijgen, zou je bijv

dd if=FLASH of=root skip=1 bs=2097152 count=14

kunnen proberen, er van uitgaande dat je root partitie niet tot het eind van de flash ging.

Of count=13, of nog kleiner, tot de nfi klein genoeg is om weer in 32MB te passen.

Jffs2 begint aan het begin van de partitie ruimte, dus je kan veilig het vrije percentage wat 'df' aangeeft weglaten in de size die dd copieert.

Geplaatst:

snelle berekening, 'buildimage' voegt 1MB toe. Dus count=14 zou een image van 31MB opleveren, moet dus weer passen in de 32MB flash.

 

Maar ergens vertrouw ik die buildimage niet, normaal als je van een flash image weer een jffs2 image maakt, worden lege eraseblocks weggelaten.

Dus backup.nfi zou kleiner moeten zijn dan de som van alle partities, en zeker niet 1MB groter...

Geplaatst:

Maar 33554432 / 1024 / 1024 = precies 32Mb dus dat zou moeten passen. Heeft iemand anders wel succesvol zo'n een image backup kunnen terugzetten (liefst draaiende met Hydra Phoenix 1.09) ? Ik wil namelijk andere images uit gaan proberen maar wil wel zo snel mogelijk terug kunnen naar mn huidige staat.

Geplaatst:

buildimage source blijkt toch gewoon in 7020 oe devtree te staan.

Even gekeken, hij schrijft jffs2 blokken van 512 weg als 528.

Dat verklaart dat de nfi 1MB groter wordt dan de afzonderlijke images samen.

 

Nu zouden de lege blokken uit de jffs2 images weggegooid kunnen worden (mijn vorige opmerking om 2MB weg te laten van het root fs is bij nader inzien niet zo verstandig, jffs2 roteert door de beschikbare blokken in een partitie, dus lege blokken staan meestal niet aan het eind)

 

procedure:

modprobe loop

losetup /dev/loop0 ./root

insmod /lib/modules/2.6.nn/kernel/drivers/mtd/devices/blkmtd erasesz=512 device=/dev/loop0

mkdir /mnt/jffs2

mount -t jffs2 /dev/mtdblock0 /mnt/jffs2

mkfs.jffs2 --root=/mnt/jffs2 --eraseblock=512 -pad --output=root.new

 

root.new zou aanzienlijk kleiner moeten zijn dan de oorspronkelijke 'root'

 

Hetzelfde zou nog met 'boot' gedaan kunnen worden, dit is ook een jffs2 image.

 

Mij lukt het nu even niet, omdat mijn 2.6.11 kernel geen 2.6.9 jffs2 image wil mounten. Maar theoretisch zou het zo moeten werken.

 

En dan dus `buildimage loader boot root.new > backup.nfi`

Deze nfi zou een stuk kleiner moeten zijn.

Geplaatst:

Update:

Citaat:

Mij lukt het nu even niet, omdat mijn 2.6.11 kernel geen 2.6.9 jffs2 image wil mounten.

Dat was gebaseerd op een loze foutmelding van de jffs2 fs driver, het eigenlijke probleem is de endianness (big voor ppc, little voor ix86)

 

Dus met 'jffs2dump -b -e root.little root' converteer je naar een little endian versie van je 'root' image.

(jffs2dump is onderdeel van de mtd/jffs2 tools, ik heb m'n i686 binary bijgevoegd)

 

Voorlopig ben ik er nog niet helemaal, als ik mijn nieuwe root.little probeer te mounten, gaat de boel hangen.

Geplaatst:

Ik kan mijn bericht hierboven inmiddels niet meer corrigeren, dus bij deze de aangepaste procedure:

 

modprobe loop

modprobe mtdcore

jffs2dump -b -e root.little root

losetup /dev/loop0 ./root.little

insmod /lib/modules/2.6.nn/kernel/drivers/mtd/devices/blkmtd.ko erasesz=0x4000 device=/dev/loop0

mkdir /mnt/jffs2

mount -t jffs2 /dev/mtdblock0 /mnt/jffs2

mkfs.jffs2 --root=/mnt/jffs2 --faketime --eraseblock=0x4000 -pad --output=root.new --big-endian -n

rmmod blkmtd

losetup -d /dev/loop0

  • 3 weken later...
Geplaatst:

Ik heb dit topic aandachtig gelezen en precies gedaan wat er staat.

De volgende vraag wil ik hier graag stellen.

 

Hoe zet je deze backup dan weer terug?

Als ik dit doe, de backup.nfi weer terug zetten dan loopt de box vast , en ik zie pas weer licht als ik de box via dreamup en een null modemkabel weer tot leven heb gebracht.

Is deze file 32 mb niet te groot? Een normaal image is toch ongeveer 16 mb.

 

Met vriendelijke groet,

Satkijker.

 

Sinds kort een db 7020 en dus nog aan het expirimenteren :-))

Geplaatst:
Citaat:
Ik heb dit topic aandachtig gelezen en precies gedaan wat er staat.
...
Is deze file 32 mb niet te groot? Een normaal image is toch ongeveer 16 mb.


Als je precies gedaan hebt wat er staat, heb je behalve de originele 'root' jffs2 image van 30MB, ook een afgeslankte 'root.new'. Deze moet je gebruiken met 'buildimage', zodat de gegenereerde nfi ook een stukje kleiner wordt, en weer past.
Theoretisch kan je hetzelfde doen om 'boot' af te slanken (is ook een jffs2 image), maar ook zonder past het. En de lege eraseblokken die een jffs2 image dump zo groot maken, veranderen toch weer in vrije ruimte, zodra je de nfi geflasht hebt.

Ik meen mij overigens te herinneren dat de procedure zoals ik hierboven omschreven heb, nog niet helemaal goed ging. Ik kon volgens mij root.little nog niet gemount krijgen op een loopback device. Maar theoretisch is dit in grote lijnen de procedure.

Voorlopig veel te weinig tijd om hier mee verder te gaan, maar het wordt tijd dat we dit eens werkend krijgen. Super handig om snel een volledige backup te maken van je dreambox, die je later eenvoudig terug kan zetten.
  • 1 maand later...
Geplaatst:

Is er trouwens iemand die dit nu voor elkaar heeft gekregen?

Ik heb de procedure,hierboven beschreven, maar krijg de image niet werkend terug..

Het zou trouwens fijn zijn als er software uitkwam om een goede backup te maken die bruikbaar is..

Geld maakt niet gelukkig maar geluk is onbetaalbaar

Maak een account aan of log in om te reageren

Je moet een lid zijn om een reactie te kunnen achterlaten

Account aanmaken

Registreer voor een nieuwe account in onze community. Het is erg gemakkelijk!

Registreer een nieuwe account

Inloggen

Heb je reeds een account? Log hier in.

Nu inloggen
  • Wie is er online   0 leden

    • Er zijn geen geregistreerde gebruikers deze pagina aan het bekijken
×
×
  • Nieuwe aanmaken...