help/howtos/development/install_addon

Howtos: Entwicklung

  1. Entpacken und Packen von Firmware-Images
    1. Tools und Syntax
    2. Vorgehensweise
  2. Eigene Programme kompilieren
  3. Dynamische Bandbreitenanzeige per SVG
    1. Anleitung zur Test-Installation
  4. Platz sparen im Dateisystem der FritzBox
    1. Vorwort und Motivation
    2. Bestandsaufnahme: Wo stecken die Platzfresser?
    3. Weitere Spartricks
    4. Schlußwort
  5. Flash-Partitionen im laufenden Betrieb sichern
    1. Motivation
    2. Voraussetzungen
    3. Lösungsweg
    4. Wege, sich schnell einen Überblick zu verschaffen
    5. Zusammenfassung
  6. 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
    9. Known Problems
  7. Kernel konfigurieren und kompilieren
  8. Developer Information
  9. Package Development
    1. Persistent Package Settings
  10. ADAM2-Bootloader
    1. ADAM2-Backup anlegen
    2. ADAM2 überschreiben
    3. ADAM2-Befehle
    4. ADAM-Quellcode
  11. 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
  12. Ablauf eines Firmware-Updates
  13. Wie baue ich ein eigenes Paket für Freetz?
  14. Addon Paket installieren
  15. Busybox konfigurieren und kompilieren
  16. Wie die FritzBox Manipulationen erkennt
    1. Ursachen
    2. Diagnose
    3. Lösungen
    4. Schlußwort und Ausblick
  17. Shell Coding Conventions
    1. Shell Language
    2. Basic Format
    3. If, For, and While
    4. Test Built-in
    5. Single-line if-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
  18. Erstellen einer GUI für Pakete in Freetz
    1. Motivation
    2. Grundlagen
    3. Wie funktioniert das mit der GUI?
  19. Flash Partitionierung
    1. Hidden SquashFS
    2. Contiguous SquashFS
    3. Hidden Root
  20. trac-post-commit-hook
  21. Package Developing - Advanced Topics
    1. Adding multi-binary packages
  22. 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
  23. Patches in Freetz einspielen
  24. Freetz Build-Prozeß
    1. Vorwort und Motivation
    2. Grundsätzliches
  25. 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
  26. Cross-Compiler / Toolchain erstellen

Addon Paket installieren

Pakete, die noch nicht in Freetz integriert sind, können als sogenanntes Addon Paket installiert werden. Dazu das gewünschte Paket vor dem Erstellen des Image herunterladen und nach ./addon entpacken. Folgendes Beispiel geht davon aus, dass man sich im Verzeichnis des entpackten Freetz befindet:

tar -C addon -xjvf /pfad/zu/addon-paket-0.1-freetz.tar.bz2

Danach muss das Paket in der Liste ./addon/static.pkg in eine neue Zeile eingetragen werden (im obigen Beispiel: addon-paket-0.1). Addon Pakete werden nach den integrierten Paketen in der Reihenfolge des Auftretens in ./addon/static.pkg gestartet. Falls es sich bei dem Addon Paket um eine andere Version eines bereits integrierten Pakets handelt, so sollte das ursprüngliche Paket in make menuconfig unter Package selection deaktiviert werden, um Versionskonflikte zu vermeiden.