Remove-Patches

From Fritz!Box
Jump to: navigation, search

AVM Wiki >> Freetz >> Remove-Patches @ whmf   -   IRC-Chat   -   hu nl it English
Community Modelle Zubehör Environment Konfiguration Shell-Befehle Software Freetz Lexikon Tipps+Tricks Bilder

Einführung AVM Pakete Freetz Pakete Aliens Features Removes Cross-Installs Freetz-Interface Todo

Info
Freetz erlaubt es, Funktionsblöcke zu entfernen durch sogenannte Remove-Patches, um Platz im Flash-EEPROM zu schaffen für neue Freetz Pakete. Da im Lexikon Funktionsblöcke und deren Verästelung durch's System dokumentiert werden, entstehen hier auch neue Patches, und existierende verfeinern sich. Siehe auch die Kategorie Remove-Patches und den Freetz-Index.

Achtung!
Achtung: Auch wenn eine Freetz-Release als stable benannt wird, die Remove-Patches schwanken zwischen Alpha- und Beta-Status und sind bis auf wenige Ausnahmen als "unfertige Hacks" anzusehen. Derzeit werden die Patches mit dem für dieses Wiki (und damit auch für Freetz) gesammelten Wissen abgeglichen, um diesen Umstand zu beheben.

Contents

Freetz Remove-Patches

Hier kommen Patches hin, während der jeweilige Zusammenhang im System erforscht und dokumentiert wird, simultan wird massiv an den Removes gearbeitet. Noch nicht in den Trunk eingespielte Änderungen werden hier mit WIP markiert. Aktuell wird die Effizienz der Removes auch optimiert um modernste Firmware auf minimalistischen Modellen zu betreiben. Dies wurde soweit erreicht, und wird die Palette der Alien freetzbaren Altmodelle enorm vergrößern und jegliche Weiterentwicklungen leicht vererbbar machen. Auch bei aktuellen Modellen wird durch die Überarbeitung bei gleichem Funktionsumfang enormer zusätzlicher Platz frei. Zudem werden die Removes auf Modell-, Landes- und Sprachunabhängig optimiert und dadurch stabiler und zukunftssicherer. Die erarbeiteten Zusammenhänge umspannen daher alle Modelle.

Parallel wird eine Paketverwaltung konstruiert, die auf die Variablen im AVM-Environment aufbaut. Sobald in der Rework-Spalte überall 'ok' steht ist die komplette Firmware aller Modelle modular erfasst und die Remove-Praxis kann durch eine Positivliste (Paketverwaltung) ersetzt werden. Ab da kann man sich für jedes Modell (mit Rücksicht auf Hardwaregegebenheiten) seine Firmware modular zusammenstellen, und alle Removes werden Auto-Removes, die nicht verwendete Systemteile automatisch entfernen. Viele dieser Removes wurden von Modellen mit limitierter Ausstattung sowie von Derivat-Limits inspiriert.

