.titleBar { margin-bottom: 5px!important; }

Virtual Machine auf der Fritzbox (dbox2freak VM)

Dieses Thema im Forum "FRITZ!Box Fon: Modifikationen" wurde erstellt von dbox2freak, 18 Sep. 2006.

  1. dbox2freak

    dbox2freak Neuer User

    Registriert seit:
    7 Juli 2006
    Beiträge:
    90
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    #1 dbox2freak, 18 Sep. 2006
    Zuletzt bearbeitet: 20 Sep. 2006
    Hallo Gemeinde

    Da eine erste Testversion V0.1 bei mir hier läuft, möcht ich Euch mal mein aktuelles Projekt vorstellen . . .

    1. Motivation:
    Einige haben sicher meine Kompilier- und Portierungsversuche von Samba 3.x auf FBF mitbekommen.
    Da nächtelanges Sourcecode Hacking nicht so viel Spaß macht, dacht ich mir, lös das Problem doch mal ganz anders.
    So entstand die "dbox2freak Virtual Machine"


    2. Kurzbeschreibung:
    Um nicht jedes Software Paket extra für die FBF zu kompilieren, kann man ja auch auf Vorhandenes zurückgreifen.
    Da fiel mit doch gleich mal "OpenWRT" und deren Artverwandte ein, da auch MIPSel Architektur . . .

    Somit hab ich ne "Virtual Machine" als ds-mod Basis Addon gebaut, um in dieser Sandbox testweise mal ein
    frisch kompiliertes "OpenWRT" laufen zu lassen ! In dieser Sandbox können dann wie von der NSLU2 etc. her bekannt
    die gewünschten Pakete per IPKG Paketmanager nachgeladen und installiert werden :cool: :cool:

    Unter anderem gibts da auch Pakete für Samba 3, Bluetooth, LCD Support, Asterisk, Aircrack, Homeautomation,
    Wetterstation Support, IRC und SIP Tools, uPNP Media Server, tor, tinyproxy, VPN, bitchx
    , usw usw usw :p

    Nach dem Start der Virtual Machine kann man sich per ssh einloggen:
    Code:
    login as: root
    root@fritz.box's password:
    
    BusyBox v1.2.1 (2006.08.27-01:41+0000) Built-in shell (ash)
    Enter 'help' for a list of built-in commands.
    
      _______                     ________        __
     |       |.-----.-----.-----.|  |  |  |.----.|  |_
     |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
     |_______||   __|_____|__|__||________||__|  |____|
              |__| W I R E L E S S   F R E E D O M
     KAMIKAZE (bleeding edge, r4681) -------------------
      * 10 oz Vodka       Shake well with ice and strain
      * 10 oz Triple sec  mixture into 10 shot glasses.
      * 10 oz lime juice  Salute!
     ---------------------------------------------------
    root@fritz.box:~#
    Das Setup bzw. die Installation und Konfiguration ist nicht gerade trivial. Aber wenns mal läuft, dann macht das richtig Spaß !


    3. Features
    • vollständige Integration in den DS-MOD (siehe Screen Shot)
    • lauffähig als Standalone Variante (ohne Webinterface)
    • Zugriff auf dutzende fertige Pakete
    • als Slimline Version auch mit original AVM Image (ohne ds-mod) lauffähig !
    • Installierbar auf HDD oder eleganterweise auf einen USB Stick (quasi ne VM2Go :cool: )
    • optionaler SWAP Space aktivierbar
    • alle Spielereien eines OpenWRT, HyperWRT etc.


    4. VM Konfiguration
    So läuft meine VM zur Zeit, viel zum Testen und spielen . . .
    • 1GB USB Stick (quasi als Flasherweiterung ;))
    • busybox - 1.2.1-1
    • uclibc - 0.9.28-8
    • wireless-tools - 28-1
    • rsync - 2.6.5-0
    • tcpdump - 3.9.4-1
    • iptraf - 2.7.0-1
    • microcom - 1.02-1
    • pptpd - 1.2.3-2
    • openvpn - 2.0.6


    5. Status
    Im Moment noch nix Releasefähiges ala make && make install, nur ein paar Quick&Dirty Scripte für mich.
    Wenn Interesse besteht, dann bastel ich so nach und nach mal ne Public Version ;-)

    EDIT:
    6. Installationsanleitung
    Siehe Posting #18: hier

    Fragen, Wünsche, Anträge, Bemerkungen ? :cool: :cool:

    mfg
    dbox2freak
     

    Anhänge:

    • vm.jpg
      vm.jpg
      Dateigröße:
      24 KB
      Aufrufe:
      578
  2. Dino75195

    Dino75195 Neuer User

    Registriert seit:
    3 Jan. 2005
    Beiträge:
    199
    Zustimmungen:
    0
    Punkte für Erfolge:
    16
    hey klingt doch echt gut!
    Ich warte bis es etwas einfacher zu installieren ist, weiter so!!!
     
  3. bodega

    bodega Aktives Mitglied

    Registriert seit:
    6 Juni 2006
    Beiträge:
    1,980
    Zustimmungen:
    1
    Punkte für Erfolge:
    0
    Ort:
    NRW
    Hallo!

    Hört sich sehr gut an!
    Heisst das, man könnte unter der VM einfach ein ./configure ausführen, ohne auf einen CC zu verweisen, bzw. die Binaries unter der VM ausführen?

    Oder hab ich da jetzt was falsch verstanden? :confused:
     
  4. dbox2freak

    dbox2freak Neuer User

    Registriert seit:
    7 Juli 2006
    Beiträge:
    90
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ja, man kann die Binaries/Packages von OpenWRT oder dem Asus WL500G direkt laufen lassen . . .
     
  5. martian

    martian Mitglied

    Registriert seit:
    26 Mai 2005
    Beiträge:
    273
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    wie siehts mit der geschwindigkeit aus? viele progs brauchen ja nahezu echtzeit-geschwindigkeit für einen intelligenten einsatz...reicht die performance für sowas aus?
     
  6. dbox2freak

    dbox2freak Neuer User

    Registriert seit:
    7 Juli 2006
    Beiträge:
    90
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Die Binaries werden ohne EMU nativ auf der CPU ausgeführt, also kein Performanceverlust :)
     
  7. martian

    martian Mitglied

    Registriert seit:
    26 Mai 2005
    Beiträge:
    273
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    klingt natürlich alles ganz prima...wieso ist da bloß vor Dir keiner drauf gekommen ;-)
    Wie weit geht denn der mögliche Funktionsumfang? Ließe sich auch die (Beispiel) DD-WRT Oberfläche auf die Fritzbox übertragen oder z.B. die VLAN-Funktionalitäten?
    Oder geht es nur um die Möglichkeit, einzelne Binaries von der Plattform der *-WRT Router, also z.b. einen IRC-Client, Webserver mit PHP, etc auf den Fritzboxen zu starten?
     
  8. bodega

    bodega Aktives Mitglied

    Registriert seit:
    6 Juni 2006
    Beiträge:
    1,980
    Zustimmungen:
    1
    Punkte für Erfolge:
    0
    Ort:
    NRW
    Also, ich find das Klasse :D
    harren wir der Dinge, die da kommen...
     
  9. Harris

    Harris Neuer User

    Registriert seit:
    25 März 2006
    Beiträge:
    198
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    *freu* auch will ;-)
    Würde es echt klasse finden, wenn man openwrt drauf laufen lassen könnte ;-) (Später evt. auch noch andere "Betriebssysteme" ;-))
    LG
    harris
     
  10. bigfrog

    bigfrog Neuer User

    Registriert seit:
    30 Jan. 2005
    Beiträge:
    113
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hab ich grad brain bug....
    Also auf der Box läuft die Standard-Firmware mit dem DS-Mod. Dort wird dann eine VM gestartet in der dann OpenWRT läuft? Ist das nicht irgendwie doppelt gemoppelt? Was ist mit der Prozessorlast? Oder bin ich auf dem Holzweg?
    Der Sinn soll sein bereits für OpenWRT erstellte Pakete laufen zu lassen?
    LG bigfrog
     
  11. dbox2freak

    dbox2freak Neuer User

    Registriert seit:
    7 Juli 2006
    Beiträge:
    90
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Das Webinterface geht sicher drauf. Ob sich allerdings zumindest der WLAN / LAN Teil der FBox damit steuern läßt :confused:
    Das wäre mal einen Test wert. Aber AFAIK ist die WLAN Hardware des WRT andere, oder ?

    Gibts das Webinterface als IPK Package ?
    Prozessorlast ändert sich nicht, es wird ja auch nix emuliert. Die Binaries laufen nach wie vor nativ auf dem Fritzen.

    Es geht hier um die Verwendung der fertigen OpenWRT Packages auf der FBox ohne Kompilier- und Anpassungsarbeiten ;-)
     
  12. bigfrog

    bigfrog Neuer User

    Registriert seit:
    30 Jan. 2005
    Beiträge:
    113
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Also es läuft keine "virtuelle Maschine" auf der FritzBox, sondern (von mir als nicht informatiker laienhaft ausgedrückt) du hast eine Schicht zwischen den OpenWrt Paketen und der FritzBox erstellt, die diese "miteinander verbindet"?
    Kann man das so sagen?
     
  13. abuhome

    abuhome Neuer User

    Registriert seit:
    7 Aug. 2006
    Beiträge:
    67
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    NRW
    Besteht die Möglichkeit das du mir die Packete mal zu verfügung stellen kannst ?
     
  14. phoenix.tom

    phoenix.tom Mitglied

    Registriert seit:
    6 Sep. 2006
    Beiträge:
    424
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Beruf:
    Student der Informatik und Medienwissenschaften
    Ort:
    Tübingen
    Wäre auch dafür, daß Du das was Du bisher gemacht hast mal hier als attachment postest.

    Mit Quick'n'Dirty wird ohnehin jeder zurechtkommen, der das hier machen will.

    Sonst wirds halt schwer das weiterzuentwickeln bzw. zu testen.
     
  15. iceboy

    iceboy Neuer User

    Registriert seit:
    24 Okt. 2004
    Beiträge:
    54
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    ich kann net viel dazu sagen außer *haben will*
     
  16. dbox2freak

    dbox2freak Neuer User

    Registriert seit:
    7 Juli 2006
    Beiträge:
    90
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Sooo, hier mal eine Quick&Dirty Installationsanleitung:

    1. Installationsmedium vorbereiten
    • USB Stick oder HDD partitionieren (eine Partition fürs RootFS, evtl. eine für SWAP)
    • Partitionen formatieren (RootFS Partition muß ext2 oder ext3 sein wegen Symlinks !)

    2. OpenWRT Buildroot erstellen
    • Buildroot Environment hier oder hier saugen
    • make menuconfig && make innerhalb des Buildroots, Doku hier
    • Insbesondere auf die Busybox Konfiguration achten (SWAP Tools etc.) !

    3. RootFS und Mountpoints
    • RootFS aus 2. auf die erstelle Partition aus 1. schieben
    • Mountpoint für Root FS auf FBox anlegen (zB /var/vmroot)
    • RootFS mounten, devfs und proc in die vmroot mounten

    4. VM starten
    • die Maschine per Shell Script starten
    • per SSH in die VM einloggen
    • ipkg update machen, um Package Quellen etc. zu aktualisieren
    Sollte etwa so aussehen:
    Code:
    BusyBox v1.2.1 (2006.09.10-06:22+0000) Built-in shell (ash)
    Enter 'help' for a list of built-in commands.
    
      _______                     ________        __
     |       |.-----.-----.-----.|  |  |  |.----.|  |_
     |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
     |_______||   __|_____|__|__||________||__|  |____|
              |__| W I R E L E S S   F R E E D O M
     KAMIKAZE (bleeding edge, r4681) -------------------
      * 10 oz Vodka       Shake well with ice and strain
      * 10 oz Triple sec  mixture into 10 shot glasses.
      * 10 oz lime juice  Salute!
     ---------------------------------------------------
    rroot@fritz.box:~# ipkg update
    Downloading http://downloads.openwrt.org/people/nbd/ar7/packages/Packages
    Updated list of available packages in /usr/lib/ipkg/lists/snapshots
    Done.
    root@fritz.box:~#
    5. Beispielscripte
    • VM Startscript (Aufruf: chroot "Mountpoint aus 3." /bin/sh /etc/init.d/vmroot start)
    Code:
    #!/bin/sh
    
    case $1 in
     start)
        #Optional
        #swapon /dev/scsi/host0/bus0/target0/lun0/partx
       /etc/init.d/S50dropbear start
       ;;
     stop)
       [ -f /var/run/dropbear.pid ] && kill $(cat /var/run/dropbear.pid)
       #swapoff /dev/scsi/host0/bus0/target0/lun0/partx
       ;;
     *)
       echo "usage: $0 (start|stop)"
       exit 1
       ;;
    esac
                         
    exit 0 
    • Dropbear Startscript (VM sshd)
    Code:
    #!/bin/sh
    #Keys generieren
    for type in rsa dss; do {
      # check for keys
      key=/etc/dropbear/dropbear_${type}_host_key
      [ ! -f $key ] && {
        # generate missing keys
        mkdir -p /etc/dropbear
        [ -x /usr/bin/dropbearkey ] && {
          /usr/bin/dropbearkey -t $type -f $key 2>&- >&- && exec $0 $*
        } &
        exit 0
      }
    }; done
    #Hier den Port evtl. anpassen
    /usr/sbin/dropbear -p xxxx
    Sooo, das wars fürs Erste mal :cool:

    Das DS-MOD Addon ist quasi nur die GUI für diese Dinge und natürlich optional.
    Ich erstelle bei Gelegenheit mal ein Package/Diff und stelle es hier dann dazu ;-)

    Viel Erfolg und vorallem viel Spaß damit
     

    Anhänge:

  17. sagichnicht04

    sagichnicht04 Gesperrt

    Registriert seit:
    6 Juli 2006
    Beiträge:
    96
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Sorry, aber das was ihr hier treibt ist schon bald krankhaft.
     
  18. phoenix.tom

    phoenix.tom Mitglied

    Registriert seit:
    6 Sep. 2006
    Beiträge:
    424
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Beruf:
    Student der Informatik und Medienwissenschaften
    Ort:
    Tübingen
    Cool, sieht ja mal gar nicht so kompliziert aus, nur der Name irritiert.

    Eigentlich ist das keine VM, sondern halt eine chroot (change-root) Umgebung.

    Sollte das nicht auch ohne usb-speicher gehen?