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

Zuletzt bearbeitet:

Dino75195

Neuer User
Mitglied seit
3 Jan 2005
Beiträge
199
Punkte für Reaktionen
0
Punkte
16
hey klingt doch echt gut!
Ich warte bis es etwas einfacher zu installieren ist, weiter so!!!
 

bodega

Aktives Mitglied
Mitglied seit
6 Jun 2006
Beiträge
1,980
Punkte für Reaktionen
2
Punkte
0
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:
 

dbox2freak

Neuer User
Mitglied seit
7 Jul 2006
Beiträge
90
Punkte für Reaktionen
0
Punkte
0
Ja, man kann die Binaries/Packages von OpenWRT oder dem Asus WL500G direkt laufen lassen . . .
 

martian

Mitglied
Mitglied seit
26 Mai 2005
Beiträge
273
Punkte für Reaktionen
0
Punkte
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?
 

dbox2freak

Neuer User
Mitglied seit
7 Jul 2006
Beiträge
90
Punkte für Reaktionen
0
Punkte
0
Die Binaries werden ohne EMU nativ auf der CPU ausgeführt, also kein Performanceverlust :)
 

martian

Mitglied
Mitglied seit
26 Mai 2005
Beiträge
273
Punkte für Reaktionen
0
Punkte
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?
 

bodega

Aktives Mitglied
Mitglied seit
6 Jun 2006
Beiträge
1,980
Punkte für Reaktionen
2
Punkte
0
Also, ich find das Klasse :D
harren wir der Dinge, die da kommen...
 

Harris

Neuer User
Mitglied seit
25 Mrz 2006
Beiträge
198
Punkte für Reaktionen
0
Punkte
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
 

bigfrog

Neuer User
Mitglied seit
30 Jan 2005
Beiträge
113
Punkte für Reaktionen
0
Punkte
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
 

dbox2freak

Neuer User
Mitglied seit
7 Jul 2006
Beiträge
90
Punkte für Reaktionen
0
Punkte
0
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 ;-)
 

bigfrog

Neuer User
Mitglied seit
30 Jan 2005
Beiträge
113
Punkte für Reaktionen
0
Punkte
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?
 

abuhome

Neuer User
Mitglied seit
7 Aug 2006
Beiträge
67
Punkte für Reaktionen
0
Punkte
0
Besteht die Möglichkeit das du mir die Packete mal zu verfügung stellen kannst ?
 

phoenix.tom

Mitglied
Mitglied seit
6 Sep 2006
Beiträge
424
Punkte für Reaktionen
0
Punkte
0
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.
 

iceboy

Neuer User
Mitglied seit
24 Okt 2004
Beiträge
54
Punkte für Reaktionen
0
Punkte
0
ich kann net viel dazu sagen außer *haben will*
 

dbox2freak

Neuer User
Mitglied seit
7 Jul 2006
Beiträge
90
Punkte für Reaktionen
0
Punkte
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!
 ---------------------------------------------------
[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

sagichnicht04

Gesperrt
Mitglied seit
6 Jul 2006
Beiträge
96
Punkte für Reaktionen
0
Punkte
0
Sorry, aber das was ihr hier treibt ist schon bald krankhaft.
 

phoenix.tom

Mitglied
Mitglied seit
6 Sep 2006
Beiträge
424
Punkte für Reaktionen
0
Punkte
0
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?
 

3CX PBX - GRATIS
Linux / Win / Cloud

Statistik des Forums

Themen
232,840
Beiträge
2,027,321
Mitglieder
350,932
Neuestes Mitglied
dengel80