Patch Freetz Funktion Rework Erspart
REMOVE_NOT - Dummy-Remove für alles was nicht entfernt werden darf
REMOVE_ANNEX 1.1.4 Entfernt die Firmware für den nicht benötigten ADSL Annex
REMOVE_ASSISTANT 1.1.4 Entfernt die Einrichtungs-Assistenten
REMOVE_AURA_USB 1.1.4 Entfernt den AURA USB-Fernanschluss um aurad ok 54-78K
REMOVE_AVM_E2FSPROGS wip Entfernt die AVM e2fsprogs und BusyBox Symlinks
REMOVE_AVM_VPN 1.1.4 Entfernt den AVM VPN Dienst um avmike 283-446K
REMOVE_BRANDING 1.1.4 Entfernt nicht benötigte Brandings
REMOVE_CAPI_CODEC wip Entfällt ok 163-471K
REMOVE_CAPIOVERTCP 1.1.4 Entfernt den CAPI-over-TCP Dienst um capiotcp_server ok 12-18K
REMOVE_CHRONYD trunk Entfernt die Zeitsynchronisierung um chronyd 207-230K
REMOVE_COUNTRY wip Entfernt die Unterstützung nicht verwendete Länder
REMOVE_DECT 1.1.4 Entfernt die DECT-Funktion um dect_manager
REMOVE_DECT_CATIQ wip Entfernt die CAT-iq-Funktionen
REMOVE_DECT_UPDATE 1.1.4 Entfernt den DECT-Aktualisierer um dect_update
REMOVE_DSLD 1.1.4 Entfernt den DSL Daemon um dsld 749-2259K
REMOVE_FAXSUPPORT wip Entfernt die Fax-Funktionalität um faxd
REMOVE_FILESYS wip Entfernt nicht verwendete Dateisysteme
REMOVE_FREETZ wip Alien-Update von Altmodellen ohne Addon bei Platzmangel
REMOVE_FTPD 1.1.4 Entfernt den FTP-Fileserver ftpd 70-99K
REMOVE_HELP 1.1.4 Entfernt nicht benötigte Hilfedateien
REMOVE_HTML wip Für External- oder Remote-Webspace massig
REMOVE_LANGUAGE wip Entfernt nicht verwendete Sprachen
REMOVE_MAILER wip Entfernt die Push Services um mailer
REMOVE_MEDIASRV 1.1.4 Entfernt den Media-Server um mediasrv ok 403-745K
REMOVE_MINID 1.1.4 Entfernt das FRITZ! Mini Framework um minid ok 792-1071K
REMOVE_MTD_SUPPORT wip Entfernt die MT-D-, MT-F- und C3-Unterstützung
REMOVE_NAS trunk Entfernt das zweite fritz.nas Webinterface
REMOVE_NLS wip Entfernt nicht verwendete NLS-Zeichensätze
REMOVE_NTFS trunk Entfernt den NTFS-Support um ntfs-3g
REMOVE_ONLINEHELP wip Entfernt die Online-Hilfe-Funktionen
REMOVE_ONLINEPB wip Entfernt das Online-Telefonbuch
REMOVE_PIGLET trunk Entfernt nicht verwendete Piglet.ko BitFiles ok 54-278K
REMOVE_PRINTSERV trunk Entfernt den Printserver um printserv
REMOVE_QOS wip Entfernt die QoS-Funktionen um tc 79-107K
REMOVE_RAMDISK wip Entfernt die RAM-Disk-Unterstützung
REMOVE_RUNCLOCK trunk Entfernt den Betriebsstundenzähler run_clock
REMOVE_SMBD 1.1.4 Entfernt den Samba-Fileserver smbd
REMOVE_TAM wip Entfernt den Anrufbeantworter ok 358-444K
REMOVE_TR064 wip Entfernt die Einrichtbarkeit über TR-064
REMOVE_TR069 1.1.4 Entfernt Einrichtung und Überwachung mit TR-069 119-710K
REMOVE_UMTSD trunk Entfernt den UMTS-Support um umtsd ok 84-135K
REMOVE_UPNP 1.1.4 Entfernt die UPnP-Funktionen der Box
REMOVE_USBAUTH wip Entfernt die Stick & Surf-Funktionen um avmusbwlan 5-26K
REMOVE_USB_HOST wip Entfernt die USB-Host-Funktionen
REMOVE_USB_SLAVE wip Entfernt die USB-Slave-Funktionen
REMOVE_USB_SPINDOWN wip Entfernt Festplatten-Spindown mit hd-idle 6-8K
REMOVE_USERMAN 1.1.4 Entfernt die Kindersicherung um usermand 68-1085K
REMOVE_VOIPD 1.1.4 Entfernt die VoIP-Funktionen um voipd
REMOVE_VOIP_ISDN 1.1.4 Entfernt alle Telefonie-Funktionen um voipd und telefon
REMOVE_WEBDAV trunk Entfernt die WebDAV Funktionen der Box
REMOVE_WEBSRV 1.1.4 Entfernt den websrv und ersetzt ihn mit httpd
REMOVE_WLAN 1.1.4 Entfernt die WLAN-Funktionen um wstart

Freetz Auto-Removes

Diese Removes ergeben sich aus Paketabhängigkeiten und werden automatisch entfernt wenn sie nicht ausdrücklich beibehalten werden sollen. Auto-Removes können getrost pauschal angewendet werden da sie dem Benutzer keine Kenntnis der komplexen Zusammenhänge abverlangen und nur kontextsensitiv aktiv werden.

