Wiki:help/howtos/development/integrate_patches
zuletzt geändert vor 4 Jahre zuletzt geändert am 22.09.2008 10:40:08

Howtos: Entwicklung

  1. Entpacken und Packen von Firmware-Images
    1. Tools und Syntax
    2. Vorgehensweise
  2. Patches in Freetz einspielen
  3. Developer Information
  4. Ablauf eines Firmware-Updates
  5. Eigene Programme kompilieren
  6. Dynamische Bandbreitenanzeige per SVG
    1. Anleitung zur Test-Installation
  7. Platz sparen im Dateisystem der FritzBox
    1. Vorwort und Motivation
    2. Bestandsaufnahme: Wo stecken die Platzfresser?
    3. Weitere Spartricks
    4. Schlußwort
  8. Flash-Partitionen im laufenden Betrieb sichern
    1. Motivation
    2. Voraussetzungen
    3. Lösungsweg
    4. Wege, sich schnell einen Überblick zu verschaffen
    5. Zusammenfassung
  9. Release Management
    1. Subversion Repository
    2. Checklists
    3. GIT
    4. Downloads
    5. References
  10. First steps - How to start your first freetz package
    1. Foreword and Motivation
    2. Where to Ask Questions and to Discuss
    3. Build Environment
    4. Use of the "empty" Package as Starting Point
    5. Add New Package for "make menuconfig"
    6. Call Procedures "make menuconfig" and "make"
    7. Testing
    8. Preparing New Package for Public Integration to Freetz Trunk
  11. Kernel konfigurieren und kompilieren
  12. Menükonfiguration pflegen
    1. Einstieg
    2. Beispiel-Konfiguration für ein neues Paket
    3. Menuconfig-Warnungen beheben
    4. Erklärung und Anwendung der erweiterten MK-Targets
    5. Syntax-Fehler in MK-Dateien finden
    6. Syntax-Hervorhebung für MK-Dateien
  13. ADAM2-Bootloader
    1. ADAM2-Backup anlegen
    2. ADAM2 überschreiben
    3. ADAM2-Befehle
    4. ADAM-Quellcode
  14. Einstellungen speichern im Urlader-Environment
    1. Vorwort und Motivation
    2. Lösungsmöglichkeiten
    3. Bootloader Environment
    4. Variable "kernel_args"
    5. Kernel_Args-API
    6. Mögliche Anwendungsfälle
  15. Busybox konfigurieren und kompilieren
  16. Wie baue ich ein eigenes Paket für Freetz?
  17. Firmware-Image-Namen analysieren und interpretieren
    1. Einleitung
    2. Skript-Code
    3. Daten im Rohformat
    4. Ausgabe grundlegender Informationen
    5. Ausgabe erweiterter Informationen
  18. Addon Paket installieren
  19. Paketverwaltung für Freetz
    1. Erweiterung des Dateisystems
    2. Paketverwaltung
    3. Links
    4. Kommentare
  20. Wie die FritzBox Manipulationen erkennt
    1. Ursachen
    2. Diagnose
    3. Lösungen
    4. Schlußwort und Ausblick
  21. Shell Coding Conventions
    1. Shell Language
    2. Basic Format
    3. If, For, and While
    4. Test Built-in
    5. Single-line conditional statements
    6. Infinite Loops
    7. Exit Status and If/While Statements
    8. Variable References
    9. Variable Naming
    10. Quoting
    11. Variable Assignments
    12. Testing for (Non-)Empty Strings
    13. Commenting
    14. Pathnames
    15. Interpreter Magic
  22. Package Development
    1. Persistent Package Settings
  23. Erstellen einer GUI für Pakete in Freetz
    1. Motivation
    2. Grundlagen
    3. Wie funktioniert das mit der GUI?
  24. Flash Partitionierung
    1. Hidden SquashFS
    2. Contiguous SquashFS
    3. Hidden Root
  25. Trac Hooks
    1. trac-post-commit-hook
    2. trac-post-revprop-change-hook
  26. Package Developing - Advanced Topics
    1. Adding multi-binary packages
  27. Eigene Dateien in die Firmware integrieren
    1. Feste Integration über das Freetz Image
    2. Erzeugen der Dateien aus der debug.cfg
    3. Nachladen vom Webserver
    4. Nachladen vom USB-Stick
    5. WebDAV Share mounten
    6. NFS-Share mounten
  28. Freetz Build-Prozeß
    1. Vorwort und Motivation
    2. Grundsätzliches
  29. Flash-Partitionen von außen mit FTP sichern
    1. Motivation
    2. Voraussetzungen
    3. Allgemeine Informationen zur Datensicherung
    4. Sicherung mit Linux-Standard-FTP (ftp)
    5. Sicherung mit Linux-NcFTP (ncftpget)
    6. Sicherung mit Cygwin-NcFTP (ncftpget)
    7. Uploads via FTP
  30. libmodcgi.sh
    1. cgi
    2. cgi_begin
    3. cgi_end
    4. sec_begin
    5. sec_end
    6. html
    7. check, select
    8. href
    9. back_button
    10. sec_level
    11. stat_bar
    12. cgi_param
    13. cgi_error, print_error
    14. path_info
    15. valid
  31. Cross-Compiler / Toolchain erstellen

Patches in Freetz einspielen

/!\ Hinweis: Wenn ihr Freetz aus dem svn (trunk oder stable branch) ausgecheckt habt, dann erhaltet ihr die neuesten Patches durch svn up.

Bei dringenden oder kleinen Änderungen / Neuerungen werden passend zum letzten Release so genannte Patches angeboten. Diese Patches haben einen Dateinamen ähnlich diesem: freetz-version-patch-name.patch.bz2. Der Patch muss nach dem Entpacken des zugehörigen Freetz freetzversion.tar.bz2 und vor dem Erstellen des Image eingespielt werden. Folgende Anleitung geht davon aus, dass beide Dateien im aktuellen Verzeichnis liegen:

  1. Falls noch nicht geschehen: Freetz entpacken tar -xvjf freetz-version.tar.bz2
  2. Patch entpacken bunzip2 freetz-version-patch-name.patch.bz2
  3. Patch anwenden patch -p0 < freetz-version-patch-name.patch

Nun ist der Patch in den entpackten Freetz eingespielt und man kann mit dem Erstellen des Image fortfahren.