-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathinstall.html
497 lines (479 loc) · 42.8 KB
/
install.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>
help/howtos/common/install – Freetz
</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<!--[if IE]><script type="text/javascript">
if (/^#__msie303:/.test(window.location.hash))
window.location.replace(window.location.hash.replace(/^#__msie303:/, '#'));
</script><![endif]-->
<link rel="search" href="/search" />
<link rel="help" href="../../../TracGuide.html" />
<link rel="alternate" href="install%3Fformat=txt" type="text/x-trac-wiki" title="Reiner Text" />
<link rel="up" href="../common.html" title="Übergeordnete Wiki-Seite anzeigen" />
<link rel="start" href="/wiki" />
<link rel="stylesheet" href="../../../../chrome/common/css/trac.css" type="text/css" /><link rel="stylesheet" href="../../../../chrome/common/css/wiki.css" type="text/css" /><link rel="stylesheet" href="../../../../chrome/wikiextras/css/phrases.css" type="text/css" /><link rel="stylesheet" href="../../../../chrome/wikiextras/css/boxes.css" type="text/css" /><link rel="stylesheet" href="../../../../chrome/wikiextras/css/boxes-300.css" type="text/css" /><link rel="stylesheet" href="../../../../chrome/wikiextras/css/boxes-narrow-toc.css" type="text/css" /><link rel="stylesheet" href="../../../../wikicss.css" type="text/css" /><link rel="stylesheet" href="../../../../chrome/tags/css/tractags.css" type="text/css" /><link rel="stylesheet" href="../../../../chrome/wikinegotiator/css/langmenu-ctxnav.css" type="text/css" />
<link rel="shortcut icon" href="/favicon.ico" type="image/x-icon" />
<link rel="icon" href="/favicon.ico" type="image/x-icon" />
<link type="application/opensearchdescription+xml" rel="search" href="/search/opensearch" title="Freetz durchsuchen" />
<script type="text/javascript" charset="utf-8" src="../../../../chrome/common/js/jquery.js"></script>
<script type="text/javascript" charset="utf-8" src="../../../../chrome/common/js/babel.js"></script>
<script type="text/javascript" charset="utf-8" src="../../../../chrome/common/js/messages/de.js"></script>
<script type="text/javascript" charset="utf-8" src="../../../../chrome/common/js/trac.js"></script>
<script type="text/javascript" charset="utf-8" src="../../../../chrome/common/js/search.js"></script>
<script type="text/javascript" charset="utf-8" src="../../../../chrome/common/js/folding.js"></script>
<script type="text/javascript">
jQuery(document).ready(function($) {
$("#content").find("h1,h2,h3,h4,h5,h6").addAnchor(_("Link to this section"));
$("#content").find(".wikianchor").each(function() {
$(this).addAnchor(babel.format(_("Link to #%(id)s"), {id: $(this).attr('id')}));
});
$(".foldable").enableFolding(true, true);
});
</script>
</head>
<body>
<div id="banner">
<div id="header">
<a id="logo" href="/wiki"><img src="../../../../chrome/common/freetz_motd.png" alt="Freetz" /></a>
</div>
<form id="search" action="https://www.google.com/search" method="get" onsubmit="; this.elements.namedItem('q').value = this.elements.namedItem('oq').value + ' site:freetz.github.io'">
<div>
<label for="proj-search">Suche:</label>
<input type="text" id="proj-search" name="oq" size="18" value="" />
<input type="hidden" name="q" value="" />
<input type="submit" value="Suche" />
</div>
</form>
<div id="metanav" class="nav">
<ul>
<li class="first"><li class="last"><a href="../../../Impressum.html">Impressum</a></li>
</ul>
</div>
</div>
<div id="mainnav" class="nav">
<ul>
<li class="first active"><a href="/wiki">Wiki</a></li><li><a href="https://github.com/Freetz/freetz/commits/master">Quellen durchsehen</a></li><li class="last"><a href="/screenshots">Bildschirmfotos</a></li>
</ul>
</div>
<div id="langmenu"><ul><li class="first"><span title="Select a language of wiki content">Language:</span></li><li class=" active"><a class="" href="install.html" title="displaying language (default)">German</a></li><li class=" last"><a class="" href="install.en.html" title="">English</a></li></ul></div><p /><div id="main">
<div id="pagepath" class="noprint">
<a class="pathentry first" title="Zeige WikiStart an" href="/wiki">Wiki:</a><a class="pathentry" href="../../../help.html" title="Zeige help an">help</a><span class="pathentry sep">/</span><a class="pathentry" href="../../howtos.html" title="Zeige help/howtos an">howtos</a><span class="pathentry sep">/</span><a class="pathentry" href="../common.html" title="Zeige help/howtos/common an">common</a><span class="pathentry sep">/</span><a class="pathentry" href="install.html" title="Zeige help/howtos/common/install an">install</a>
</div>
<div id="content" class="wiki">
<div class="wikipage searchable">
<div id="wikipage" class="trac-content"><p>
</p><div class="wiki-toc"><h4>Inhaltsverzeichnis</h4><ol><li class="active"><a href="install.html#Installation">Installation</a><ol><li class="active"><a href="install.html#VirtuellesLinux:Freetz-LinuxfürVMware-Player">Virtuelles Linux: Freetz-Linux für VMware-Player</a></li><li class="active"><a href="install.html#Vorbereitung">Vorbereitung</a></li><li class="active"><a href="install.html#DurchführungmitWindowsOS">Durchführung mit Windows OS</a></li><li class="active"><a href="install.html#DurchführungmitLinuxOS">Durchführung mit Linux OS</a><ol><li class="active"><a href="install.html#NotwendigePakete">Notwendige Pakete</a><ol><li class="active"><a href="install.html#freetz-2.xstabileVersion">freetz-2.x (stabile Version)</a></li><li class="active"><a href="install.html#aktuelleEntwicklerversionundspeziellePakete">aktuelle Entwicklerversion und spezielle Pakete</a></li><li class="active"><a href="install.html#alteEntwicklerversionen">alte Entwicklerversionen</a></li></ol></li><li class="active"><a href="install.html#InstallationderbenötigtenPaketeUbuntu">Installation der benötigten Pakete (Ubuntu)</a></li><li class="active"><a href="install.html#InstallationderbenötigtenPaketeFedora">Installation der benötigten Pakete (Fedora)</a></li><li class="active"><a href="install.html#ErstellungInstallation">Erstellung & Installation</a></li></ol></li><li class="active"><a href="install.html#coLinuxandLinuxspeedLinux">coLinux / andLinux / speedLinux</a></li><li class="active"><a href="install.html#Cygwin">Cygwin</a></li><li class="active"><a href="install.html#MacOSX">Mac OS X</a></li></ol></li><li class="active"><a href="install.html#Aktualisierung">Aktualisierung</a></li><li class="active"><a href="install.html#Fehlerbehebung">Fehlerbehebung</a></li><li class="active"><a href="install.html#ManuelleseinspielendesImages">Manuelles einspielen des Images</a></li><li class="active"><a href="install.html#WeiterführendeLinks">Weiterführende Links</a></li><li><a href="install/menuconfig.html#Konfiguration">Konfiguration</a><ol><li><a href="install/menuconfig.html#General">General</a></li><li><a href="install/menuconfig.html#Brandings">Brandings</a></li><li><a href="install/menuconfig.html#Mod">Mod</a></li></ol></li></ol></div><p>
</p>
<h1 id="Installation">Installation</h1>
<p>
<a class="wiki" href="../../../freetz.html">Freetz</a> stellt Skripte zum Modifizieren einer originalen Firmware bereit. Aus Lizenzgründen ist die Verbreitung sowohl originaler als auch modifizierter Firmware Images untersagt!
</p>
<p>
<img src="../../../../chrome/wikiextras-icons-16/exclamation.png" style="vertical-align: text-bottom" alt="/!\" /> Achtung: Das Aufspielen einer modifizierten Firmware geht mit dem Verlust der Garantie einher. Wendet euch bei Problemen mit einer modifizierten Firmware daher <strong>NICHT</strong> an den AVM Support.
</p>
<p>
<strong>Anfänger</strong>: Bitte zuerst '<a class="wiki" href="newbie.html">Erste Schritte für Anfänger</a>' lesen!
</p>
<h2 id="VirtuellesLinux:Freetz-LinuxfürVMware-Player">Virtuelles Linux: Freetz-Linux für VMware-Player</h2>
<p>
Wenn kein natives Linux zur Verfügung steht wird von uns <a class="ext-link" href="http://www.ip-phone-forum.de/showthread.php?t=194433"><span class="icon"></span>Freetz-Linux</a> als Buildumgebung empfohlen. Das von Silent-Tears (cinereous) zur Verfügung gestellte Image wird bei Problemen supported.
</p>
<p>
Die unten stehende Anleitung wurde anfangs teilweise von <a class="ext-link" href="http://www.ip-phone-forum.de/member.php?u=118161"><span class="icon"></span>Saphir</a> übernommen, ist aber über die Zeit historisch gewachsen und wurde nach und nach von mehreren Benutzer erweitert und überarbeitet. Wir bemühen uns diese Anleitung möglichst aktuell zu halten und der jeweils aktuellen Version der aktuell zu empfehlenden virtuellen Maschine anzupassen. Grundsätzlich gelten jedoch die hier empfohlene Schritte mit gewissen Einschränkungen für jede FREETZ-tauglich konfigurierte virtuelle Linux-Maschine.
</p>
<h2 id="Vorbereitung">Vorbereitung</h2>
<p>
Siehe auch:
</p>
<p>
<a class="ext-link" href="http://www.ip-phone-forum.de/showpost.php?p=1400234&postcount=1"><span class="icon"></span>Buildumgebung Freetz-Linux Installieren</a>
</p>
<p>
<a class="ext-link" href="http://wiki.ip-phone-forum.de/skript:freetz_und_speed-to-fritz"><span class="icon"></span>Freetz und Speed-to-Fritz Installation</a> (relevant nur für SpeedPort Benutzer)
</p>
<h2 id="DurchführungmitWindowsOS">Durchführung mit Windows OS</h2>
<ol><li>Benötigte Dateien:
<ul><li>VMWare Player <a class="ext-link" href="http://www.vmware.com/de/download/player/"><span class="icon"></span>http://www.vmware.com/de/download/player/</a>
</li><li>VMware Image für Freetz-Linux <a class="ext-link" href="http://www.ip-phone-forum.de/showpost.php?p=1400234&postcount=1"><span class="icon"></span>Forumpost</a> <a class="ext-link" href="http://sourceforge.net/projects/freetz-linux/files/freetz-linux-1.1.1/"><span class="icon"></span>Download</a><br />
</li><li>Freetz (aktuelle und ältere Versionen) <a class="wiki" href="../../../Download.html">Download</a><br /> (Muss man nicht direkt downloaden, wenn man sich das Paket wie unten empfohlen per svn lädt)
</li><li>Evtl. vorhandene Patches für Freetz <a class="ext-link" href="http://www.ip-phone-forum.de/forumdisplay.php?f=525"><span class="icon"></span>Freetz Forum</a><br /><br />
</li></ul></li><li><a class="ext-link" href="http://www.ip-phone-forum.de/showthread.php?t=194433"><span class="icon"></span>Freetz-Linux</a> unter Windows mit <a class="ext-link" href="http://downloads.sourceforge.net/sevenzip/7z442.exe"><span class="icon"></span>7-Zip</a> oder <a class="ext-link" href="http://www.rarlab.com/rar/wrar380d.exe"><span class="icon"></span>WinRAR</a> entpacken.<br /><br />
</li><li>VMWare Player starten und keine Einstellungen ändern, da sich die virutelle Maschine eine IP per DHCP holt. Sollte dieses nicht der Fall sein kann die IP-Adresse mit folgendem Befehl auch per Hand gesetzt werden:
<pre class="wiki">ifconfig eth0 192.168.178.xx netmask 255.255.255.0 broadcast 192.168.178.255
</pre>(Wobei die Netzwerkkarte "eth0" evtl. durch eine eine andere ersetzt werden muss. Eine Auflistung aller Netzwerkkarten erhält man mit <strong>"ifconfig -a"</strong>)<br /><br />
</li><li>Im VMWare Player mit dem Benutzernamen <strong>freetz</strong> und dem Passwort <strong>freetz</strong> anmelden.
<br /><br />Jetzt gibt es mehrere Alternativen, wie man mit Freetz-Linux arbeiten kann und die Dateien zwischen Freetz-Linux und dem Rest der Welt bewegen kann.
<ul><li> <strong>Freetz-Linux Konsole</strong> im VMware Player (am einfachsten)
</li><li><strong>SSH/SCP</strong>: Zu anderen Möglichkeiten gehört z.B. eine SSH/SCP-Verbindung mit <a class="ext-link" href="http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html"><span class="icon"></span>putty</a> oder/und mit <a class="ext-link" href="http://winscp.net/eng/download.php#download2"><span class="icon"></span>WinSCP</a> (beide nur als Beispiel). Als Servernamen für putty/WinSCP trägt man die IP-Adresse von Freetz-Linux. Benutzername und Passwort s. oben
</li><li><strong>SAMBA</strong>: Außerdem gibt es die Möglichkeit Daten zwischen Windows und Freetz-Linux über SAMBA auszutauschen. Dafür gibt man in der Adressenleiste von WindowsExplorer "<br />Freetz-Linux" oder "<br />IP-Adresse-von-Freetz-Linux" an und schon kann man die Dateien zwischen Windows und Freetz-Linux hin und her schieben. Allerdings stimmen dann die Linux Benutzerrechte nicht automtisch wie sie sollten.
</li><li><strong>FTP</strong>: Funktioniert ähnlich wie SAMBA
<br /><br />Alle diese Verbindungsmöglichkeiten sind unter Freetz-Linux voreingestellt und sollten von Anfang an funktionieren. Bei Problemen bitte Netzwerkverbindung, Firewall, etc. überprüfen. Ebenso sollten die Netzwerkeinstellungen vom VMWare-Player überprüft werden. Standardmäßig ist hier <strong>Bridged-Mode</strong> eingestellt. Anfangen mit den Tests sollte man mit "ping IP-Adresse-von-Freetz-Linux" unter Eingabeaufforderung.<br /><br />
</li></ul></li><li>Je nachdem, für welche Methode man sich entschieden hat, macht man folgendes:
<ul><li>Mit <strong>SSH/TELNET</strong> oder <strong>Freetz-Linux Konsole</strong> (bevorzugt) folgendes eingeben: (Anstatt freetz-2.0.x kann auch eine andere, z.B. Entwicklerversion genommen werden.)
<pre class="wiki">svn co http://svn.freetz.org/branches/freetz-stable-2.0.x freetz-2.0.x
</pre></li></ul></li></ol><p>
Aktuell:
</p>
<pre class="wiki">svn co http://svn.freetz.org/branches/freetz-stable-2.0 freetz-2.0
</pre><blockquote>
<p>
<strong>Achtung:</strong> Kleiner Tip für Vista und Windows 7 User:<br />
Solltet Ihr eine IP-Adresse in der VM-Ware erhalten (ifconfig), aber trotzdem folgende Fehlermeldung bekommen :<strong>hostname konnte nicht aufgelöst werden</strong>, dann kontrolliert bitte Folgendes in Eurer Systemsteuerung:<br />
<br />
1.) ob Euer Netzwerk ein Heimnetzwerk ist:<br />
<figure><img src="/screenshots/124.jpg" alt="" /><figcaption></figcaption></figure>
2.) ob Eure Netzwerkkennung eingeschaltet ist:<br />
<figure><img src="/screenshots/123.jpg" alt="" /><figcaption></figcaption></figure>
<br /><br />
</p>
</blockquote>
<ol><li><em>Optional</em>: Patch einspielen (siehe <a class="wiki" href="../development/integrate_patches.html">Howto</a>)<br /><br />
</li><li>In das Verzeichnis des ausgecheckten/entpackten Freetz wechseln:
<pre class="wiki">cd freetz-2.0.x (aktuell: cd freetz-2.0)
</pre></li><li>Einstellungen wie Boxtyp, Pakete usw. konfigurieren. Dies ist über ein <a class="ext-link" href="http://de.wikipedia.org/wiki/Ncurses"><span class="icon"></span>ncurses</a> Interface möglich, welches z.B. aus der Konfiguration des Linux Kernels bekannt ist. Details und Beschreibungen zu den Optionen gibt es in der Beschreibung zum <a class="wiki" href="install/menuconfig.html">menuconfig</a>.
<pre class="wiki">make menuconfig
</pre>Es empfiehlt sich beim ersten Mal nicht zu viele Einstellungen zu verändern und das erste FritzBox Firmware Image mit den Standardvorgaben zu erstellen.<br /><br />
</li><li>Firmware modifizieren. In diesem Schritt werden die zu der gewählten Konfiguration passenden Originalfirmware, Pakete, sowie Sourcen für die benötigten Tools vollautomatisch heruntergeladen und die modifizierte Firmware in drei Schritten erzeugt. Beim ersten Mal dauert es etwas länger. Die Zeit ist abhängig von den ausgewählten Paketen und dem benutzten Rechner. Man kann also ruhig eine Kaffeepause einlegen.
<pre class="wiki">make
</pre></li><li>Wenn der Build ohne Fehler durchgelaufen ist, dann findet sich jetzt unter <tt>~/freetz-2.0.*/images</tt> die neue FritzBox Firmware (z.B. <tt>7170_04.76freetz-devel-10390.de_20130421-180742.image</tt>).<br /><br />
</li><li>Diese Datei kann ganz normal als Firmware Update auf die Box hochladen werden. Dazu muss die FritzBox aber mit einem Passwort gesichert sein, da sie fremde Images sonst nicht akzeptiert. (Falls Freetz schon auf der Box ist sollte bevorzugt die Update Funktion des Freetz Webinterfaces genutzt werden.) Nach einem erfolgreichen Upload ist nun auf Port 81 ein weiteres Webinterface verfügbar, welches Instruktionen zum Abschluss der Installation enthält. Sollte die Box nach dem Hochladen der Firmware auch Minuten nachdem die Info LED aufgehört hat zu blinken nicht mehr erreichbar sein (typischerweise leuchten <strong>periodisch</strong> immer wieder alle LEDs auf), so kann die originale Firmware bei den meisten Box-Typen, wie in diesem <a class="wiki" href="../troubleshoot/recover_firmware.html">Howto</a> beschrieben, wiederhergestellt werden.
</li></ol><h2 id="DurchführungmitLinuxOS">Durchführung mit Linux OS</h2>
<h3 id="NotwendigePakete">Notwendige Pakete</h3>
<p>
Für das Erstellen der Firmware kann auch Knoppix verwendet werden, wozu keine Linux-Installation erforderlich ist. Wichtig ist, dass zum Kompilieren des Mods unter Linux keine FAT oder NTFS Partition verwendet wird. Die folgende Anleitung benötigt für
</p>
<h4 id="freetz-2.xstabileVersion">freetz-2.x (stabile Version)</h4>
<ul><li><strong>gcc</strong> - GNU C Compiler
</li><li><strong>g++</strong> - GNU C++ Compiler
</li><li><strong>binutils</strong> - GNU Assembler, Linker und Binary-Werkzeuge
</li><li><strong>autoconf</strong> - dem Make vorgeschalteter Generator für Konfigurationsskripten nach GNU-Standard; hilft dabei, plattformunabhängig programmierte Software letztendlich für einen plattformspezifischen Build vorzubereiten
</li><li><strong>automake</strong> ab Version 1.10 - Makefile-Generator nach GNU-Standard; wird nur für manche Pakete benötigt, aber z.B. für <a class="wiki" href="../../../packages/privoxy.html">privoxy</a>; Paketmanager installiert normalerweise <em>autoconf</em> als abhängiges Paket gleich mit
</li><li><strong>libtool</strong> - hilft beim Erstellen von statischen und dynamischen Bibliotheken; kann z.B. beim aufruf von <em>autoreconf</em> notwendig werden
</li><li><strong>GNU make</strong> ab Version 3.81 - skriptgesteuertes Build-System
</li><li><strong>bzip2</strong> - (Ent)packen von Software-Archiven
</li><li><strong>libncurses5-dev</strong> - Entwickler-Bibliothek für ncurses (Erzeugung komfortabler textbasierter Benutzerschnittstellen, vgl. <tt>make menuconfig</tt>)
</li><li><strong>zlib1g-dev</strong> - Entwickler-Bibliothek für gzip-Kompression
</li><li><strong>flex</strong> - lex-kompatibler Generator für lexikalische Analyse
</li><li><strong>bison</strong> - YACC-kompatibler Parser-Generator
</li><li><strong>patch</strong> - Programm, um Patches anzuwenden
</li><li><strong>texinfo</strong> - Online-/Druck-Doku aus gemeinsamer Quelle erzeugen
</li><li><strong>tofrodos</strong> - Dateiumwandlung DOS ↔ UNIX (für was wird das benötigt?)
</li><li><strong>gettext</strong> - Texte in Programmen internationalisieren
</li><li><strong>pkg-config</strong> - Hilfstool welches zum Bauen von Binaries und Libraries nötig ist
</li><li><strong>ecj-bootstrap</strong> - Eclipse Java Compiler (evtl. auch libecj-java und ecj in neueren Distributionen); nur notwendig für Package <em>classpath</em> ab 0.95
</li><li><strong>perl</strong> - Perl-Interpreter; notwendig für <tt>make recover</tt>
</li><li><strong>libstring-crc32-perl</strong> - Perl-Modul zur Berechnung von CRC32-Prüfsummen; notwendig für <tt>make recover</tt>
</li><li><strong>xz-utils</strong> - (Ent)packen von Software-Archiven im XZ-Format (strace seit freetz-stable-1.2)
</li></ul><h4 id="aktuelleEntwicklerversionundspeziellePakete">aktuelle Entwicklerversion und spezielle Pakete</h4>
<p>
Diese benötigen zusätzlich zu bereits unter <em>freetz-2.x</em> genannten noch folgende Pakete:
</p>
<ul><li><strong>svn</strong> - Subversion zum Auschecken der aktuellen Freetz-Versionen
</li><li><strong>ruby1.8</strong> - objektorientierte Skriptsprache (Version 1.8.6); nur notwendig für Package <em>ruby</em> (ab freetz-devel) - seltsamerweise benötigt der Crosscompile für <em>ruby-1.8.6</em> eine installierte Version seiner selbst als Voraussetzung. Zu allem Überfluß könnte es sein, daß Sie im Paket zwar <tt>/usr/bin/ruby1.8</tt> o.ä. haben, aber nicht das vom Makefile benötigte Binary Namens <em>ruby</em>. Da hilft im o.g. Beispiel <tt>sudo ln -s ruby1.8 /usr/bin/ruby</tt> bzw. die Ausführung des <tt>ln</tt>-Befehls als Benutzer <em>root</em>.
</li><li><strong>gawk</strong> - GNU awk; notwendig für das Skript <tt>tools/extract-images</tt> (ab freetz-devel), wenn man z.B. ein Recover-EXE zerlegen, also <em>urlader.image</em> und <em>kernel.image</em> extrahieren möchte. Die in anderen <em>awk</em>-Varianten nicht vorhandene Funktion <em>strtonum</em> wird an einer Stelle verwendet.
</li><li><strong>python</strong> - Python-Interpreter; notwendig, um via <tt>tools/mklibs.py</tt> unbenutzte Symbole aus Bibliotheken zu entfernen, um Platz zu sparen
</li><li><strong>libusb-dev</strong> - Entwicklungs-Bibliothek für USB-Anwendungen im Userspace; nur notwendig für SANE, wenn bspw. Multifunktionsdrucker/-scanner an die FritzBox angebunden werden sollen. Siehe auch <a class="ext-link" href="http://www.ip-phone-forum.de/showpost.php?p=1075181&postcount=199"><span class="icon"></span>Forums-Beitrag</a> dazu.
</li><li><strong>realpath</strong> - wird nur von Entwicklern benötigt, die innerhalb von <em>fwmod</em> beim Build das Patch-Auto-Fixing verwenden (AUTO_FIX_PATCHES=y im Environment). Wer nicht weiß, wovon die Rede ist, braucht es auch nicht. Unter Fedora nicht verfügbar, man kann es aber selbst kompilieren <a class="ext-link" href="http://forums.fedoraforum.org/archive/index.php/t-143199.html"><span class="icon"></span>http://forums.fedoraforum.org/archive/index.php/t-143199.html</a>. <strong><span class="wikiextras phrase todo">TODO</span></strong> nicht mehr notwendig in Trunk und freetz-stable-1.2, Eintrag löschen nach Release.
</li><li><strong>fastjar</strong> - Implementation des Java jar utils; nur notwendig für Package <em>classpath</em>
</li><li><strong>git</strong> - GIT Tool zum auschecken von GIT Repositories (benötigt für freetz_download)
</li><li><strong>imagemagick</strong> (bzw <strong>ImageMagick</strong>) - enthält <tt>composite</tt> mit dem Bilder kombiniert werden können; nur notwendig wenn man das AVM-Webinterface "taggen" möchte
</li><li><strong>patchutils</strong> - Tools zum Umgang mit Patches; notwendig für <tt>tools/freetz_patch</tt> (Auto-Fix-Modus)
</li><li><strong>mktemp</strong> - Erzeugen temporärer Dateien mit Zufallsnamen; notwendig für <tt>tools/freetz_patch</tt> (Auto-Fix-Modus)
</li></ul><h4 id="alteEntwicklerversionen">alte Entwicklerversionen</h4>
<p>
Hier wird zusätzlich folgendes benötigt:
</p>
<ul><li><strong>automake-1.8</strong> - Version, die zusätzlich speziell von <em>libid3tag</em> benötigt wird. Nicht mehr erforderlich ab Freetz 1.0.
</li><li><strong>jikes</strong> - Java Byte Code Compiler; nur notwendig für Package <em>classpath</em> bis 0.93 bzw. ds26-14.4
</li></ul><h3 id="InstallationderbenötigtenPaketeUbuntu">Installation der benötigten Pakete (Ubuntu)</h3>
<p>
Eine einfache Möglichkeit die benötigten Pakete zu installieren besteht darin, diesen Code per Copy and Paste auf der Konsole auszuführen.
</p>
<p>
(Falls du eine US-Tastaturbelegung hast → "sudo locale-gen de_DE" und "sudo dpkg-reconfigure console-data" ausführen. <a class="ext-link" href="https://help.ubuntu.com/community/LocaleConf"><span class="icon"></span>Details</a> )
</p>
<div class="code"><pre>sudo apt-get -y update
sudo apt-get -y upgrade
sudo apt-get -y dist-upgrade
<span class="c"># Angepasst z.B. auf Ubuntu 9.04 (kein automake 1.8, "ecj" statt "ecj-bootstrap"):
</span>sudo apt-get -y install imagemagick subversion gcc g++ binutils autoconf automake automake1.9 libtool make bzip2 libncurses5-dev libreadline-dev zlib1g-dev flex bison patch texinfo tofrodos gettext pkg-config jikes ecj fastjar realpath perl libstring-crc32-perl ruby ruby1.8 gawk python libusb-dev unzip intltool libglib2.0-dev xz-utils git-core libacl1-dev libattr1-dev libcap-dev
<span class="c"># Ubuntu 9.10, 10.xx, 11.xx und 12.04
</span>sudo apt-get -y install imagemagick subversion gcc g++ bzip2 binutils automake patch autoconf libtool pkg-config make libncurses5-dev libreadline-dev zlib1g-dev flex bison patch texinfo tofrodos gettext pkg-config ecj fastjar realpath perl libstring-crc32-perl ruby ruby1.8 gawk python libusb-dev unzip intltool libglib2.0-dev xz-utils git-core libacl1-dev libattr1-dev libcap-dev
<span class="c">#Ubuntu 13.04 und 14.04
</span>sudo apt-get -y install graphicsmagick subversion gcc g++ binutils autoconf automake automake1.9 libtool make bzip2 libncurses5-dev libreadline-dev zlib1g-dev flex bison patch texinfo tofrodos gettext pkg-config ecj fastjar realpath perl libstring-crc32-perl ruby ruby1.8 gawk python libusb-dev unzip intltool libacl1-dev libcap-dev
<span class="c"># Seit Debian Jessie bzw. Ubuntu 15.04 (vivid) wird zusätzlich das Paket libtool-bin benötigt:
</span>sudo apt-get -y install libtool-bin
<span class="c"># Auf 64-Bit Systemen sind zusätzlich folgende Pakete zu installieren:
</span>sudo apt-get -y install libc6-dev-i386 lib32ncurses5-dev gcc-multilib lib32stdc++6
<span class="c"># Ubuntu 15.10 x64:
</span>sudo apt-get -y install imagemagick subversion git gcc g++ binutils autoconf automake autopoint libtool-bin make bzip2 libncurses5-dev libreadline-dev zlib1g-dev flex bison patch texinfo tofrodos gettext pkg-config ecj fastjar realpath perl libstring-crc32-perl ruby ruby1.8 gawk python libusb-dev unzip intltool libacl1-dev libcap-dev libc6-dev-i386 lib32ncurses5-dev gcc-multilib lib32stdc++6 libglib2.0-dev
</pre></div><p>
Wer vergessen hat welche Ubuntu Version er installierte kann dies mit folgenden Befehlen prüfen:
</p>
<pre class="wiki"># Ubuntu Version: ergibt z.B. "Ubuntu 12.04.1 LTS \n \l"
cat /etc/issue
# Maschinen Typ: ergibt z.B. "i686" bei 32-bit Ubuntu und "x86_64" bei 64-Bit Ubuntu
uname -m
</pre><h3 id="InstallationderbenötigtenPaketeFedora">Installation der benötigten Pakete (Fedora)</h3>
<pre class="wiki">sudo yum -y install ImageMagick subversion gcc gcc-c++ binutils autoconf automake libtool make bzip2 ncurses-devel zlib-devel flex bison patch texinfo gettext pkgconfig ecj perl perl-String-CRC32 wget glib2-devel git libacl-devel libattr-devel libcap-devel
# Auf 64-Bit Systemen sind zusätzlich folgende Pakete zu installieren:
sudo yum -y install ncurses-devel.i686 glibc-devel.i686 libgcc.i686
</pre><h3 id="ErstellungInstallation">Erstellung & Installation</h3>
<ol><li>Shell öffnen, ins Verzeichnis von <tt>freetz-xxx.tar.bz2</tt> wechseln und diesen mit <tt>tar -xvjf freetz-x.y.z.tar.bz2</tt> entpacken
</li><li><em>Optional</em>: Patch einspielen (siehe <a class="wiki" href="../development/integrate_patches.html">Howto</a>)
</li><li>Mit <tt>cd freetz-xxx/</tt> in das Verzeichnis des entpackten Freetz wechseln
</li><li>Konfiguration wählen. Dies ist über ein ncurses Interface möglich, welches z.B. aus der Konfiguration des Linux Kernels bekannt ist. Details und Beschreibungen zu den Optionen gibt es in der Beschreibung zum <a class="wiki" href="install/menuconfig.html">make menuconfig</a>.
</li><li>Firmware modifizieren. In diesem Schritt werden die zu der gewählten Konfiguration passenden original Firmware und Pakete, sowie Sourcen für die benötigten Tools vollautomatisch heruntergeladen und die modifizierte Firmware in drei Schritten erzeugt. Dies erledigt ein simples <tt>make</tt>.
</li><li><tt>*.image</tt> als Firmware Update auf die Box hochladen. Nach einem erfolgreichen Upload ist nun auf Port 81 ein weiteres Webinterface verfügbar, welches Instruktionen zum Abschluss der Installation enthält. Sollte die Box nach dem Hochladen der Firmware auch Minuten nachdem die Info LED aufgehört hat zu blinken nicht mehr erreichbar sein (typischerweise leuchten <strong>periodisch</strong> immer wieder alle LEDs auf), so kann die originale Firmware bei den meisten Box-Typen, wie in diesem <a class="wiki" href="../troubleshoot/recover_firmware.html">Howto</a> beschrieben, wiederhergestellt werden.
</li></ol><h2 id="coLinuxandLinuxspeedLinux">coLinux / andLinux / speedLinux</h2>
<p>
Siehe auch: <a class="ext-link" href="http://wiki.ip-phone-forum.de/skript:andlinux"><span class="icon"></span>andlinux unter Vista installieren</a>
</p>
<p>
Alternativ kann auch <a class="ext-link" href="http://colinux.org"><span class="icon"></span>coLinux</a> benutzt werden, ist etwas resourcenschonender als der vmware player.
Mit speedLinux ist alles vorbereitet für freetz oder speed-to-fritz.
Mit ./freetz werden alle notwendigen Vorbereitungen und Installationen durchgeführt.
aktueller Stand 25.10.2009
</p>
<p>
Anmerkung von Alexander Kriegisch (kriegaex), 24.02.2008: Ja, das benutze ich auch seit gestern, und zwar speziell die mit Ubuntu Gutsy und XFCE (wahlweise auch KDE) vorkonfigurierte Variante <strong><a class="ext-link" href="http://www.andlinux.org"><span class="icon"></span>andLinux</a></strong>, die man wahlweise als Dienst oder als Anwendung starten kann und mit einem einfachen Installer ausgeliefert wird. Scheint etwas langsamer zu sein als ein reines Linux, aber es ist schon cool, Linux-Fenster nativ neben Windows-Fenstern zu haben. <em><img src="../../../../chrome/wikiextras-icons-16/smiley.png" style="vertical-align: text-bottom" alt=":-)" /></em> Der mitgelieferte X-Server Xming (für Windows) macht's möglich. Ich verwende übrigens nicht mal ein X-Terminal, sondern logge mich sozusagen "headless" über SSH ein (Putty). Ab und zu lasse ich mal Synaptic oder als X-Editor SciTE laufen, den ich nachinstalliert habe. Ich baue gerade sämtliche Freetz-Pakete "from scratch" inkl. <a class="wiki" href="../../../Download.html">Download</a>, es geht genauso wie in VMware oder nativem Linux, also Linux-Paketliste siehe oben.
</p>
<p>
Nachteile von coLinux/andLinux/speedLinux:
</p>
<ul><li>bei Multicore-Prozessoren wird nur ein Kern benutzt
</li><li>keine 64bit Unterstützung
</li><li>gravierende Systemanpassungen (spezieller Kernel, etc) bei Updates des Systems notwendig.
</li></ul><p>
Vorteile von coLinux/andLinux/speedLinux:
</p>
<ul><li>kommt mit weniger RAM aus als VMWare (geringerer Ressourcenbedarf)
</li><li>native Windowsfenster
</li></ul><p>
Bei andLinux - Beta 2 minimal ist nicht ausreichend Platz für ein Build vorhanden.
Ein Lösungsansatz:
Den andLinux Dienst stoppen (Startmenü-andLinux-Stop andLinux)
In das andLinux Installationsverzeichnis wechseln und die Datei "ImageResizeTool.zip" nach "Drives" entpacken.
Dort die Datei "toporesize.bat" ausführen.
</p>
<p>
Leider hat das bei mir nicht funktioniert.
</p>
<p>
Alternative Möglichkeit:
</p>
<ol><li>cmd.exe ausführen (ggf. als Admin)
</li><li>in das andLinux Installationsverzeichnis wechseln
</li><li>Dienst Stoppen (siehe oben) oder srvstop.bat ausführen
</li><li>in das "Drives" Verzeichnis wechseln
</li><li>tfile base.vdi 4096 : vergrößert das Filesystem auf 4 GB
</li><li>e2fsck.exe -f base.vdi
</li><li>resize2fs.exe base.vdi
</li><li>Dienst wieder starten (via Startmenü oder srvstart.bat)
</li></ol><p>
Eine weitere Partition für Feetz anlegen.
</p>
<p>
Das bietet auch den Vorteil das bei Updates diese Partition nicht berührt wird und so wie diese ist weiter verwendet werden kann.
</p>
<blockquote>
<p>
Wie macht man das?
</p>
</blockquote>
<blockquote>
<p>
Beispiel:
</p>
</blockquote>
<blockquote>
<blockquote>
<p>
Eine Kopie von Drives\base.vdi auf Drives\copyofbase.vdi machen, der Inhalt kann später nach Einbindung gelöscht werden.
</p>
</blockquote>
</blockquote>
<blockquote>
<blockquote>
<p>
Im File settings.txt die folgende Zeile zusätzlich eintragen:
</p>
</blockquote>
</blockquote>
<p>
</p>
<blockquote>
<blockquote>
<p>
cobd2=Drives\copyofbase.vdi
</p>
</blockquote>
</blockquote>
<p>
</p>
<blockquote>
<blockquote>
<p>
Im gestartenten LINUX vorher Verzeichnis <em>/mnt/freetz</em> anlegen und in der Datei <em>/etc/fstab</em> folgende Zeile eintragen:
</p>
</blockquote>
</blockquote>
<blockquote>
<blockquote>
<p>
<em>/dev/cobd2 /mnt/freetz ext3 defaults 1 1</em>
</p>
</blockquote>
</blockquote>
<p>
SpeedLinux hat eine Option zum vergrößern der Partition.
</p>
<h2 id="Cygwin">Cygwin</h2>
<p>
<img src="../../../../chrome/wikiextras-icons-16/exclamation.png" style="vertical-align: text-bottom" alt="/!\" /> <strong>Unter Cygwin funktioniert Freetz definitiv <em>nicht</em>, und auch für ds-0.2.9 (Kernel 2.4) wird Linux empfohlen, weil es mit Cygwin Probleme geben kann und es außerdem einen <em>riesigen</em> Geschwindigkeitsverlust beim Bauen (mehrfache Build-Dauer) bedeutet, Cygwin zu verwenden.</strong> <img src="../../../../chrome/wikiextras-icons-16/exclamation.png" style="vertical-align: text-bottom" alt="/!\" />
</p>
<p>
Da Freetz sich unter Cygwin ohnehin nicht bauen lässt, folgt hier lediglich die Beschreibung für ds-mod:
</p>
<p>
Ein Howto von dsl123 zum Kompilieren des ds-mod's unter Cygwin gibt es <a class="ext-link" href="http://www.ip-phone-forum.de/showthread.php?t=98657"><span class="icon"></span>hier</a>. Zum Entpacken der Datei <tt>ds-*.tar.bz2</tt> unter Windows <strong>ausschließlich</strong> das Cygwin-tar — wie in der Anleitung beschrieben — verwenden:
</p>
<ol><li>Cygwin Installer von <a class="ext-link" href="http://www.cygwin.com/"><span class="icon"></span>http://www.cygwin.com/</a> herunterladen und ausführen
</li><li>Cygwin mit den folgenden Paketen installieren:
<ul><li>Archive > unzip
</li><li>Devel > gcc, libncurses-devel, make, patchutils
</li><li>Interpreters > perl
</li><li>Web > wget
</li></ul></li><li><tt>ds-*.tar.bz2</tt> in das Cygwin Home-Verzeichnis herunterladen (je nach Installation z.B. <tt>C:/Cygwin/home/<Windows-Benutzername>/</tt>)
</li><li>Cygwin Shell öffnen und den ds-mod entpacken <tt>tar -xvjf ds-x.y.z.tar.bz2</tt>
</li><li><em>Optional</em>: Patch einspielen (siehe <a class="wiki" href="../development/integrate_patches.html">Howto</a>)
</li><li>In das Verzeichnis des entpackten ds-mod wechseln <tt>cd ds-*/</tt>
</li><li>Konfiguration wählen. Dies ist über ein <a class="ext-link" href="http://de.wikipedia.org/wiki/Ncurses"><span class="icon"></span>ncurses</a> Interface möglich, welches z.B. aus der Konfiguration des Linux Kernels bekannt ist. Details und Beschreibungen zu den Optionen gibt es in der Beschreibung zum <a class="wiki" href="install/menuconfig.html">menuconfig</a>. <tt>make menuconfig</tt>
</li><li>Firmware modifizieren. In diesem Schritt werden die zu der gewählten Konfiguration passenden original Firmware und Pakete, sowie Sourcen für die benötigten Tools vollautomatisch heruntergeladen und die modifizierte Firmware in drei Schritten erzeugt. <tt>make</tt>
</li><li><tt>firmware_*.image</tt> als Firmware Update auf die Box hochladen. Nach einem erfolgreichen Upload ist nun auf Port 81 ein weiteres Webinterface verfügbar, welches Instruktionen zum Abschluss der Installation enthält. Sollte die Box nach dem Hochladen der Firmware auch Minuten nachdem die Info LED aufgehört hat zu blinken nicht mehr erreichbar sein (typischerweise leuchten <strong>periodisch</strong> immer wieder alle LEDs auf), so kann die original Firmware mit Hilfe der <tt>recover.exe</tt> von AVM wiederhergestellt werden.
</li></ol><h2 id="MacOSX">Mac OS X</h2>
<p>
Im Prinzip und mit ein paar Patches funktioniert ein aktuelles ds-mod auch unter Mac OS X. Zumindest ist mir gelungen, ds-0.2.9_26-14.2 unter Mac OS X zum Funktionieren zu überreden.
</p>
<p>
Zunächst sind folgende Voraussetzungen zu erfüllen:
</p>
<ol><li>Datenpartition erstellen, bei der das HFS+ case sensitive konfiguriert ist.
</li><li>Xcode installieren. Dadurch erhält man geeignete Versionen von u. a.
<ul><li>gcc
</li><li>g++
</li><li>autoconf
</li><li>automake
</li><li>make
</li><li><a class="ext-link" href="http://de.wikipedia.org/wiki/Ncurses"><span class="icon"></span>ncurses</a>
</li><li>zlib
</li><li>flex
</li><li>bison
</li></ul></li></ol><p>
Außerdem sind einige (GNU) Utilities nötig, die z.B. über Darwin Ports installiert werden können:
</p>
<ul><li>gettext
</li><li>texinfo
</li><li>dos2unix
</li><li>gawk
</li><li>coreutils
</li><li>findutils
</li><li>gsed
</li></ul><p>
Und vermutlich ein paar weitere, wenn man die entsprechenden Packages anwählt.
</p>
<p>
Die zusätzlichen Utilities werden in der Regel unter Namen installiert, die mit g beginnen, um nicht mit den nativen Utilities von Mac OS X in Konflikt zu geraten. Manche Konfigurationsskripte setzen aber die Eigenschaften von GNU-Utilities voraus, auch wenn sie unter dem Standardnamen aufgerufen werden. Daher habe ich mir ein Verzeichnis erstellt, in dem Symlinks der Standardnamen auf die GNU Utilities zeigen. Zum Arbeiten mit ds-mod ist dieses Verzeichnis in den Suchpfad aufzunehmen:
</p>
<pre class="wiki">~/gnubin $ ls -l
total 64
-rwxr-xr-x 1 enrik enrik 106 20 Mär 17:23 as
lrwxr-xr-x 1 enrik enrik 19 20 Mär 17:18 awk -> /opt/local/bin/gawk
lrwxr-xr-x 1 enrik enrik 18 20 Mär 18:32 cp -> /opt/local/bin/gcp
lrwxr-xr-x 1 enrik enrik 22 11 Apr 10:11 cpp -> /usr/local/bin/cpp-3.3
lrwxr-xr-x 1 enrik enrik 20 11 Apr 10:11 find -> /opt/local/bin/gfind
lrwxr-xr-x 1 enrik enrik 23 20 Mär 17:18 install -> /opt/local/bin/ginstall
-rwxr-xr-x 1 enrik enrik 106 20 Mär 17:24 ld
lrwxr-xr-x 1 enrik enrik 21 20 Mär 17:18 sed -> /opt/local/bin/gnused
</pre><p>
Die Pseudebefehle <tt>as</tt> und <tt>ld</tt> dienen hier nur dazu, der glibc für den Kernel-Compiler, die über crosstool erstellt wird, geeignete binutils vorzugaukeln. Die beiden Dateien sehen so aus:
</p>
<div class="code"><pre>~/gnubin <span class="nv">$ </span>cat as
<span class="c">#! /bin/sh
</span>
<span class="c"># fake as version for crosstool
</span>
<span class="o">[</span> <span class="s2">"$1"</span> <span class="o">=</span> -v <span class="o">]</span> <span class="o">&&</span> <span class="nb">echo </span>GNU assembler 2.13 <span class="o">||</span> /usr/bin/as <span class="s2">"$@"</span>
</pre></div><div class="code"><pre>~/gnubin <span class="nv">$ </span>cat ld
<span class="c">#! /bin/sh
</span>
<span class="c"># fake ld version for crosstool
</span>
<span class="o">[</span> <span class="s2">"$1"</span> <span class="o">=</span> --version <span class="o">]</span> <span class="o">&&</span> <span class="nb">echo </span>GNU ld 2.13 <span class="o">||</span> /usr/bin/ld <span class="s2">"$@"</span>
</pre></div><div class="code"><pre>~/gnubin <span class="nv">$ PATH</span><span class="o">=</span><span class="nv">$HOME</span>/gnubin:<span class="nv">$PATH</span>
</pre></div><p>
Außerdem wird ein Patch für ds-mod benötigt, den man hier herunterladen kann:
</p>
<ul><li><a class="ext-link" href="http://www.akk.org/~enrik/fbox/ds-mod/ds-0.2.9_26-14.2-macosx.patch.gz"><span class="icon"></span>ds-0.2.9_26-14.2-macosx.patch.gz</a>
</li></ul><p>
Das ganze ist wenig getestet, insbesondere habe ich noch kein so erstelltes Image ausprobiert.
</p>
<h1 id="Aktualisierung">Aktualisierung</h1>
<p>
<em>Freetz</em> läuft nun also super auf der Box, und das schon seit längererm. Da kommt es vor, dass AVM eine neue Firmware-Version herausbringt, und auch die <em>Freetz</em>-Entwicklung weitergegangen ist. Kurzum: Man möchte nun natürlich auch von den neuen Features und Bugfixes profitieren. Wie bringt man also <em>Freetz</em> auf der Box auf den neuesten Stand?
</p>
<p>
Die Antwort ist recht einfach: "Siehe oben". Eine Aktualisierung geht genau so vonstatten, wie auch die Erst-Installation: Man baut sich ein neues <em>Freetz</em>-Image und nutzt dann das "Firmware-Update" der Box.
</p>
<p>
Hat man für die Installation eine Repository-Version verwendet, bringt man selbiges zuvor auf den aktuellen Stand, indem man in das Quellverzeichnis wechselt und…
</p>
<div class="code"><pre><span class="c"># In das Verzeichnis wechseln, in dem sich das "ausgecheckte" Freetz befindet:
</span><span class="nb">cd </span>freetz
<span class="c"># Quelldateien aktualisieren
</span>svn up
<span class="c"># ggf. die Paketauswahl überprüfen, verändern, neue Patches aktivieren, etc.
</span>make menuconfig
<span class="c"># Image bauen
</span>make
</pre></div><p>
Und jetzt das fertige Image auf die Box.
</p>
<h1 id="Fehlerbehebung">Fehlerbehebung</h1>
<p>
Falls bei der Erstellung des Images ein Fehler auftreten sollte, findet man die Lösung dazu wahrscheinlich in den <a class="wiki" href="../../../FAQ.html">FAQ</a>. <br />
</p>
<p>
<strong>Achtung:</strong> Die <a class="wiki" href="../../../FAQ.html">FAQ</a> sollten in Deutsch angezeigt werden. Sollte das nicht der Fall sein, dann bitte diesen <a class="ext-link" href="http://www.ip-phone-forum.de/showpost.php?p=1415087&postcount=11"><span class="icon"></span>Tipp</a> beachten.
</p>
<h1 id="ManuelleseinspielendesImages">Manuelles einspielen des Images</h1>
<p>
Wenn das Hochladen des Images partout nicht klappen will hat man noch die Möglichkeit es manuell auf die Fritzbox zu bringen. Hierfür sollten bevorzugt die Helfer recover-eva und push_firmware aus dem tools/-Verzeichnis genutzt werden. Aber auch ein Einspieln per Hand ist möglich und wir im folgenden kurz beschrieben. Voraussetzung ist, daß wir ein fertig erstelltes Image besitzen und in einer Linuxumgebung arbeiten! Wir entpacken nun aus dem fertigen Image die kernel.image Datei und wechseln wenn nötig in das Verzeichnis in welchem die kernel.image Datei liegt. Jetzt wird es etwas trickreich, da die Fritzbox nur in den ersten 5-10 Sekunden nach Neustart per ftp zu erreichen ist. Wir geben also in unserer Linuxkonsole schon einmal den ersten Befehl ein <strong>ftp 192.168.178.1</strong> und gehen dann zur Fritzbox, um sie über den Stromstecker zu resetten, eilen schnell wieder zurück und drücken die Enter-Taste. Wenn es geklappt hat wird man nach Benutzername und Passwort gefragt, er lautet für beides <strong>adam2</strong>. Weiter gehen wir wie folgt vor:
</p>
<pre class="wiki">Eingabe am Prompt: bin
Eingabe am Prompt: passiv
Flash am Prompt initiieren mit: quote MEDIA FLSH
Datei übertragen mit: put kernel.image mtd1
Rebranding: quote SETENV firmware_version avm
Reboot der Box starten: quote REBOOT
ftp verlassen: quit
</pre><p>
Es klappt meistens nicht beim ersten Versuch. Es hilft dann, ftp abzubrechen und es direkt nochmal neu zu versuchen.
</p>
<h1 id="WeiterführendeLinks">Weiterführende Links</h1>
<ul><li><a class="ext-link" href="http://www.ip-phone-forum.de/showthread.php?t=175564"><span class="icon"></span>IPPF Thread</a> zum Thema
</li><li>Speedports: (siehe <a class="ext-link" href="http://wiki.ip-phone-forum.de/skript:speedport2fritz#was_mach_ich_mit_dem_fertigen_kernel.image"><span class="icon"></span>sp2fritz</a>). Ab Skriptversion 2.2.2008 ist das speed2fritz möglich.
</li></ul></div>
</div><ul class="tags"><li class="header">Tags</li><li><a href="/tags/howtos" rel="tag">howtos</a> </li></ul>
</div>
<script type="text/javascript">
jQuery.loadStyleSheet("/chrome/screenshots/css/screenshots.css", "text/css");
jQuery.loadStyleSheet("/pygments/trac.css", "text/css");
</script>
</div>
</body>
</html>