Patch Freetz Funktion Rework Erspart
REMOVE_AUDIO wip Entfernt die Audio-Device um libavm_audio.so ok 56K
REMOVE_AVM_ID3TAG wip Entfernt die neue ID3-Tag Bibliothek libavmid3tag.so ok 25-29K
REMOVE_AVM_LOGD wip Entfernt den Debug-Logger avmlogd ok 19-28K
REMOVE_AVM_RPC wip Entfernt die AVM RPC-Funktionen ok 64-102K
REMOVE_AVM_SSL wip Entfernt die AVM SSL-Bibliotheken
REMOVE_BRCTL wip Entfernt das brctl Executable 33-39K
REMOVE_CAPTURE wip Entfernt die Capture-Funktion mit capture_notimeout ok 13-28K
REMOVE_CDROM_ISO 1.1.4 Entfernt das cdrom.iso Image mit NDIS-Treibern ok 130-266K
REMOVE_CONFIGD wip Entfernt den Konfigurations-Dienst configd ok 48-56K
REMOVE_DTRACE 1.1.4 Entfernt den ISDN D-Kanal Tracer dtrace ok 86-205K
REMOVE_EVENT_TOOLS wip todo
REMOVE_FFMPEG wip Entfernt die FFmpeg-Libraries und libhttp.so ok 190-298K
REMOVE_FLIGHTSIM wip Entfernt den in Freetz versteckten Flugsimulator (default: off) ok 10^10K
REMOVE_FONCONTROL wip Entfernt die Telefon-Steuerung libfoncontrol.so / libfoncclient.so ok 103-134K
REMOVE_GDB wip Entfernt allen GNU-Debugger Support wie z.B. gdbserver ok 72K
REMOVE_GFX_APPS wip Entfernt die JPEG und NetPBM Bildverarbeitungs-Befehle ok 319-465K
REMOVE_LIB_MATH wip Entfernt die Mathematik-Library libm.so 64-120K
REMOVE_LIB_UPNP_API wip Entfernt die UPnP-Erweiterungs-Library libavmupnpapi.so 21-31K
REMOVE_LIB_UPNP_BIG wip Entfernt die UPnP-Erweiterungs-Library libavmupnpbig.so 132-170K
REMOVE_LIB_UPNP_DEV wip Entfernt die UPnP-Erweiterungs-Library libupnpdev.so 13-22K
REMOVE_LIBZ wip Entfernt die gzip-Kompressions-Library libz.so ok 82-89K
REMOVE_MAILD wip Entfernt den Email-Downloader um maild ok 101-119K
REMOVE_ORPHANS wip Entfernt nicht benötige Befehle und Konfigurationen
REMOVE_PTEST wip Entfernt die für die Endkontrolle notwendigen Dateien 16-24K
REMOVE_SQLITE wip Entfernt die SQLite Datenbank libsqlite3.so ok* 314-462K
REMOVE_STRACE wip Entfernt den strace Befehl ok 236-440K
REMOVE_SUPPORT trunk Entfernt die supportdata Scripts und Helfer ok 41-94K
REMOVE_TCPDUMP wip Entfernt den tcpdump Befehl ok 742K
REMOVE_TIMERCONTROL wip Entfernt die Timer-Kontrolle mit libtimer.so 26-30K
REMOVE_USB_MODULE 1.1.4 Entfernt den USB-Slave-Treiber avalanche_usb.ko 59-67K

Größenangaben der Ersparnis

Die Ersparnis-Angabe bezieht sich auf die unkomprimierten Dateien im minimalen und maximalen Fall. Dies variiert je nach Zielprozessor und Firmwaregeneration sehr. Zudem komprimieren die Daten je nach innerer Struktur und Zielplatform sehr unterschiedlich, weswegen sich nahezu keine vergleichbaren Werte aufstellen lassen. Daher ist die Ersparnisangabe eher als grobe Gewichtung eines Removes zu sehen. Da das verwendete Kompressionsverfahren dateiübergreifend arbeitet kann man die reale Platzersparnis im komprimierten SquashFS als nicht vorhersagbar bezeichnen.

Was man jedoch vorhersagen kann ist, das man irgendwann die Fehlermeldung sieht das ein Image zu groß geraten ist, manchmal fehlen nur ein paar Bytes. Daher werden hier nach dem Motto "Kleinvieh macht auch Mist" Removes aller Größen gesammelt, unabhängig davon ob sie auf den ersten Blick relevant erscheinen.

External statt Remove

Auf Modellen mit einem Speichermedium (das kann alles mountbare sein, von NAND-Flash über WebDAV bis USB-Host) können schon jetzt viele "dickere" Binaries von Freetz-Paketen durch Symlinks ersetzt und auf das Speichermedium ausgelagert werden. Diese Funktion ist gerade bei seltener genutzten und für den Bootvorgang unwichtigen Paketen ein enorm nützliches Feature.

Da die Hauptaufgabe von Remove-Patches meist das Beschaffen von Platz für Erweiterungen ist, und oft auch einen Kompromiss darstellt Funktionen zu entbehren die man eigentlich nicht entfernen wollte würde sich das External-Konzept auch hervorragend als Alternative zu einem Remove anbieten. Daher beinhaltet die derzeitige Freetz-Recherche zum Erheben einer lückenlosen Paketverwaltung gleich auch die External-Tauglichkeit aller Removes.