<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>milindur.de &#187; recovery</title>
	<atom:link href="http://www.milindur.de/tag/recovery/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.milindur.de</link>
	<description>Mein externes Notizbuch...</description>
	<lastBuildDate>Sat, 25 Jun 2011 21:58:57 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.3</generator>
		<item>
		<title>System Recovery Mode für QNAP TS-109, TS-209, TS-409 &amp; TS-409U</title>
		<link>http://www.milindur.de/2008/12/system-recovery-mode-fu-qnap-ts-109-ts-209-ts-409-ts-409u/</link>
		<comments>http://www.milindur.de/2008/12/system-recovery-mode-fu-qnap-ts-109-ts-209-ts-409-ts-409u/#comments</comments>
		<pubDate>Mon, 15 Dec 2008 15:12:30 +0000</pubDate>
		<dc:creator>Christian Andersen</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[qnap]]></category>
		<category><![CDATA[recovery]]></category>
		<category><![CDATA[ts109]]></category>
		<category><![CDATA[ts209]]></category>
		<category><![CDATA[ts409]]></category>

		<guid isPermaLink="false">http://wp.milindur.de/?p=10</guid>
		<description><![CDATA[Vor rund 4 Monaten habe ich mich bereits ausführlich mit der Wiederherstellung der QNAP TS-109 beschäftigt. Dies ist besonders dann interessant, wenn man statt der originalen Firmware z.B. Debian verwenden möchte. Aber auch bei fehlgeschlagenen Upgrades der Original-Firmware könnte eine Wiederherstellung des Flash notwendig werden. QNAP hat diese Problematik auch erkannt und stellt nun einen [...]]]></description>
			<content:encoded><![CDATA[<p>Vor rund 4 Monaten habe ich mich bereits ausführlich mit der <a href="http://www.milindur.de/2008/08/recovery-der-qnap-ts-109-u-boot/">Wiederherstellung der QNAP TS-109</a> beschäftigt. Dies ist besonders dann interessant, wenn man statt der originalen Firmware z.B. Debian verwenden möchte. Aber auch bei fehlgeschlagenen Upgrades der Original-Firmware könnte eine Wiederherstellung des Flash notwendig werden.</p>
<p>QNAP hat diese Problematik auch erkannt und stellt nun einen offiziellen Recovery Mode bereit, der wichtige Flash-Bereiche per TFTP wiederherstellen kann. QNAP-Geräte, die vor 2009 ausgeliefert wurden, beinhalten diesen Recovery Mode noch nicht, er kann aber nachgerüstet werden. Im wesentlichen muss dafür der Bootloader ("U-Boot") ausgetauscht werden.</p>
<p>Das Update des Bootloaders für QNAP-Geräte mit Original-Firmware wird im <a href="http://wiki.qnap.com/wiki/System_Recovery_Mode">QNAP-Wiki</a> beschrieben. Für Systeme, die bereits Debian verwenden, hat Martin Michlmayr <a href="http://www.cyrius.com/journal/debian/orion/qnap/recovery-mode-available">Anleitungen</a> bereitgestellt.</p>
<p>Danke an Martin für die Info zum Recovery Mode sowie die ausführliche Anleitung. Bei mir hat das Update problemlos funktioniert.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.milindur.de/2008/12/system-recovery-mode-fu-qnap-ts-109-ts-209-ts-409-ts-409u/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Recovery der QNAP TS-109 (U-Boot)</title>
		<link>http://www.milindur.de/2008/08/recovery-der-qnap-ts-109-u-boot/</link>
		<comments>http://www.milindur.de/2008/08/recovery-der-qnap-ts-109-u-boot/#comments</comments>
		<pubDate>Thu, 21 Aug 2008 14:58:09 +0000</pubDate>
		<dc:creator>Christian Andersen</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[qnap]]></category>
		<category><![CDATA[recovery]]></category>
		<category><![CDATA[ts109]]></category>
		<category><![CDATA[uboot]]></category>

		<guid isPermaLink="false">http://wp.milindur.de/?p=8</guid>
		<description><![CDATA[In diesem Artikel soll es um die Wiederherstellung einer QNAP TS-109 NAS gehen. Im ersten Artikel zum Einsatz von Debian Lenny auf diesem Gerät habe ich bereits erwähnt, dass es zwar ein offizielles Supportdokument von QNAP gibt, dieses aber die falschen Adressen enthält. Update 14.12.2008: Das Support-Dokument ist nun hier (Benutzer: csdread, Passwort: csdread) in [...]]]></description>
			<content:encoded><![CDATA[<p>In diesem Artikel soll es um die Wiederherstellung einer QNAP TS-109 NAS gehen. Im ersten Artikel zum <a href="http://www.milindur.de/2008/08/debian-auf-qnap-ts-109/">Einsatz von Debian Lenny</a> auf diesem Gerät habe ich bereits erwähnt, dass es zwar ein offizielles <a href="ftp://ftp.qnap.com/NAS/Burning%20Firmware/">Supportdokument</a> von QNAP gibt, dieses aber die falschen Adressen enthält.</p>
<p><strong>Update 14.12.2008: Das Support-Dokument ist nun </strong><a href="ftp://ftp.qnap.com/NAS/Burning/"><strong>hier</strong></a><strong> (Benutzer: csdread, Passwort: csdread) in dem Archiv "TS-209 Update Image.rar" zu finden und enthält mittlerweile die korrigierten Adressen. Die Adressen sind mit den von mir ermittelten Adressen weiter unten identisch.</strong></p>
<p>Auf dem TS-109 (sowie auf den anderen TS-x09-Geräten) wird der Bootloader <a href="http://www.denx.de/wiki/U-Boot">"Das U-Boot"</a> verwendet. Die Dokumentation zu U-Boot befindet sich <a href="http://www.denx.de/wiki/DULG/Manual">hier</a>.</p>
<p>Vor einer Installation von Debian sollten unbedingt Bereiche des Flash-Speichers gesichert werden. Es handelt sich dabei um den Kernel (/dev/mtdblock1), initrd (/dev/mtdblock2) und die U-Boot-Konfiguration (/dev/mtdblock4). Kernel sowie initrd werden bei der Debian-Installation durch alternative Versionen ersetzt. Sollte die Installation von Debian nicht erfolgreich sein, dann müssen diese beiden Bereiche wiederhergestellt werden, um eine Rückkehr zur QNAP-Firmware zu ermöglichen. Diese beiden Bereiche müssen auch auf die Originalversionen zurückgesetzt werden, wenn nach einer erfolgreichen Installation von Debian eine Rückkehr zu QNAP gewünscht wird.</p>
<p>Unter Linux kann eine Sicherung so erfolgen:</p>
<p><code>cat /dev/mtdblock1 &gt; mtd1<br />
cat /dev/mtdblock2 &gt; mtd2<br />
cat /dev/mtdblock4 &gt; mtd4</code></p>
<p>Die Wiederherstellung läuft dann analog so:</p>
<p><code>cat mtd1 &gt; /dev/mtdblock1<br />
cat mtd2 &gt; /dev/mtdblock2<br />
cat mtd4 &gt; /dev/mtdblock4</code></p>
<p>Wenn das System nun aber nicht sauber startet und kein Zugriff auf eine Shell besteht, dann muss dieser Prozess über die serielle Konsole mit U-Boot erfolgen. Dazu muss zunächst ein passendes Adapterkabel erstellt werden, welches die Spannungspegel zwischen PC und NAS konvertiert. Schließlich wird noch ein Terminalprogramm benötigt, welches das Dateitransferprotokoll Kermit versteht. Unter Windows kann dafür z.B. HyperTerminal verwendet werden, unter Linux minicom in Verbindung mit gkermit. Weitere Informationen zum Adapterkabel und zur Konfiguration des Terminals befinden sich <a href="http://scratchpad.wikia.com/wiki/Open_Turbostation:SerialPort">hier</a>.</p>
<p>Wird die TS-109 mit angeschlossenem Terminal gestartet, erscheint wenige Augenblicke später der U-Boot Bootloader. Dieser wartet ein paar Sekunden auf einen Tastendruck, um die U-Boot Shell zu starten. Ohne Tastenbetätigung bootet das installierte System. Dies sollte man auf jeden Fall einmal bei Problemen machen, da der Bootprozess von Linux einige Hinweise auf mögliche Ursachen eines Problems liefert. Insb. Unterbrechungen, die zur manuellen Durchführung eines fsck auffordern, sind bei mir bisher beliebte Gründe dafür, dass mein System von alleine nicht starten will.</p>
<p>In der U-Boot Shell gibt es diverse Kommandos, mit denen man Informationen zum System erhält und die U-Boot-Konfiguration anzeigen sowie ändern kann. Interessant sind für uns die Kommandos <code>protect</code>, <code>iminfo</code>, <code>loadb</code> und <code>cp.b</code>.</p>
<p>Um nun die zuvor genannten Flash-Bereiche (kernel, initrd, ubootconfig) zu ändern, wird noch deren Adresse im Flash benötigt. Die Adressen findet man <a href="http://scratchpad.wikia.com/wiki/Open_Turbostation:TS109#Firmware">hier</a>. Allerdings sind die Adressen dort relativ zur Startadresse des Flash (<tt>0xff000000</tt>) angegeben, so dass die Adressen im U-Boot so verwendet werden müssen:</p>
<table border="1" cellspacing="0" cellpadding="2">
<tbody>
<tr>
<td><tt>0xff000000 - 0xff1fffff</tt></td>
<td>/dev/mtdblock1</td>
<td>Kernel</td>
</tr>
<tr>
<td><tt>0xff200000 - 0xff5fffff</tt></td>
<td>/dev/mtdblock2</td>
<td>Initrd ("RootFS1")</td>
</tr>
<tr>
<td><tt>0xff600000 - 0xff6fffff</tt></td>
<td>/dev/mtdblock3</td>
<td>RootFS2</td>
</tr>
<tr>
<td><tt>0xff760000 - 0xff77ffff</tt></td>
<td>/dev/mtdblock4</td>
<td>U-Boot-Config</td>
</tr>
</tbody>
</table>
<p><strong>Update 14.12.2008: /dev/mtdblock3 ergänzt<br />
</strong></p>
<p>Um die Speicheradresse für den Kernel zu prüfen, kann das Kommando <code>iminfo</code> verwendet werden:</p>
<p><code>Marvell&gt;&gt; iminfo 0xff000000<br />
## Checking Image at ff000000 ...<br />
Image Name:   Debian kernel<br />
Created:      2008-08-13  11:32:38 UTC<br />
Image Type:   ARM Linux Kernel Image (uncompressed)<br />
Data Size:    1366044 Bytes =  1.3 MB<br />
Load Address: 00008000<br />
Entry Point:  00008000<br />
Verifying Checksum ... OK</code></p>
<p>Wenn an der angegebenen Adresse ein gültiges Kernel-Image liegt, dann sollte die Ausgabe wie oben aussehen. Erscheint dort eine Fehlermeldung, dann ist entweder kein gültiges Image vorhanden oder die Adresse ist falsch.</p>
<p><strong>Update 14.12.2008: Hier stand mal ein Hinweis, dass der Schreibschutz des Flash aufgehoben werden muss (wird auch im QNAP-Dokument so gemacht). Abgesehen von der U-Boot-Konfiguration (Speicherbereich ab <tt>0xff760000</tt>) ist aber kein Bereich geschützt, der nachfolgende beschrieben werden würde. Die U-Boot-Konfiguration muss normalerweise nicht verändert werden, daher entfällt die Aufhebung des Schreibschutzes. Sollte dies doch erforderlich werden, steht dafür das Kommando <tt>protect on</tt> bzw. <tt>protect off</tt> zur Verfügung.<br />
</strong></p>
<p>Anschließend wird die Datei mit den zu flashenden Daten per Kermit ins RAM übertragen (<tt>0x00400000</tt> ist die RAM-Adresse, die als Ziel für solche Operationen im QNAP-Supportdokument vorgeschlagen wird):</p>
<p><code>loadb 0x00400000</code></p>
<p>Nach diesem Kommando erwartet U-Boot den Kermit-Transfer der Datei (z.B. mtd1). Abschließend müssen die Daten vom RAM ins Flash geschrieben werden, zuvor muss der Flash-Bereich jedoch gelöscht werden.</p>
<p>Um den Kernel (mtdblock1) zu schreiben, sind die folgenden Kommandos notwendig:</p>
<p><code>loadb 0x00400000</code></p>
<p>Im Terminalprogramm muss nun der Transfer der Datei (mtd1) per Kermit gestartet werden.</p>
<p><code>erase 0xff000000 0xff1fffff<br />
cp.b 0x00400000 0xff000000 ${filesize}</code></p>
<p>Die Angabe <tt>${filesize}</tt> wird durch die Umgebungsvariable <tt>filesize</tt> ersetzt, welche beim <tt>loadb</tt>-Kommando auf die Größe der übertragenden Datei gesetzt wurde.</p>
<p>Für initrd (mtdblock2) sind die Kommandos wie folgt:</p>
<p><code>loadb 0x00400000</code></p>
<p>Im Terminalprogramm muss nun der Transfer der Datei (mtd2) per Kermit gestartet werden.</p>
<p><code>erase 0xff200000 0xff5fffff<br />
cp.b 0x00400000 0xff200000 ${filesize}</code></p>
<p>Nun kommt der spannende Moment, der über das weitere Schicksal des Systems entscheidet <img src='http://www.milindur.de/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> :</p>
<p><code>reset</code></p>
<p>Damit startet das System neu. Wenn man vorher keine Fehler gemacht hat, dann sollte einen Augenblick später wieder U-Boot mit der neuen Konfiguration starten. Bei Wiederherstellung der Original-Daten von QNAP kann nun eine Installation der Firmware mit dem QNAP-Finder erfolgen oder eine (erneute) Installation von Debian erfolgen.</p>
<p>Viel Glück... <img src='http://www.milindur.de/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p><em>Achja, alle hier gemachten Angaben (insb. zu Speicheradressen) wurden nach bestem Wissen und Gewissen zusammengestellt. Ich übernehme aber keine Gewährleistung dafür.</em></p>
<p><strong>Update</strong></p>
<p>loadb-Anweisungen für mtdblock1/2 vervollständigt. Danke an Ingo S. für den Hinweis.</p>
<p><strong>Update 14.12.2008</strong></p>
<p>Hinweis auf neues QNAP-Supportdokument, Speicheradresse für mtdblock3 hinzugefügt, protect off all entfernt</p>
]]></content:encoded>
			<wfw:commentRss>http://www.milindur.de/2008/08/recovery-der-qnap-ts-109-u-boot/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

