Also ein Paket nachträglich in freetz einzubauen ist doch machbar.
Ich mache das öfters wenn ich temporär ein package testen will oder wenn ich keinen Speicher mehr im ROM zur Verfügung habe.
Die beste Möglichkeit ist der OUTSORCER von hermann72pb. Aber es geht auch nachträglich ohne ein neues Image per make zu bauen.
Hier mal die wichtigsten Ansätze.
Ein Package lebt durch folgende Komponenten (Beispiel-Package: hugo)
- Verzeichnis: /mod/etc/default.hugo
- Datei: /mod/etc/default.hugo/hugo.cfg
- Datei: /mod/etc/conf/hugo.cfg
- Datei /mod/usr/lib/cgi-bi/hugo.cgi
- Datei: /mod/etc/init.d/rc.hugo
Vorgehensweise: Man nehme einen USB-Stick und erstelle dort ein Verzeichnis mit dem Package-Namen: z.B. /var/media/ftp/uStor01/hugo
Dort packt man alle obigen Dateien rein und erstellt zusätzlich eine Datei namens load_hugo.sh mit folgendem Inhalt: (chmod +x nicht vergessen)
Code:
#!/bin/sh
USBDEVICE1='uStor01'
mkdir /mod/etc/default.hugo
cp hugo.cfg /mod/etc/default.hugo
cp hugo.cfg /mod/etc/conf
cd /var/mod/usr/lib/cgi-bin
ln -s /var/media/ftp/$USBDEVICE1/hugo.cgi hugo.cgi
cd /mod/etc/init.d
ln -s /var/media/ftp/$USBDEVICE1/rc.hugo rc.hugo
modreg cgi hugo Hugo
Jetzt baut man in die /var/flash/debug.cfg folgendes ein und das package sollte auch nach einen reboot immer wieder laufen.
Code:
max=5
i=0
USBDEVICE1='uStor01'
while [ $i -lt $max ]; do
if mount | grep " on /var/media/ftp/" > /dev/null; then
break
fi
let i=$i+1
sleep 15
done
# Falls USB-Stick eingesteckt dann diverse Aktionen durchführen
if [ -f /var/media/ftp/$USBDEVICE1/hugo/rc.hugo ]; then
cd /var/media/ftp/$USBDEVICE1/hugo
./load_hugo.sh
cd -
fi
Ich hoffe da ist kein Fehler drinne. Viel Erfolg.
Nützlich ist auch evtl. folgender Wiki Eintrag:
http://wiki.ip-phone-forum.de/software:ds-mod:development:gui_erstellen
Gruß
HS