Warning: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in ..../includes/class_bootstrap.php(430) : eval()'d code on line 123

Warning: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in ..../includes/class_bbcode.php on line 2962
[How To] Firmware installieren und konfigurieren
Page 1 of 37 12311 ... LastLast
Results 1 to 15 of 548

Thread: [How To] Firmware installieren und konfigurieren

  1. #1
    Join Date
    Feb 2005
    Location
    Germany - Frankfurt
    Posts
    1,548

    [How To] Firmware und Software installieren. Step-by-Step

    There is an english translation of this HowTo.

    00. Aktuelles

    Stand: November 2011rtn Firmware mit Kernel 2.6 anstelle von Kernel 2.4 nutzt die Bezeichnung "disca", "discb" etc.
    Du musst im ganzen Tutorial das "disc0" durch "disca" ersetzen!!!
    Ich werde das Tutorial zu einem späteren Zeitpunkt aktualisieren.


    Stand: Oktober 2011
    Die level1.gz liegt jetzt unter neuer URL.
    Dementsprechend hat sich das Skript S90transmission-daemon für Transmission geändert

    Nutze bitte, wenn für Deine Hardware unterstützt, die "Enthusiasten Firmware".
    Näheres unten.

    Dieses HowTo ist für Firmware der Version 1.9.2.7-9 und Neuer. Ältere Firmwares werden nicht mehr unterstützt.

    WICHTIG: Ich übernehme keinerlei Haftung.

    OK. Folgende Vorgeschichte.
    Ich habe mir ziemlich früh einen WL-HDD gekauft, der dann aber nur in der Ecke lag, weil die damalige Firmware eine Katastrophe war.
    2006 bin ich dann über dieses Forum gestolpert, da ich von damals noch wusste, dass Oleg eine Firmware baut. (Suche Oleg -> Finde Forum )
    Ich habe den Asus wieder in die Hand genommen und los gelegt.

    4 Tage später hatte ich so ziemlich jeden Fehler gemacht und mich entschlossen alles nochmal von vorne zu starten.
    Und wenn man schon ganz am Anfang anfängt kann man ja auch gleich ein HowTo schreiben.

    Mit Erscheinen der -9er Firmware habe ich das komplette HowTo überarbeitet, da sich einfach zu viel geändert hatte.

    0. Vorraussetzungen
    Ich habe, wie gesagt, einen Asus WL-HDD der ersten Stunde. Dieses Howto sollte aber mit jeder Hardware funktionieren, auf der Oleg's Firmware installiert werden kann.
    Falls Du noch keine Hardware hast würde ich mir einen WL500g PREMIUM mit USB Platte kaufen. Die V1 ist inzwischen schwer zu bekommen. Die etwas schwächere V2 des WL500g Premium ist noch im Handel.
    Der WL-HDD hat wenig Speicher (16MB -> viel Swap auf der Platte) und einen schwachen Prozessor. Aber er läuft :-)

    Du brauchst also:
    - Eine geeignete Hardware
    - grundlegende Linuxkenntnisse. (cd, vi, ps, df, free, top, usw.)
    - Zeit. Ich habe für diesen Umbau ca. 5 Stunden benötigt (inkl. Essen).
    - Eine Internetverbindung ist zwingend nötig, da Du einiges aus dem Internet herunterladen wirst. (auch vom Asus aus)

    1. Firmware installieren

    Die einfachste Methode ist das Firmware Restoration Tool von Asus. Für andere Hardware dementsprechenden Tool nutzen!

    ASUS WL-HDD2.5 wireless hard disk drive box utility program in English

    Es geht natürlich auch über die Webseite des Routers. Dennoch solltest Du das Restoration Tool griffbereit haben.
    Olegs Firmware herunterladen: Firmware Wizzard (nicht immer aktuell) oder bei Oleg:http://oleg.wl500g.info/
    ACHTUNG: Immer die Firmware für Deinen Router nehmen!!!

    UPDATE:
    Es gibt eine Weiterentwicklung der oleg-Firmware im folgenden auch "Enthusiasten-FW" genannt.
    Diese ist absolut kompatibel zu oleg und wird gut gepflegt.
    Wenn Eure Hardware unterstützt wird empfehle ich ausdrücklich diese Firmware!

    DIESES HowTo funktioniert nur mit Olegs Firmware Version 1.9.2.7-9 und neuer!

    Das Zip entpacken.

    Asus Tool installieren, starten, "Firmware Restoration" auswählen.
    Dann die Firmware (Hardware_Version.trx) auswählen und Upload drücken.

    Nachdem der Asus neu gebootet hat unbedingt auf das Webinterface gehen (Im Browser die IP eingeben) und alles auf Factory Default stellen. (user:admin / pw:admin)

    Nach einem erneuten Reboot hast Du den ersten Schritt fertig. Die Firmware ist drauf.

    Bemerkung an dieser Stelle:
    Bei mir ist der WL-HDD als Client im Netzwerk. Er stellt die Internetverbindung NICHT selbst her. Daher kümmere ich mich nicht um Firwewall etc.
    Für diejenigen von Euch, die ein anderes Gerät benutzen, können weitere Schritte erforderlich sein.

    Im Webinterface noch
    - den Namen einstellen (bei mir blechbuechse)
    - Die IP Einstellungen eingeben (Eigene IP, Gateway, DNS, usw.)
    - FTP, Samba, NFS ausschalten
    - Telnet aktivieren
    - Passwort ändern
    - Sonstige Änderungen machen (DHCP, Zeitzone, WLAN, usw.)
    - Falls als Router: Zugangsdaten, Firewall, Ping von WAN erlauben.

    Ohne Olegs Firmware auf der Box brauchst Du gar nicht weiter machen. Bis hier muss alles funktioniert haben!

    2. Telnet

    Nun Telnet starten. Windows: Start-Ausführen- "telnet IPDERBOX"

    user:admin / pw:admin

    Zunächst die Internetverbindung testen.
    Code:
    ping google.de
    Sollte dann ungefähr so aussehen:
    [admin@blechbuechse root]$ ping google.de
    PING google.de (66.249.93.104): 56 data bytes
    64 bytes from 66.249.93.104: icmp_seq=0 ttl=243 time=35.5 ms
    64 bytes from 66.249.93.104: icmp_seq=1 ttl=243 time=36.5 ms
    64 bytes from 66.249.93.104: icmp_seq=2 ttl=243 time=35.0 ms

    --- google.de ping statistics ---
    3 packets transmitted, 3 packets received, 0% packet loss
    round-trip min/avg/max = 35.0/35.6/36.5 ms
    [admin@blechbuechse root]$
    Kann mit Strg-c abgebrochen werden.

    Falls es nicht funktioniert: Pinge eine IP, keinen Namen!
    Funktioniert? Keine Fehlermedung? Wunderbar!
    Falls Du auch keine IP im Internet pingen kannst: IP Einstellungen (DNS) und Netzwerk (Kabel) überprüfen.

    Da Telnet aber nicht sicher ist, und Du später auch über Internet zugreifen willst, installieren wir jetzt SSH:

    3. SSH-deamon
    Anmerkung: Macht Euch das Leben nicht so schwer. Ihr könnt alle Befehle mit der Zwischenablage in telnet bzw. putty kopieren & einfügen! Somit entstehen auch keine Schrteibfehler, die leider die häufigste Ursache für Fehler sind. das Ganze funktioniert bei Windows/telnet mit rechter Maustaste oder "STRG+C"/"STRG+V" und in putty mit der linken/rechten Maustaste.


    Der SSH Daemon heisst dropbear. In der aktuellen "Enthusiasten-FW" (1.9.2.7-d-rxxxx) kann dropbear vom Webinterface aus (unter System Setup->Services) gestartet und konfiguriert (Port-Nummer, Zugriff nur für LAN oder auch für WAN) werden. Diejenigen, die solche Firmware einsetzen brauchen also nur die Keys und Startskripte zu erstellen, sonst nichts!
    Die Benutzer der älteren Versionen müssen das ganze Kapitel abarbeiten:

    Startskripte erstellen:
    Code:
    mkdir -p /usr/local/sbin/
    touch /usr/local/sbin/pre-boot 
    touch /usr/local/sbin/post-boot
    touch /usr/local/sbin/post-firewall 
    touch /usr/local/sbin/post-mount
    touch /usr/local/sbin/pre-mount
    touch /usr/local/sbin/pre-shutdown
    chmod +x /usr/local/sbin/*
    Verzeichnis erstellen: (nur für die FW älter als 1.9.2.7-d-rxxxx)
    Code:
    mkdir -p /usr/local/etc/dropbear
    Keys generieren:
    Code:
    dropbearkey -t dss -f /usr/local/etc/dropbear/dropbear_dss_host_key
    dropbearkey -t rsa -f /usr/local/etc/dropbear/dropbear_rsa_host_key
    Damit dropbear nach einem reboot startet: (nur für die FW älter als 1.9.2.7-d-rxxxx)
    Code:
    echo "#!/bin/sh" >> /usr/local/sbin/post-boot
    echo "dropbear" >> /usr/local/sbin/post-boot
    Dropbear zum Test manuell starten:
    Code:
    dropbear
    Hier die aktiven Prozesse. dropbear sollte zu sehen sein:

    [admin@blechbuechse sbin]$ ps
    PID Uid VmSize Stat Command
    1 admin 580 S /sbin/init
    2 admin SW [keventd]
    3 admin SWN [ksoftirqd_CPU0]
    4 admin SW [kswapd]
    5 admin SW [bdflush]
    6 admin SW [kupdated]
    7 admin SW [mtdblockd]
    46 admin 332 S telnetd
    51 admin 380 S httpd
    54 admin 408 S syslogd -m 0 -O /tmp/syslog.log -S -l 7
    56 admin 364 S klogd
    57 admin SW [khubd]
    72 1 364 S [portmap]
    74 admin 504 S /usr/sbin/statd
    76 admin SW [nfsd]
    77 admin SW [lockd]
    78 admin SW [rpciod]
    80 admin 484 S /usr/sbin/mountd
    83 admin 484 S watchdog
    85 admin 344 S ntp
    94 admin SW [kjournald]
    95 admin SW [kjournald]
    99 admin 580 S -sh
    128 admin 468 S dropbear
    129 admin 392 R ps
    Alles speichern und reboot:
    Code:
    flashfs save && flashfs commit && flashfs enable && reboot
    Der Teil wäre geschafft.
    Last edited by wengi; 10-11-2011 at 09:03. Reason: dropbear Informationen aktualisiert

  2. #2
    Join Date
    Feb 2005
    Location
    Germany - Frankfurt
    Posts
    1,548
    4. Festplatte Partitionieren und Formatieren
    Wichtig bei USB-Platten: Erst Platte , dann Router einschalten.

    Achtung: In diesem Kapitel gehen die vorhandenen Daten auf der Festplatte verloren. Vorher sichern!

    Ab hier wird mit putty gearbeitet.
    Telnet im Webinterface deaktivieren.
    Putty starten, IP-Adresse der Box angeben und SSH auswählen.
    Keyabfrage bestätigen

    Ich habe meine Platte (80GB) wie folgt aufgeteilt:
    Daten (part3), IPKG (part2) und swap (part1)
    alles primäre Partitionen, keine Extended
    Swap 512MB (Bei kleinen Platten kannst Du auch nur 128MB nehmen...)
    IPKG 1GB
    Daten Rest (~78GB)

    Mountpoints ansehen (Sieht eventuell so aus):
    [admin@blechbuechse root]$ df
    Filesystem 1k-blocks Used Available Use% Mounted on
    /dev/root 3008 3008 0 100% /
    /dev/discs/disc0/part1 75398848 683812 70884940 1% /tmp/mnt/disc0_1
    [admin@blechbuechse root]$
    Wenn ausser '/' nichts gemounted ist, gleich zu fdisk weitergehen.
    Falls Deine Platte schon so eingerichtet ist, wie Du willst (inkl. Swap), beim nächsten Kapitel weitermachen. ABER: Ich empfehle die Methode mit fdisk, da verschiedene Benutzer Probleme beim Mounten von Partitionen hatten, die durch Software von Drittherstellern erstellt wurden.

    Du solltest alle mounts ausser / unmounten.
    Code:
    umount /ort/des/mountpoint
    /ort/des/mountpoint muss durch die Einträge von df ersetzt werden. z.B. "umount /tmp/mnt/disc0_1".
    Sollte es bei umount Fehler geben greift noch etwas auf die Platte zu. (FTP / Samba abgeschaltet?)

    Danach sollte es so aussehen:
    [admin@blechbuechse root]$ df
    Filesystem 1k-blocks Used Available Use% Mounted on
    /dev/root 3008 3008 0 100% /
    Eventuell ist noch ein tmpfs auf /tmp gemountet, was von der verwendeten Firmware abhängt und auch nicht "unmountet" werden muss.

    Jetzt mit fdisk die Partitionen bearbeiten: (hier genauer beschrieben)
    Code:
    fdisk /dev/discs/disc0/disc
    Zu fdisk:
    m für Hilfe.
    p für Partitionen anzeigen.
    d um vorhandene Partitionen zu löschen.
    n für neue Partition anlegen.

    Achte bitte darauf, daß eventuell noch Partitionen vorhanden sind. Erst löschen, dann Neue erstellen (Daten gehen verloren!!!).

    Einteilung der Platte:
    part1 Swap 512MB Typ82
    part2 IPKG 1024MB /opt
    part3 Daten Rest /tmp/harddisk

    Swap anlegen: n -> p -> 1 -> 'return' -> +512M -> t -> 82
    IPKG anlegen: n -> p -> 2 -> 'return' -> +1024M
    Daten anlegen: n -> p -> 3 -> 'return' -> 'return'

    Mit w Einstellungen sichern und raus.
    Ein "fdisk -l" zeigt Euch die Partitionierung an:
    [admin@blechbuechse disc0_3]$ fdisk -l

    Disk /dev/ide/host0/bus0/target0/lun0/disc: 80.0 GB, 80026361856 bytes
    16 heads, 63 sectors/track, 155061 cylinders
    Units = cylinders of 1008 * 512 = 516096 bytes

    Device Boot Start End Blocks Id System
    /dev/ide/host0/bus0/target0/lun0/part1 1 993 500440+ 82 Linux swap
    /dev/ide/host0/bus0/target0/lun0/part2 994 2978 1000440 83 Linux
    /dev/ide/host0/bus0/target0/lun0/part3 2979 155061 76649832 83 Linux
    Jetzt nehmen wir den Swap in Betrieb:
    So sieht ein 'free' ohne swap aus:
    [admin@blechbuechse root]$ free
    total used free shared buffers
    Mem: 13932 11304 2628 0 1388
    Swap: 0 0 0
    Total: 13932 11304 2628
    Jetzt aktivieren:
    Code:
    mkswap /dev/discs/disc0/part1
    swapon /dev/discs/disc0/part1
    Danach sieht ein 'free' schon anders aus:
    [admin@blechbuechse root]$ free
    total used free shared buffers
    Mem: 13932 10236 3696 0 1320
    Swap: 500432 0 500432
    Total: 514364 10236 504128
    Erst jetzt hast Du genug Speicher um den Rest einer großen Platte zu formatieren.
    Code:
    mke2fs -j /dev/discs/disc0/part2 
    mke2fs -j -m 0 /dev/discs/disc0/part3
    part3 kann mehrere Minuten dauern, je nach Größe der Festplatte. Die Option '-m 0' setzt reserved blocks auf 0. NICHT für die /opt Partition machen!!!
    Noch eine Bemerkung für die Newbies: Die Partitionen sind jetzt mit dem Dateisystem ext3 formatiert. Das ist gut so. Du benötigst weder Fat noch NTFS, um auf Deine Daten zuzugreifen.

    Damit die Partitionen automatisch gemountet werden sind noch Einträge in der fstab zu machen. das wird mit dem Editor vi gemacht.
    Kurze vi Erklärung: vi ist ein Editor.
    Mit i kommst Du in den Editiermodus, mit ESC verlässt Du ihn wieder.
    Im Editiermodus kannst Du mit der rechten Maustaste den Inhalt der Zwischenablage einfügen.
    Nach verlassen des Editiermodus kannst Du mit ':wq' die Datei speichern und vi verlassen, mit ':q!' vi verlassen ohne zu speichern.
    Mehr zu vi musst Du Dir anlesen. z.B. hier.
    Sobald IPKG installiert ist kannst Du den Editor nano verwenden, der etwas einfacher in der Handhabung ist.

    Also zunächst ein
    Code:
    vi /etc/fstab
    und das hier einfügen:
    Code:
    #device                 Mountpoint      FStype  Options         Dump    Pass#
    /dev/discs/disc0/part1  none            swap    sw              0       0
    /dev/discs/disc0/part2  /opt            ext3    rw,noatime      1       1
    /dev/discs/disc0/part3  /tmp/harddisk   ext3    rw,noatime      1       1
    Jetzt werden die Partitionen automatisch gemountet und der swap aktiviert.
    WICHTIG: Die Daten-Partition wird laut fstab nach /tmp/harddisk gemountet. Dies wird aus Gründen der Kompatibilität durch die Firmware anders gehandhabt: Die Partition wird nach /tmp/mnt/disc0_3 gemountet und /tmp/harddisk ist ein symlink, der auf /tmp/mnt/disc0_3 zeigt.

    Damit die Datei bei einem Neustart nicht verloren geht:
    Code:
    echo "/etc/fstab" >> /usr/local/.files
    5. Startup-Skripte

    Die Zeitzone in der Firmware ist falsch. Daher wird sie jetzt korrigiert (Werte für Mitteleuropa):
    Achtung: Ab der Firmware Version wlxxx-1.9.2.7-d-r240 (2009-04-11) ist dieser Fehler behoben.
    Du kannst mit dieser oder neueren Firmwares bei vi /usr/local/sbin/pre-mount weitermachen.
    Code:
    vi /usr/local/sbin/pre-boot
    Inhalt sollte sein:
    Code:
    #! /bin/sh
    tz="CET-1CEST-2,M3.5.0/02:00:00,M10.5.0/03:00:00"
    nvram set time_zone="$tz"
    echo "$tz" > /etc/TZ
    Weitere Infos unter http://wl500g.info/showpost.php?p=139268&postcount=4.


    Um die Dateisysteme sauber zu halten gibt es in den neuen Firmwares die Datei pre-mount, die vor dem Mounten ausgeführt wird:
    Code:
    vi /usr/local/sbin/pre-mount
    Inhalt sollte sein:
    Code:
    #! /bin/sh
    
    swapon -a
    
    for i in `awk '/ext3/{print($1)}' /etc/fstab` ; do
      if [ -b $i ] ; then
        grep -q $i /proc/mounts || e2fsck -p $i 2>&1 | logger -t e2fsck
      else
        logger -t fstab "$i is not attached"
      fi
    done
    Noch eine Anmerkung zur pre-mount: In diesem Script werden die Dateisysteme überprüft und, wenn notwendig, ein e2fsck angestoßen. Bei meinem WL-HDD mit 80GB Partition als part3 dauert ein e2fsck mehrere Stunden! Es kann also vorkommen, dass Du Deinen Router einschaltest und die Datenpartition erst sehr viel später verfügbar ist. Dies kannst Du umgehen, indem Du die Datei pre-mount leer lässt. Allerdings wird die festplatte dann nicht auf Fehler überprüft. Es ist Deine Entscheidung! (PS: Ich habe es aktiv.)

    Die Datei post-mount wird nach dem mounten ausgeführt:
    Code:
    vi /usr/local/sbin/post-mount
    Mit folgendem Inhalt:
    Code:
    #! /bin/sh
    
    /opt/etc/init.d/rc.unslung start
    Jetzt kommt noch die Datei, die bei einem shutdown ausgeführt wird:
    Code:
    vi /usr/local/sbin/pre-shutdown
    Mit diesem Inhalt:
    Code:
    #! /bin/sh
    
    /opt/etc/init.d/rc.unslung stop
    
    sleep 10s
    
    for i in `cat /proc/mounts | awk '/ext3/{print($1)}'` ; do
      mount -o remount,ro $i
    done
    
    swapoff -a
    
    sleep 1s
    Dieses Skript remountet die Platte im Nur-Lese-Modus. Somit ist ein Ausschalten dann kein Problem mehr.

    Speichern und Neustart:
    Code:
    flashfs save && flashfs commit && flashfs enable && reboot
    Mit 'free' und 'df -h' überprüfen, ob Festplatte und Swap da sind. Wenn alles ok ist geht es weiter:

    Software und Dienste, die mit IPKG installiert werden, erstellen Skripte in /opt/etc/init.d.
    Damit diese auch ausgeführt werden erstellst Du ein Skript. Diese Skript wird übrigens von der post-mount aufgerufen, die wir gerade bearbeitet haben.
    Code:
    mkdir -p /opt/etc/init.d
    vi /opt/etc/init.d/rc.unslung
    Bemerkung: Falls Du beim mkdir eine Fehlermeldung "mkdir: Cannot create directory `/opt/etc': Read-only file system" erhälst ist Deine Platte noch nicht nach /opt gemountet.

    Inhalt:
    Code:
    #! /bin/sh
    
    # Start/stop all init scripts in /opt/etc/init.d
    # starting them in numerical order and
    # stopping them in reverse numerical order
    #
    if [ $# -ne 1 ]; then
      printf "Usage: $0 {start|stop}\n" >&2
      exit 1
    fi
    
    daemons=`echo $(/usr/bin/dirname $0)/S??*`
    [ $1 = "stop" ] && daemons=`echo $daemons | /usr/bin/tr " " "\n" | /usr/bin/sort -r`
    
    for i in $daemons; do
    
         # Ignore dangling symlinks (if any).
         [ ! -f "$i" ] && continue
    
         # Write to syslog
         logger -t rc.unslung "$1 service $i"
    
         case "$i" in
            *.sh)
                # Source shell script for speed.
                (
                    trap - INT QUIT TSTP
                    set $1
                    . $i
                )
                ;;
            *)
                # No sh extension, so fork subprocess.
                $i $1
                ;;
        esac
    done
    Und noch ausführbar machen:
    Code:
    chmod +x /opt/etc/init.d/rc.unslung
    Dieser Teil ist auch geschafft
    Last edited by akbor; 15-11-2010 at 19:44. Reason: Typo in pre-shutdown korrigiert (war "mount -oremount,ro $i")

  3. #3
    Join Date
    Feb 2005
    Location
    Germany - Frankfurt
    Posts
    1,548
    6. IPKG

    Bei IPKG handelt es sich um ein Paketsystem, mit dem Du Software installieren kannst.
    IPKG arbeitet auf der Festplatte in /opt. Deswegen hast Du in /etc/fstab den Mount für die IPKG-Partition eingerichtet.
    In /opt/var/log landen später auch die ganzen Logdateien. Aber das nur so am Rande.

    Du willst also das Paketsystem installieren:
    Erst die Verzeichnisse erstellen.
    Code:
    mkdir -p /opt/tmp/ipkg 
    cd /opt/tmp/ipkg
    Paket herunterladen und installieren (Fehlermeldung ignorieren):
    Code:
    wget http://ipkg.nslu2-linux.org/feeds/optware/oleg/cross/stable/ipkg-opt_0.99.163-10_mipsel.ipk
    ipkg.sh install ipkg-opt_0.99.163-10_mipsel.ipk
    wget http://ipkg.nslu2-linux.org/feeds/optware/oleg/cross/stable/uclibc-opt_0.9.28-13_mipsel.ipk
    ipkg.sh install uclibc-opt_0.9.28-13_mipsel.ipk
    ipkg update
    Mit diesem befehl siehst Du, welche Pakete installiert sind:
    Code:
    ipkg list_installed
    Sieht jetzt so aus:
    [admin@blechbuechse ipkg]$ ipkg list_installed
    ipkg-opt - 0.99.163-10 - The Itsy Package Manager
    uclibc-opt - 0.9.28-13 - micro C library for embedded Linux systems
    Successfully terminated.
    [admin@blechbuechse ipkg]$
    In Zukunft kannst Du Deine Installation mit IPKG aktuell halten.
    Einfach regelmäßig diese Befehle ausführen:
    Code:
    ipkg update
    ipkg upgrade
    7. Midnight Commander
    Ein Dateimanager.
    MC installieren:
    Code:
    ipkg install mc
    Damit MC im Terminal läuft ist noch eine Einstellung zu machen.
    Code:
    echo "export TERMINFO=/opt/share/terminfo">>/opt/etc/profile
    echo "alias mc=\"mc -c\"">>/opt/etc/profile
    Noch die profile ausführbar machen:
    Code:
    chmod +x /opt/etc/profile
    Jetzt musst Du eigentlich den Flash speichern, aber das machen wir später sowieso.

    8. Tools (kann man auch auslassen...)

    ich finde diese Tools sehr hilfreich. 1GB auf der Platte ist auch genug. Also drauf damit:
    Code:
    ipkg install coreutils
    ipkg install findutils
    ipkg install diffutils
    ipkg install screen
    ipkg install nano
    ipkg install procps
    ipkg install less
    ipkg install unzip
    ipkg install hdparm
    ipkg install man
    ipkg install man-pages
    ipkg install lynx
    ipkg install e2fslibs
    ipkg install e2fsprogs
    9. CRON
    Cron erledigt automatisierte Aufgaben für Dich.
    Code:
    ipkg install cron
    Cron Startskript anpassen bzw überprüfen:
    Code:
    vi /opt/etc/init.d/S10cron
    Und so sollte es aussehen:
    Code:
    #!/bin/sh
    #
    # Startup script for cron
    
    PIDFILE=/opt/var/run/cron.pid
    
    case $1 in
     start)
       /opt/sbin/cron
       ;;
     stop)
       [ -f ${PIDFILE} ] && kill `cat ${PIDFILE}`  ;;
       *)
       echo "usage: $0 (start|stop)"
       exit 1
    esac
    Alles speichern und einen reboot:
    Code:
    flashfs save && flashfs commit && flashfs enable && reboot
    Nach dem Neustart sollte cron in der ps-Liste sein.
    Achtung: Falls Du procps installiert hast ist der Befehl Deiner Wahl nun:
    Code:
    ps axf
    Wenn cron nicht in der Liste auftaucht solltest Du die rc.unslung überprüfen.

    Wenn etwas von cron ausgeführt werden soll musst Du es in der crontab (/opt/etc/crontab) eintragen.
    Fertig mit cron.
    Last edited by wengi; 18-07-2010 at 23:35.

  4. #4
    Join Date
    Feb 2005
    Location
    Germany - Frankfurt
    Posts
    1,548
    10. TRANSMISSION (Der Torrent Client)

    Du hast ja schon Routine. Also los gehts:
    Code:
    ipkg install transmission
    ipkg install wget
    Arbeitsverzeichnisse erstellen:
    Code:
    mkdir -p /tmp/harddisk/transmission/download
    mkdir -p /tmp/harddisk/transmission/config/blocklists
    chmod -R 770 /tmp/harddisk/transmission/
    Konfigurationsdatei:
    Code:
    vi /tmp/harddisk/transmission/config/settings.json
    Mit dem Inhalt:
    Code:
    {
        "blocklist-enabled": true,
        "dht-enabled": true,
        "download-dir": "/tmp/harddisk/transmission/download", 
        "encryption": 2, 
        "lazy-bitfield-enabled": true, 
        "open-file-limit": 64, 
        "peer-limit-global": 250, 
        "peer-limit-per-torrent": 60, 
        "peer-port": 51413, 
        "peer-port-random-enabled": false, 
        "peer-port-random-high": 65535, 
        "peer-port-random-low": 1024, 
        "peer-socket-tos": 8, 
        "pex-enabled": true, 
        "port-forwarding-enabled": false, 
        "preallocation": 1, 
        "proxy": "", 
        "proxy-auth-enabled": false, 
        "proxy-auth-password": "", 
        "proxy-auth-username": "", 
        "proxy-enabled": false, 
        "proxy-port": 80, 
        "proxy-type": 0, 
        "rpc-authentication-required": false, 
        "rpc-enabled": true, 
        "rpc-password": "", 
        "rpc-port": 9091, 
        "rpc-username": "", 
        "rpc-whitelist": "127.0.0.1,192.168.1.*", 
        "rpc-whitelist-enabled": true,
        "speed-limit-down": 500,
        "speed-limit-down-enabled": false,
        "speed-limit-up": 20,
        "speed-limit-up-enabled": true  
    }
    Mehr Konfigurationsmöglichkeiten. Die Einträge in der settings ändern sich auch hin und wieder.

    Startup Skript erstellen:
    Code:
    vi /opt/etc/init.d/S90transmission-daemon
    Inhalt:
    Code:
    #!/bin/sh
    #
    # Startup script for transmission
    
    case $1 in
     start)
            # update blocklist
            echo "updating blocklist"
            cd /tmp/harddisk/transmission/config/blocklists
            if wget -q -N --tries=3 --timeout=10 http://www.bluetack.co.uk/config/level1.gz
              then
              if test -f level1.gz; then
                 rm level1
                 gunzip level1.gz
                 chmod go+r level1
              fi
            else
              echo "Error $?. Blocklist NOT updated."
            fi
    
            # start transmission
            echo "starting transmission"
            nice /opt/bin/transmission-daemon -g /tmp/harddisk/transmission/config
       ;;
    
     stop)
            if [ -n "`pidof transmission-daemon`" ]; then
                    echo "stopping transmission"
                    kill -9 `pidof transmission-daemon`
            fi
       ;;
     restart|force-reload)
            $0 stop
            sleep 1
            $0 start
       ;;
    
     *)
            echo "usage: $0 (start|stop|restart|force-reload)"
            exit 1
    esac
    Ausführbar machen und starten
    Code:
    chmod 755 /opt/etc/init.d/S90transmission-daemon
    /opt/etc/init.d/S90transmission-daemon start
    Mit
    Code:
    ps axf
    mal überprüfen, ob der transmissiond läuft und im Browser (IE wird nicht unterstützt!) ansurfen.

    Transmission läuft
    Zum Testen ist es eine gute Idee einen (nicht mehrere) gut verfügbaren Torrent zu laden.
    Also: Torrent herunterladen. Im Webinterface auf Open drücken und die Torrent-Datei auswählen.
    Der Download befindet sich anschließend unter /tmp/harddisk/transmission/download.

    Transmission benutzt standardmäßig Port 51413.
    Mehr Info zu transmission gibt es hier: http://www.nslu2-linux.org/wiki/Optware/Transmission

    11. Logrotate für das Syslog
    Installieren:
    Code:
    ipkg install logrotate
    Ordner für das Syslog erstellen (nicht mehr /tmp)
    Code:
    mkdir -p /opt/var/log/
    Die crontab bearbeiten
    Code:
    vi /opt/etc/crontab
    und diese Zeile eingefügen:
    0 0 * * * admin /opt/sbin/logrotate -f /opt/etc/logrotate.conf &>/dev/null
    Logrotate bearbeiten:
    Code:
    vi /opt/etc/logrotate.conf
    Den Inhalt komplett damit ersetzen:
    compress

    /opt/var/log/syslog.log {
    size 1024k
    weekly
    rotate 9
    postrotate
    killall -HUP syslogd
    endscript
    }

    include /opt/etc/logrotate.d
    Damit der Syslog startet:
    Code:
    vi /opt/etc/init.d/S05syslogd
    Muss so aussehen:
    Code:
    #!/bin/sh
    #
    # Startup script for syslog
    #
    PATH=/opt/bin:/opt/sbin:/opt/local/bin:/sbin:/bin:/usr/bin:/usr/sbin
    
    LOGFILE=syslog.log
    KERNLOGFILE=kern.log
    LOG_OLD=/tmp
    LOG_NEW=/opt/var/log
    
    prefix=""
    sbindir=${prefix}/sbin
    
    NAME=syslogd
    DAEMON=${sbindir}/${NAME}
    DESC="syslogd"
    OPTIONS="-m 0 -O $LOG_NEW/$LOGFILE -S -l 7 -s 0"
    
    case "$1" in
    start0)
    printf "Starting ${DESC}: "
    # Copy old syslog and create symlink to new
    if [ ! -L /tmp/syslog.log ]; then
    cat $LOG_OLD/$LOGFILE >> $LOG_NEW/$LOGFILE
    mv $LOG_OLD/$LOGFILE $LOG_NEW/$KERNLOGFILE
    ln -s $LOG_NEW/$LOGFILE $LOG_OLD/$LOGFILE
    fi
    ${DAEMON} ${OPTIONS}
    printf "${NAME}.\n"
    logger -t ${NAME} "started."
    ;;
    stop)
    if [ -n "`pidof syslogd`" ]; then
    printf "Stopping ${DESC}: "
    killall "${NAME}"
    printf "${NAME}.\n"
    fi
    ;;
    start|restart|force-reload)
    $0 stop
    sleep 1
    $0 start0
    ;;
    *)
    printf "Usage: $0 {start|stop|restart|force-reload}\n" >&2
    exit
    ;;
    esac
    
    exit 0
    Und muss ausführbar sein:
    Code:
    chmod +x /opt/etc/init.d/S05syslogd
    Sicherheitshalber speichern und reboot:
    Code:
    flashfs save && flashfs commit && flashfs enable && reboot
    Last edited by wengi; 30-09-2011 at 15:31.

  5. #5
    Join Date
    Feb 2005
    Location
    Germany - Frankfurt
    Posts
    1,548
    12a. original SAMBA
    Samba dient der Darstellung der angeschlossenen Festplatte im Windows Netzwerk.
    Ab der -9er Firmware wird die von Oleg integrierte Samba Version genutzt werden.
    Also Im Webinterface unter USB Application -> Samba die nötigen Einstellungen machen.

    Am einfachsten Samba File Shares auf "All partitions" und Default Access Level auf "read/write".
    Hostname und Workgroup eingeben und gut ist's.

    12b. IPKG SAMBA
    Ich empfehle jedem die Installation von Samba nach obigem Kapitel. Die jetzt folgende Version ist für diejenigen, die mehr Flexibilität benötigen.
    Das original Samba muss im Webinterface abgeschaltet sein und bleiben!

    Los gehts:
    Code:
    ipkg install xinetd
    ipkg install samba2
    Dann muss die Datei /opt/etc/init.d/S10xinetd noch an die neue rc.unslung mit start|stop angepasst werden:
    Code:
    vi /opt/etc/init.d/S10xinetd
    Der Inhalt sieht so aus:
    Code:
    #! /bin/sh
    #
    # Startup script for xinetd
    #
    prefix=/opt
    sbindir=${prefix}/sbin
    
    NAME=xinetd
    DAEMON=${sbindir}/${NAME}
    DESC="xinetd"
    PIDFILE="/var/run/xinetd.pid"
    OPTIONS="-pidfile $PIDFILE"
    CONFDIR="/opt/etc/xinetd.d"
    
    # installation check
    test -x ${DAEMON} || exit 0
    
    case "$1" in
        start)
            if [ -z "`pidof ${NAME}`" ] ; then
                printf "Starting ${DESC}: "
                ${DAEMON} ${OPTIONS}
                printf "${NAME}.\n"
            fi
        ;;
        stop)
            if [ -n "`pidof ${NAME}`" ]; then
              printf "Stopping ${DESC}: "
              kill -SIGTERM `cat $PIDFILE`
              printf "${NAME}.\n"
              for i in ${CONFDIR}/* ; do
                if [ -n "`grep "^[[:space:]]*disable[[:space:]]*=[[:space:]]*no" ${i}`" ] ; then
                  daemon="`basename $(awk -F= '/^[[:space:]]*server[[:space:]]*=[[:space:]]*.*/{print $2}' ${i})`"
                  printf "Stopping ${daemon}: "
                  kill "`pidof ${daemon}`" > /dev/null 2>&1
                  printf "${daemon}.\n"
                fi
              done
            fi
        ;;
        reload|reconfigure)
            if [ -n "`pidof ${NAME}`" ]; then
                printf "Reloading ${DESC}: "
                kill -SIGHUP `cat $PIDFILE`
                printf "${NAME}.\n"
            fi
        ;;
        restart|force-reload)
            $0 stop
            sleep 1
            $0 start
        ;;
        *)
            printf "Usage: $0 {start|stop|reload|reconfigure|restart|force-reload}\n" >&2
            exit
        ;;
    esac
    
    exit 0
    Um das klarzustellen: xinetd stoppen beendet auch alle registrierten Services. xinetd restart beendet die registrierten Services und startet lediglich xinetd selbst.

    Die conf für swat bearbeiten:
    Code:
    vi /opt/etc/xinetd.d/swat
    In dieser Datei IP Adresse / Netz anpassen und den user auf admin ändern! ("user = admin")

    Speicher, reboot:
    Code:
    flashfs save && flashfs commit && flashfs enable && reboot
    Jetzt sollte xinetd und samba (smbd und nmbd) laufen.
    Samba muss allerdings noch konfiguriert werden. Dazu gibt es eine eigenes Webinterface:
    Code:
    http://IP.ADRESSE.DES.ASUS:901
    In den "Globals" folgende Einstellungen:
    - "workgroup" anpassen
    - "netbios name" Name des Asus (bei mir blechbuechse).
    - "hosts allow" sollte Dein eigenes Netz sein, z.B. "192.168.1." (Letzte Nummer weglassen)
    - "guest account" ist 'admin'.
    Änderungen speichern mit "Commit Changes".
    Änderungen in Globals benötigen einen reboot.

    Jetzt die "Shares":
    - Neben "create share" trägst Du "torrent" ein und drückst "create share".
    - "comment": "torrent files"
    - "path": "/tmp/harddisk/torrent"
    - "read only" NO
    - "guest ok" YES
    - "browseable" YES
    - Drücke "commit changes".
    Für jede freigabe musst Du diese Schritte durchführen.

    Änderungen werden sofort gültig. Ohne Reboot.
    Jetzt solltest Du den Asus in Deiner Arbeitsgruppe sehen.
    fertig.
    Last edited by wengi; 13-12-2008 at 23:32.

  6. #6
    Join Date
    Feb 2005
    Location
    Germany - Frankfurt
    Posts
    1,548
    13. NLOAD
    Mit nload kann man sich die Netzwerkaktivität ansehen.

    Code:
    ipkg install nload
    Für ein DSL 2000 wäre dies hier eine gute Startoption:
    Code:
    nload -t 200 -s 7 -i 2048 -o 256 -u H eth1
    Erklärung:
    -t: Aktualisierungsrate in ms
    -s: smoothness [1-9], 1 means average over litte, 9 over long time
    -i: sets scale for incoming traffic, in kBit/s
    -o: sets scale for outgoing traffic, in kBit/s
    -u: sets units, see helppage -h for more details
    14. Profil anpassen
    Um das Leben auf der Kommandozeile etwas zu vereinfachen fügst Du jetzt noch ein paar aliase (<- ist das Plural richtig?) ein.
    Noch folgende Datei anpassen:
    Code:
    vi /opt/etc/profile
    Inhalt:
    # Some alias for making life easier
    # To start nload with DSL 6000 settings: 'nld'
    alias nld="nload -t 200 -s 7 -i 6656 -o 640 -u H eth1"

    # Make ls default -la with color coding
    alias ls="ls --color=auto -la"

    # Make pss a grep ps function
    alias pss="ps axf | grep"

    # df human readable (Only works with coreutils installed!)
    # alias df="df -h"
    Falls Du Midnight Commander installiert hast stehen noch zwei Zeilen mehr aus Kapitel 6 drin.

    Ausführbar machen:
    Code:
    chmod +x /opt/etc/profile
    Speichern, reboot:
    Code:
    flashfs save && flashfs commit && flashfs enable && reboot
    Die Einstellungen lassen sich in der Shell durch Eingabe von 'alias' überprüfen:
    [admin@blechbuechse root]$ alias
    ls='ls --color=auto -la'
    nld='nload -t 200 -s 7 -i 6656 -o 640 -u H eth1'
    pss='ps axf | grep'
    [admin@blechbuechse root]$
    15. SSH login automatisieren
    Bisher musst Du bei jedem login Benutzernamen und Passwort angeben. Ich vermute Du bist genau so faul wie ich. Also machen wir das jetzt über Schlüssel.
    Als erstes erstellst Du Dir auf Deinem PC einen Schlüssel. Dies geht mit PuttyGen.
    Starten, Generate drücken und so lange mit der Maus wackeln bis der Schlüssel erstellt ist.
    Im Feld "Key comment" noch den Namen des Rechners oder des Schlüsselbesitzers eingeben (dient bei mehreren Schlüsseln zur Identifikation).

    Den privaten Schlüssel als Datei speichern:
    Um den Schlüssel auf Deinem Rechner zu schützen kann er mit einem passphrase geschützt werden. Dies dient der Sicherheit des Schlüssels.
    Du musst selbst wissen, ob Du einen Passphrase verwenden willst oder nicht. Wenn Du jetzt keine Idee hast: Verwende einen beliebigen passphrase!
    Mit "Save private Key" den privaten Schlüssel in eine Datei auf Deinem Rechner kopieren. (z.B. C:\keys\meiner.ppk)

    Den öffentlichen Schlüssel auf dem Router speichern:
    Aus dem oberen, grauen Feld den Schlüssel in die Zwischenablage kopieren. Der Schlüssel sieht zum Beispiel so aus:
    ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIEAn+NorNZlb9xhogR2DfNq6R qRg04KKXm2t4WIxj/0NWxjOVUAg4fFl2diA+3+f7gjIPdyEJnGUhkfgckYqhfMoZswr TjtvjP00p5O/LPcvGxzpy0XOBty1NQjcYOrOMC6BFrp6Rh0cVThF+sdAYXogn6 w49GOoSvKdgcTLCDubyM= testschluessel
    DEIN SCHLUESSEL SOLLTE ANDERS AUSSEHEN. DIES IST NUR EIN BEISPIEL.

    Zunächst benötigst Du ein .ssh Verzeichnis im Home Verzeichnis des Users admin (heisst zwar root, ist aber admin...):
    Code:
    mkdir /usr/local/root/.ssh
    In diesem Verzeichnis muss nun der Schlüssel des/der Clientcomputer/s als Datei abgespeichert werden.
    Code:
    vi /usr/local/root/.ssh/authorized_keys
    Den Schlüssel aus der Zwischenablage in die Datei kopieren. Eine Zeile pro Schlüssel, keine Umbrüche!
    Du kannst für mehrere Benutzer / Computer auch mehrere Schlüssel in diese Datei einfügen. Einfach jeden Schlüssel in eine neue Zeile.

    Da sich das im Flash befindet muss der flash gesichert werden:
    Code:
    flashfs save && flashfs commit && flashfs enable && reboot
    Nach dem Neustart noch
    Putty einrichten:
    Unter "Connection - Data" bei "Auto-login username" Folgendes eintragen: admin
    Unter "Connection - SSH - Auth" bei "Private key file for authentication" Die oben gespeicherte Datei angeben (z.B. C:\keys\meiner.ppk)
    Speichern nicht vergessen (Session - Save)

    Jetzt sollte Dein Login so aussehen:
    Using username "admin".
    Authenticating with public key "testschluessel"
    [admin@blechbuechse root]$
    Optional: Login per Passwort deaktivieren
    Mit der Option "dropbear -s" wird die Anmeldung mit Passwort abgeschaltet. Somit ist nur noch eine Anmeldung mit Schluesseln möglich.
    Um dropbear mit diese Option zu starten musst Du die /usr/local/sbin/post-boot bearbeiten.
    Einfach hinter dropbear ein "-s" anfügen.

    Danach speichern des Flash und Neustart nicht vergessen.

    16. SSH Port freischalten (wenn Router direkt verbunden)
    Um auch über das Internet auf den Router zugreifen zu können muss der Port 22 in der Firewall freigeschaltet werden. Wenn Du mit dem Asus Router die Internetverbindung herstellst (Home Gateway- und nicht Access Point Modus) kannst Du das direkt am Asus erledigen. Die Firewall ist iptables.
    Bemerkung: Dies ist ein Sicherheitsrisiko! Stelle sicher für Deine Benutzer zumindest sehr sichere Passwörter zu definieren!!! Schau Dir DIES für eine sichere dropbear Konfiguration an (nur englisch).

    Einfach in die /usr/local/sbin/post-firewall Folgendes eintragen:
    Code:
    #!/bin/sh
    # this opens the ssh port to internet! Be sure to have strong passwords!
    iptables -I INPUT -m tcp -p tcp --dport 22 -j ACCEPT
    Und natürlich wie immer speichern nicht vergessen!
    Hinweis: Über den obigen iptables Befehl lassen sich natürlich auch andere Ports freischalten.
    Last edited by wengi; 04-10-2009 at 12:28.

  7. #7
    Join Date
    Feb 2005
    Location
    Germany - Frankfurt
    Posts
    1,548
    17. Performanceoptimierung
    Diese Kapitel ist für Fortgeschrittene. Als Newbie solltest Du es lassen!

    Nachdem Dein Asus jetzt komplett aufgesetzt ist gilt es die Performance noch zu verbessern.
    Warum? Weil möglichst viel Speicher und Prozessorzeit für Transmission frei bleiben soll.
    Gerade der WL-HDD ist mit seinen 16MB RAM und 125MHz CPU etwas..... unterdimensioniert.
    Also schaltest Du möglichst alle Dienste nur dann ein, wenn sie benötigt werden.

    Dies funktioniert mit xinetd. Hier gibt es eine schöne Beschreibung.

    A) Samba über xinetd starten

    Dieses Kapitel geht vom original Samba der Firmware aus. Nicht von der IPKG Version!
    Falls Du über IPKG installiert hast musst Du die Pfade anpassen: /usr/sbin/ ändern in /opt/...

    Ich benötige Samba nur, um die Torrents von der Platte zu holen. Also eher selten.
    Daher starte ich Samba nur bei Bedarf. Bevor Du diesen Schritt versuchst sollte Dein Samba zu 100% als Daemon funktionieren! Das macht eventuelle Fehlersuche einfacher.

    Falls xinetd noch nicht installiert ist:
    Code:
    ipkg install xinetd
    Dann muss die Datei /opt/etc/init.d/S10xinetd noch an die neue rc.unslung mit start|stop angepasst werden.
    Das machst Du bitte, wie es in Kapitel 12b) beschrieben ist!!! Nur den Teil mit dem Inhalt von S10xinetd!

    Um Samba zu starten müssen zwei Dienste bei xinetd eingetragen werden:
    Code:
    vi /opt/etc/xinetd.d/netbios-ssn
    Inhalt:
    service netbios-ssn
    {
    disable = no
    socket_type = stream
    protocol = tcp
    port = 139
    user = admin
    wait = no
    only_from = localhost 192.168.XXX.1/24
    server = /usr/sbin/smbd
    }
    Und den Zweiten:
    Code:
    vi /opt/etc/xinetd.d/netbios-ns
    Inhalt:
    service netbios-ns
    {
    disable = no
    socket_type = dgram
    protocol = udp
    port = 137
    user = admin
    wait = yes
    only_from = localhost 192.168.XXX.1/24
    server = /usr/sbin/nmbd
    }
    Die IP-Einstellungen musst Du natürlich an Dein Netz anpassen!

    Eine Konfiguration für Samba ("vi /etc/smb.conf") sollte schon vorhanden sein, wenn Du Samba bereits über das Webinterface konfiguriert hast. In diesem Fall kannst Du die datei so lassen. Wenn nicht sieht sie im einfachsten Fall (Datenpartition mit allen lesend und schreibend teilen) so aus:
    Code:
    [global]
            interfaces = br0
            bind interfaces only = yes
            workgroup = DEINEARBEITSGRUPPE
            server string = DEINHOSTNAME
            guest account = nobody
            security = share
            browseable = yes
            guest ok = yes
            guest only = yes
            log level = 1
            max log size = 100
            encrypt passwords = no
            preserve case = yes
            short preserve case = yes
            client code page = 850
    
    [disc0_3]
            path = /tmp/mnt/disc0_3
            writable = yes
            force user = admin
    Auch hier bitte Name und Arbeitsgruppe anpassen!

    Nun müssen wir dafür sorgen, dass die Samba Konfiguration auf jeden Fall gespeichert wird:
    Code:
    echo "/etc/smb.conf" >> /usr/local/.files && flashfs save && flashfs commit && flashfs enable
    Samba im Webinterface deaktivieren und Neustart bestätigen!
    und bei IPKG Installation noch das Startup Script den normalen Samba löschen:
    Code:
    rm /opt/etc/init.d/S80samba
    Die Konfiguration machst Du am besten über die smb.conf.
    Wenn Du die Konfig über das Webinterface machst musst Du die Änderungen bestätigen und anschließend Samba im Webinterface deaktivieren.

    B) Unbenötigte Kernelmodule entfernen


    Mit folgendem Befehl erhälst Du eine Übersicht über installierte Kernelmodule:
    Code:
    [admin@blechbuechse root]$ lsmod
    Module                  Size  Used by    Tainted: P
    nfsd                   93000   1
    lockd                  64220   1 [nfsd]
    sunrpc                 83464   1 [nfsd lockd]
    usb-storage            63928   0 (unused)
    sd_mod                 13276   0 (unused)
    scsi_mod               70200   1 [usb-storage sd_mod]
    printer                12836   0 (unused)
    usb-ohci               21908   0 (unused)
    usbcore                78496   1 [usb-storage printer usb-ohci]
    ip_nat_ftp              3912   0 (unused)
    ip_conntrack_ftp        5216   1
    ipt_NETMAP               960   0 (unused)
    ip_nat_starcraft        2208   0 (unused)
    gpiortc                 5064   0
    wl                    728968   0 (unused)
    et                     31256   0 (unused)
    ide-disk               13604   3
    ide-probe-mod          12012   0
    ide-mod               118112   3 [ide-disk ide-probe-mod]
    Jetzt musst Du Dir Gedanken machen, welche Module Du nicht benötigst. Im Regelfall steht unused hinter nicht benötigten Modulen. Dennoch gint es Einige, die zwar unused aber trotzdem wichtig sind.
    Diese können dann wie folgt entfernt werden:
    Code:
    rmmod MODULNAME
    Das Modul 'et' zu entfernen ist keine gute Idee, da sonst das Netzwerk nicht mehr funktioniert. (Ist mir gerade passiert )

    Versuche es mal mit folgenden Modulen:

    wl - WLAN
    printer - Druckerunterstützung
    usb-storage - USB Massenspeicher
    usb-ohci - USB Host

    nfsd, lockd, sunrpc und einige Andere werden durch deaktivieren des NFS Servers im Webinterface nicht mehr geladen.

    Es wäre schön, hier mal eine Liste der Module und Ihrer Funktion zu haben. Allerdings hab ich keine Ahnung, wo ich die Modulbeschreibungen herbekomme.

    Jetzt am besten mal die nicht benötigten Module entfernen und schauen, ob noch alles funktioniert.
    Falls was schief geht: reboot bzw. Stecker ziehen.
    Nachdem Du Dir sicher bist, welche Module entfernt werden können, muss dies noch in die post-boot eingetragen werden.
    Flash speichern nicht vergessen

    18. Firmwareupdate
    Wenn eine neue Firmware zur Verfügung steht willst Du sicherlich eien Update machen:

    1) Im Webinterface unter 'System Setup' -> 'Setting Management' auf "HERE" klicken, um die aktuelle Settings zu sichern.
    2) Im Webinterface unter 'System Setup' -> 'Flashfs Management' auf "HERE" klicken, um das aktuelle Flash File System zu sichern.
    3) Die neue Firmware runterladen und entpacken. Du brauchst die .trx Datei
    Wichtig: Nach jedem der folgenden Schritte den Neustart des Geräts abwarten. Das Webinterface ist anschließend wieder auf der Startseite.
    4) Im Webinterface unter 'System Setup' -> 'Firmware Upgrade' die entpackte .trx Datei auswählen und 'Upload' drücken.
    5) Im Webinterface unter 'System Setup' -> 'Setting Management' die vorher gesicherten Settings auswählen und 'Upload' drücken.
    6) Im Webinterface unter 'System Setup' -> 'Flashfs Management' das vorher gesicherten Flashfs auswählen und 'Upload' drücken.

    Das Update sollte jetzt erfolgreich abgeschlossen sein und Deine installierten Dienste wieder zur Verfügung stehen.
    Bei dieser Prozedur gehen weder Daten auf der Platte verloren noch musst Du bei IPKG-Paketen etwas nacharbeiten.

    Allgemeines
    Ich möchte dieses HowTo möglichst aktuell halten.
    Falls also jemand von Euch etwas verbesserungswürdig findet bitte ich um Nachricht.

    Es gibt viele HowTos, die auf diesem aufbauen.
    Soundcard, webserver, mysql und so weiter.
    Alles hier zu finden: http://wl500g.info/showpost.php?p=160532&postcount=1

    Bekannte Probleme:

    - ein 'find' in / ergibt einen Fehler "./proc/7/fd: No such file or directory". Das ist im procfs normal.

    ich Danke:

    Oleg (für die Firmware)
    marcnesium (für das gute Premium How To)
    Oleo (für transmission und die gute Hilfestellung)
    Meiner Frau (für die Geduld)
    Den Benutzern hier im Forum für die guten Rückmeldungen (ihr wisst, wer gemeint ist).

    Ab hier weiterführende HowTos:
    http://wl500g.info/showpost.php?p=74277&postcount=15 (Mehrere Benutzer für Samba anlegen)
    http://wl500g.info/showthread.php?t=8010 (Mounten und Aufnehmen mit der dbox2 über NFS)
    http://wl500g.info/showthread.php?t=10415 (Einrichten eines Mediaservers (twonky) und der XBOX360)
    http://wl500g.info/showthread.php?t=6826 (Autocopy Funktion für die Fotographen unter Euch)
    http://wl500g.info/showpost.php?p=79346&postcount=2 (smbmount: mounten von Windows Shares auf dem Router)
    http://wl500g.info/showthread.php?t=13785 (boot skripte und fstab ab Firmware version -9)
    http://wl500g.info/showpost.php?p=94629&postcount=2 (Samba: Probleme mit Umlauten - ä ü ö - beheben)

    Andere HowTos:
    http://www.nslu2-linux.org/wiki/Optware/Transmission (eine Transmission Step-by-Step Anleitung)
    http://wl500g.info/showthread.php?t=6823 (Controlling torrent downloads thru webpage)
    http://wl500g.info/showthread.php?t=5909 (Premium HowTo)
    http://www.macsat.com/macsat/content/category/3/13/29/ (MacSat Tutorials)
    http://www.sprayfly.com/wiki/Sprayfly (Sprayfly WL-HDD Wiki)
    http://wl500g.info/showpost.php?p=25037&postcount=1 (Übersicht über Olegs Firmware Versionen)
    http://wl500g.info/showthread.php?t=13817 (Eigene IPKG Paktete erstellen, cross compilen)

    Wer sich ein bischen über das Geschehen bei den Entwicklern informieren will ist hier richtig:
    http://trac.nslu2-linux.org/optware/timeline Zeigt die aktuellen Neuerungen.
    http://ipkg.nslu2-linux.org/feeds/op...table/Packages Eine Liste aller IPKG Pakete.


    Linux für Newbies:
    http://www.pro-linux.de/work/newbie/
    http://www.lug-marl.de/kurs/schwindelzettel1.html
    http://www.lug-marl.de/kurs/schwindelzettel2.html
    http://cip.physik.uni-freiburg.de/main/howtos/sh.php
    Last edited by wengi; 12-07-2010 at 14:11.

  8. #8
    Join Date
    Feb 2005
    Location
    Germany - Frankfurt a.M.
    Posts
    299
    Hi,

    danke für dein schönes How-To.

    Es sieht wirklich gut aus.

    Ich habe es sticky gemacht, sodass es oben bleibt.
    WL-500gP => 1.9.2.7-7g (2007-04-06)
    Running: thttpd, php 5.1, vsftp, rrdtool

    http://onlinefussballmanager.de/userbar/0/53647.png

  9. #9
    Hallo Wengi. Vielen Dank für dein total hilfreiches How-To.

    Was ich mich bei Deinem und allen bisherigen How-to's frage:
    Ist die Datei "Run-Parts" zwingend notwenig (bspw. für den Watchdog des Torrents) oder kann man die entsprechenden Einträge für Run-Parts im Cron auch unterlassen? Das Problem ist nämlich, dass sich so meine an den WL500gp angeschlossene Festplatte nicht mehr in den Stand-By-Modus versetzt. Ich schätze, dass dies an dem 5-Minuten-Cron-Job liegt....

    Noch etwas Produktives:
    1) Bei Deiner Post-Boot werden (wohl je nach Hardware, bspw. WL500gp) nicht die angeschlossenen Laufwerke erkannt und können nicht gemountet werden. Ich binde diese deshalb schon wie folgt nach 'Dropbear' in der Post-Boot ein:
    Code:
    # test if USB disc has been attached
    # if not - then insert needed modules
    if [ ! -d /dev/discs ]
    then
    insmod scsi_mod && insmod sd_mod && insmod usb-storage && sleep 5s
    fi
    Wenn überflüssig, passiert nichts schlimmes.
    2) Zumindest bei Routern mit externer Festplatte funktioniert Vista (auch Home) mit der von Dir beschriebenen Samba 2.2-Installation. Mit Oleg-Firmware kommt nur die 2.02 und funktioniert nicht unter Vista.
    3) Für jemanden, der eine aktive Firewall benötigt, sollte es hilfreich sein, unter der Weboberfläche den Port 65534 bei virtuellen Server an 192.168.1.1 (=Router)weiterzuleiten.
    Last edited by hanseugen; 27-02-2007 at 19:35.

  10. #10
    Join Date
    Feb 2005
    Location
    Germany - Frankfurt
    Posts
    1,548
    Quote Originally Posted by hanseugen View Post
    Hallo Wengi. Vielen Dank für dein total hilfreiches How-To.
    Danke für die Blumen

    Quote Originally Posted by hanseugen View Post
    Was ich mich bei Deinem und allen bisherigen How-to's frage:
    Ist die Datei "Run-Parts" zwingend notwenig (bspw. für den Watchdog des Torrents) oder kann man die entsprechenden Einträge für Run-Parts im Cron auch unterlassen? Das Problem ist nämlich, dass sich so meine an den WL500gp angeschlossene Festplatte nicht mehr in den Stand-By-Modus versetzt. Ich schätze, dass dies an dem 5-Minuten-Cron-Job liegt....
    Du hast Recht. Ich hab das HowTo dementsprechend angepasst und einen kleinen Exkurs eingefügt.

    Quote Originally Posted by hanseugen View Post
    Noch etwas Produktives:
    1) Bei Deiner Post-Boot werden (wohl je nach Hardware, bspw. WL500gp) nicht die angeschlossenen Laufwerke erkannt und können nicht gemountet werden. Ich binde diese deshalb schon wie folgt nach 'Dropbear' in der Post-Boot ein:
    Code:
    # test if USB disc has been attached
    # if not - then insert needed modules
    if [ ! -d /dev/discs ]
    then
    insmod scsi_mod && insmod sd_mod && insmod usb-storage && sleep 5s
    fi
    Wenn überflüssig, passiert nichts schlimmes.
    Ist drin. Mann muss nur noch die # rausnehmen.

    Quote Originally Posted by hanseugen View Post
    2) Zumindest bei Routern mit externer Festplatte funktioniert Vista (auch Home) mit der von Dir beschriebenen Samba 2.2-Installation. Mit Oleg-Firmware kommt nur die 2.02 und funktioniert nicht unter Vista.
    Ich habs mal dazugeschrieben. An Alle, die Vista haben: Bitte mal testen und berichten.

    Quote Originally Posted by hanseugen View Post
    3) Für jemanden, der eine aktive Firewall benötigt, sollte es hilfreich sein, unter der Weboberfläche den Port 65534 bei virtuellen Server an 192.168.1.1 (=Router)weiterzuleiten.
    Firewall-Konfigs hab ich hier absichtlich nicht mit reingenommen, da das zu komplex wird. Da gibt es zu viele Variablen/Möglichkeiten. Vielleicht in Zukunft...

    Vielen Dank für Dein Feedback

    wengi

  11. #11
    Join Date
    Feb 2005
    Location
    Germany - Frankfurt
    Posts
    1,548
    Hi,

    ich hab jetzt noch ein Kapitel angehängt, in dem ich das profile anpassen will.
    Das funktioniert aber noch nicht.
    Um es zu verstehen muss ich folgende Frage klären:
    Was machen die beiden folgenden Zeilen in der /etc/profile?

    [ -x /usr/local/etc/profile ] && . /usr/local/etc/profile
    [ -x /opt/etc/profile ] && . /opt/etc/profile

    Ich dachte, es übernimmt evtl. vorhandene Einträge aus /usr/local/etc/profile und /opt/etc/profile.
    Funktioniert bei mir aber nicht.

    Kann mir jemand weiterhelfen?

    Danke
    wengi

  12. #12
    Join Date
    Apr 2005
    Location
    Eindhoven, The Netherlands
    Posts
    23
    Quote Originally Posted by wengi View Post

    Bekannte Probleme:

    - ein 'find' in / ergibt einen Fehler "./proc/7/fd: No such file or directory". Ist das normal?
    Meine WL-HDD gibt genau dasselbe.

    Schoenes Uebersicht.
    FW: 1.9.2.7-7b (2006-01-07) on WL-HDD + 60Gb

  13. #13
    Join Date
    Jan 2005
    Location
    konstanz, germany
    Posts
    90

    Smile

    Hi Wengi,

    nice to have someone to get forward with wlhdd ...

    the [ is a alias for test and option checks if the file exists and is executable ... if ok it will execute the following command ... I thing there's a mistake inside ... I think the dot will be a mistake ... following command will only be executed if test condition is true (ok)

    Code:
    [ -x /usr/local/etc/profile ] && /usr/local/etc/profile
    THX
    Martin

    P.S.: I am very happy to get the wlhdd alive and forward ...

    Quote Originally Posted by wengi View Post
    Hi,

    ich hab jetzt noch ein Kapitel angehängt, in dem ich das profile anpassen will.
    Das funktioniert aber noch nicht.
    Um es zu verstehen muss ich folgende Frage klären:
    Was machen die beiden folgenden Zeilen in der /etc/profile?

    [ -x /usr/local/etc/profile ] && . /usr/local/etc/profile
    [ -x /opt/etc/profile ] && . /opt/etc/profile

    Ich dachte, es übernimmt evtl. vorhandene Einträge aus /usr/local/etc/profile und /opt/etc/profile.
    Funktioniert bei mir aber nicht.

    Kann mir jemand weiterhelfen?

    Danke
    wengi
    Last edited by Martin1802; 19-03-2007 at 13:18.

  14. #14
    Join Date
    Feb 2005
    Location
    Germany - Frankfurt
    Posts
    1,548
    Damn.

    i did not recognize that the alias only had to be executed...
    i thought it is a config file, not an shell executable.

    Simply adding the alias-line to post-boot. DONE

    Thanks for your inspiration

    wengi
    ps: regarding the RAM Prob i recommend reading chapter 14. performance optimization!
    Last edited by wengi; 19-03-2007 at 13:57.

  15. #15
    Join Date
    Feb 2005
    Location
    Germany - Frankfurt
    Posts
    1,548
    So. Das Problem mit dem profile ist endgültig gegessen:

    Einfach einige Eintragungen in der /opt/etc/profile.
    Kapitel ist überarbeitet.

    wengi

Page 1 of 37 12311 ... LastLast

Similar Threads

  1. [HOW TO] Timeouts beim Laden von bestimmten Seiten beheben - MTU Problem
    By modnet25 in forum German Discussion - Deutsch (DE)
    Replies: 3
    Last Post: 03-09-2006, 10:55
  2. passende firmware
    By marcl in forum German Discussion - Deutsch (DE)
    Replies: 12
    Last Post: 08-05-2006, 21:25
  3. Replies: 3
    Last Post: 13-01-2006, 20:09
  4. Custom Firmware v1.1.2.7
    By JOCKYW2001 in forum WL-HDD Firmware Releases
    Replies: 59
    Last Post: 11-12-2004, 13:26
  5. Flashing Oleg's Firmware in WL HDD
    By hugo in forum WL-HDD Custom Development
    Replies: 29
    Last Post: 21-10-2004, 14:55

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •