Installation
Kernel 2.6 (Freetz)
pptpd ist mittlerweile als Paket in Freetz integriert, sodass es hier nur noch bei make menuconfig entsprechend ausgewählt werden muss. Nach speichern der Konfiguration sowie erfolgreichem make ist pptp dann im erstellten Image enthalten.
Wichtig ist hier: Aufgrund der Crypt-Module wird ein "replaced kernel" benötigt (kann entsprechend in make menuconfig ausgewählt werden). Nur dann ist pptpd sichtbar und selektierbar!
Kernel 2.4 (ds-mod)
Wer pptpd in einem Image mit Kernel 2.4 (also mit dem "alten" DS-Mod) verbauen will, hat ein wenig mehr Hand anzulegen:
Vorbereitungen
Man braucht einen Crosscompiler? um den Kernel kompilieren zu können. Falls noch nicht vorhanden:
make toolchain
Anschließend:
make menuconfig
Die entsprechende Box auswählen, für die nachfolgend der PPTP-Server kompiliert werden soll. (Es wird nach der entsprechenden Kernel-Größe 4MB oder 8MB unterschieden.)
menuconfig beenden und die Einstellungen abspeichern.
Folgende Dateien herunterladen:
Die Verzeichnisse für spätere Anpassungen vorbereiten:
make kernel-dirclean make kernel-menuconfig
Hier noch keine Einstellungen vornehmen, einfach Beenden und Abspeichern.
Patch einspielen
pptp-patch.zip entpacken und Patch einspielen
- für 8MB-Kernel
unzip pptp-patch.zip -d DS-MOD-VERZEICHNIS/source/ref-ohio-8mb-04.06/kernel/kernel_ohio-8mb_build/kernel cd DS-MOD-VERZEICHNIS/source/ref-ohio-8mb-04.06/kernel/kernel_ohio-8mb_build/kernel patch -p0 < pptp-patch.patch
- für 4MB-Kernel
unzip pptp-patch.zip -d DS-MOD-VERZEICHNIS/source/ref-4mb-04.06/kernel/kernel_ohio-8mb_build/kernel cd DS-MOD-VERZEICHNIS/source/ref-4mb-04.06/kernel/kernel_ohio-8mb_build/kernel patch -p0 < pptp-patch.patch
Beim Patchen werden euch noch ein paar Hinweise erwarten:
The next patch would create the file linux-2.4.17_mvl21/include/asm-mips/kmap_types.h, which already exists! Assume -R? [n] Apply anyway? [n]
Dort einfach alles mit ENTER betätigen.
Kernel konfigurieren und kompilieren
make kernel-menuconfig
Folgende Pakete zusätzlich auswählen:
Network device support ---> <*> PPP (point-to-point protocol) support [*] PPP multilink support [*] PPP support for async serial ports <*> PPP Deflate compression <*> Microsoft PPP compression/encyptions Cryptographic options ---> [*] Cryptographic API <*> SHA1 digest algorithms <*> ARC4 cipher algorithms
Beenden und Abspeichern
make kernel-precompiled
Sollte der Kompiliervorgang mit einem Segmentation-Fault abbrechen, den Vorgang mit make kernel-precompiled noch einmal starten. Weshalb der Fehler auftritt ist mir noch nicht klar, aber es entsteht schließlich ein lauffähiges Kernel-Image.
Kompilieren des Images vorbereiten und durchführen
Das Addon-Paket? pptpd-1.3.0_fixed.tar.gz nach DS-MOD-VERZEICHNIS/addon entpacken und anschließen in die Datei static.pkg eintragen.
tar -C DS-MOD-VERZEICHNIS/addon -xvzf pptpd-1.3.0_fixed.tar.gz echo pptpd-1.3.0 >> DS-MOD-VERZEICHINS/addon/static.pkg
Um die Erstellung des fertigen Firmware-Images vorzubereiten:
make menuconfig
Dort die gewünschten Einstellungen vornehmen sowie sonstige Paktete auswählen.
Für das PPTP-Server-Image ist zusätzlich die Einbindung folgender Libraries nötig:
Advanced options --> Shared libraries--> [*] libcc_s.so.1 uClibc ---> [*] libutil-0.9.28.so </code>
Zuguterletzt erstellen wird das endgültige Image mit:
make