Virtual Machine auf der Fritzbox (dbox2freak VM)

dbox2freak

Neuer User
Mitglied seit
7 Jul 2006
Beiträge
90
Punkte für Reaktionen
0
Punkte
0
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
[email protected]'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!
 ---------------------------------------------------
[email protected]:~#
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
    24 KB · Aufrufe: 580
Zuletzt bearbeitet:
hey klingt doch echt gut!
Ich warte bis es etwas einfacher zu installieren ist, weiter so!!!
 
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:
 
Ja, man kann die Binaries/Packages von OpenWRT oder dem Asus WL500G direkt laufen lassen . . .
 
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?
 
Die Binaries werden ohne EMU nativ auf der CPU ausgeführt, also kein Performanceverlust :)
 
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?
 
Also, ich find das Klasse :D
harren wir der Dinge, die da kommen...
 
*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
 
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
 
martian schrieb:
Ließe sich auch die (Beispiel) DD-WRT Oberfläche auf die Fritzbox übertragen oder z.B. die VLAN-Funktionalitäten?
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 ?
bigfrog schrieb:
Was ist mit der Prozessorlast? Oder bin ich auf dem Holzweg? Der Sinn soll sein bereits für OpenWRT erstellte Pakete laufen zu lassen?
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 ;-)
 
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?
 
Besteht die Möglichkeit das du mir die Packete mal zu verfügung stellen kannst ?
 
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.
 
ich kann net viel dazu sagen außer *haben will*
 
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!
 ---------------------------------------------------
[email protected]:~# ipkg update
Downloading http://downloads.openwrt.org/people/nbd/ar7/packages/Packages
Updated list of available packages in /usr/lib/ipkg/lists/snapshots
Done.
[email protected]:~#
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

  • openwrt.jpg
    openwrt.jpg
    78.9 KB · Aufrufe: 290
Sorry, aber das was ihr hier treibt ist schon bald krankhaft.
 
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?
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.