Samstag, 26. Februar 2022

Sportschau Audiostreams Links

 Sportschau.de Audiostreams Links

Zur Verwendung mit Drittsoftware zum Beispiel VLC Media Player

Die ARD hält ja aktuell die Rechte am Audio Live-Streaming der Bundesliga und 2. Bundesliga. Diese Audio-Streams kann man mit der Sportschau-App hören. Leider ist die App auch nach einem halben Jahr nach der Überarbeitung letzten Sommer noch ziemlich buggy (Streams stoppen beliebig, App stürzt ab usw.).
Zum Glück kann man die Streams auch in einer beliebigen Medienplayer-App oder auf einem Hardware-Gerät wiedergeben. Dazu muss man nur die Direkt-Links kennen:

1. Bundesliga

Konferenz

https://wdr-sportschau-liga1konferenz.icecastssl.wdr.de/wdr/sportschau/liga1konferenz/mp3/high?file=.mp3

Spiel 1

https://wdr-sportschau-liga1spiel1.icecastssl.wdr.de/wdr/sportschau/liga1spiel1/mp3/high?file=.mp3

Spiel 2

https://wdr-sportschau-liga1spiel2.icecastssl.wdr.de/wdr/sportschau/liga1spiel2/mp3/high?file=.mp3

Spiel 3

https://wdr-sportschau-liga1spiel3.icecastssl.wdr.de/wdr/sportschau/liga1spiel3/mp3/high?file=.mp3

Spiel 4

https://wdr-sportschau-liga1spiel4.icecastssl.wdr.de/wdr/sportschau/liga1spiel4/mp3/high?file=.mp3

Spiel 5

https://wdr-sportschau-liga1spiel5.icecastssl.wdr.de/wdr/sportschau/liga1spiel5/mp3/high?file=.mp3

Spiel 6

https://wdr-sportschau-liga1spiel6.icecastssl.wdr.de/wdr/sportschau/liga1spiel6/mp3/high?file=.mp3

Spiel 7

https://wdr-sportschau-liga1spiel7.icecastssl.wdr.de/wdr/sportschau/liga1spiel7/mp3/high?file=.mp3

Spiel 8

https://wdr-sportschau-liga1spiel8.icecastssl.wdr.de/wdr/sportschau/liga1spiel8/mp3/high?file=.mp3

Spiel 9

https://wdr-sportschau-liga1spiel9.icecastssl.wdr.de/wdr/sportschau/liga1spiel9/mp3/high?file=.mp3

2. Bundesliga

Konferenz

https://wdr-sportschau-liga2konferenz.icecastssl.wdr.de/wdr/sportschau/liga2konferenz/mp3/high?file=.mp3

Spiel 1

https://wdr-sportschau-liga2spiel1.icecastssl.wdr.de/wdr/sportschau/liga2spiel1/mp3/high?file=.mp3

Spiel 2

https://wdr-sportschau-liga2spiel2.icecastssl.wdr.de/wdr/sportschau/liga2spiel2/mp3/high?file=.mp3

Spiel 3

https://wdr-sportschau-liga2spiel3.icecastssl.wdr.de/wdr/sportschau/liga2spiel3/mp3/high?file=.mp3

Spiel 4

https://wdr-sportschau-liga2spiel4.icecastssl.wdr.de/wdr/sportschau/liga2spiel4/mp3/high?file=.mp3

Spiel 5

https://wdr-sportschau-liga2spiel5.icecastssl.wdr.de/wdr/sportschau/liga2spiel5/mp3/high?file=.mp3

Spiel 6

https://wdr-sportschau-liga2spiel6.icecastssl.wdr.de/wdr/sportschau/liga2spiel6/mp3/high?file=.mp3

Spiel 7

https://wdr-sportschau-liga2spiel7.icecastssl.wdr.de/wdr/sportschau/liga2spiel7/mp3/high?file=.mp3

Spiel 8

https://wdr-sportschau-liga2spiel8.icecastssl.wdr.de/wdr/sportschau/liga2spiel8/mp3/high?file=.mp3

Spiel 9

https://wdr-sportschau-liga2spiel9.icecastssl.wdr.de/wdr/sportschau/liga2spiel9/mp3/high?file=.mp3

Samstag, 22. Juni 2019

Sheevaplug: Debian 10 Buster mit F2FS rootfs

Vorwort

Seit knapp 10 Jahren verrichten die Sheevaplugs bei mir nun als Homeserver ihren Dienst und sind dank der guten Unterstützung von Debian nach wie vor so ziemlich auf der Höhe. (Zumindest für meinen Einsatz) Leider ist der NAND-Speicher mit seinen 512MB aber mittlerweile doch recht wenig und da es in der Zwischenzeit ja alternative Dateisysteme gibt, die keine SD-Karten mehr fressen (sollten), wage ich mich ans Abenteuer, das rootfs komplett auf eine SD-Karte auszulagern und den NAND nicht mehr zu benutzen.
Eigentlich hört sich das ganze sehr banal an, es gibt aber die eine oder andere Falle.
Ich habe auf jeden Fall ziemlich geübt mit Installer-Images, U-Boot Versionen, Bootvariablen etc. Ich bin jetzt aber auch nicht der Profi Embedded-Entwickler.

Key Facts

  • Meine aktuelle U-Boot Version: 2016.11 von hier (offizielle von Debian 9 Stretch) - die aktuelle hat bei mir nicht richtig funktioniert - vermutlich reicht der Bereich von 0x0 bis 0x80000 nicht ganz aus und es fehlen ein paar Bits - ich musste den Sheeva anschliessend mit OpenOCD unbricken, weil ich keine ältere U-Boot Version mehr geladen bekam - weder per TFTP, USB noch SD-Karte
  • Installer: Der Installer von Buster (von hier)
  • F2FS: F2FS wird vom Debian-Installer (noch) nicht unterstützt. Von U-Boot übrigens auch nicht. Ist aber nicht weiter tragisch, man braucht einfach eine Boot-Partition mit z.B. ext2. Die Root-Partition formatiert man im Installer ebenfalls mit z.B. ext2 und ändert sie nach der Installation in F2FS (dreckig: SD-Karte in PC, Files runterkopieren, Partition mit F2FS neu formatieren, Files zurückspielen, SD-Karte zurück). Hat aber ein paar Hürden (siehe unten).

Anleitung

Aber jetzt schön Schritt für Schritt:
  1. Debian Buster ("Stable") auf SD-Karte oder USB-Stick installieren. Das geht am besten mit der altbewährten Anleitung von Martin Michelmayr, zu finden hier 
  2. Debian Buster booten und als root einloggen
  3. F2FS-Tools installieren (apt-get install f2fs-tools)
  4. Im File /etc/initramfs-tools/modules folgende Einträge hinzufügen: f2fs crc32 crc32c (jeweils auf eine neue Zeile)
  5. fstab vom UUID auf Devicenamen ändern (im File /etc/fstab UUID=... durch /dev/mmcblk0p2 ersetzen, zusätzlich beim rootfs [Mountpoint /] der Dateisystemtyp von z.B. ext2 auf f2fs und die Optionen von *noatime oder was weiss ich* auf defaults)
  6. Folgenden Befehl ausführen: update-initramfs -u
  7. Debian herunterfahren
  8. SD-Karte oder Stick in den PC stecken
  9. Root-Partition auf den PC kopieren (cp -ar)
  10. Root-Partition mit F2FS formatieren (mkfs.f2fs /dev/mmcblk0p2 oder /dev/sdb2 tbc)
  11. Root-Partition vom PC auf die SD-Karte zurückkopieren
  12. SD-Karte oder Stick wieder in den Sheeva stecken, nun sollte Buster mit F2FS als Rootfs booten
  13. fertig

 Bemerkungen

  • USB-Stick hat bei mir nicht funktioniert. Entweder sind meine USB-Sticks nicht geeignet, mein USB-Controller im Sheeva hat einen Schuss oder es ist ein Firmware-Fehler vom U-Boot - habe ich nicht näher analysiert
  • mit Stretch bootet der Sheeva nicht ab einem F2FS Rootfs - auch wenn man alles genau so macht wie oben beschrieben (obschon F2FS existiert und auch in die Init-Ramdisk geladen werden kann)
  • Mir geht es bei F2FS nicht um Performance sondern nur darum, dass der Sheeva keine Speicherkarten (mehr) frisst. 
Update 03.08.2025 

Achtung fehlerhafte U-Boot Versionen

Es scheint, dass der aktuelle U-Boot von Bookworm einen Bug hat, dass die Netzwerk-Schnittstelle nicht mehr richtig funktioniert. Somit unbedingt mit der Version von Bullseye bleiben, zu finden hier: https://archive.debian.org/debian/dists/bullseye/main/installer-armel/current/images/kirkwood/u-boot/sheevaplug/u-boot.kwb

Ebenfalls nicht funktioniert hat bei mir die letzte Version von Buster.

Falls der Sheeva gebrickt ist, kann man ihn mit OpenOCD nach dieser Anleitung wieder zum Leben erwecken. 

 

Samstag, 26. Januar 2019

Swisscom CentroBusiness 2.0 IPSec Site2Site

Swisscom CentroBusiness 2.0 IPSec Site2Site

Übersicht

Der Business-Router von Swisscom CentroBusiness 2.0 hat standardmässig die Funktion um Site-to-Site IPSec Tunnels aufzubauen. Damit kann mal also zwei entfernte Netze miteinander verbinden oder aber einen Cloud-Server nahtlos ins eigene Netz integrieren.
Die Lösung ist rudimentär und basic, funktioniert aber. Ausserdem bietet sie den Vorteil, dass man keine zusätzlichen Geräte betreiben muss.

In dieser Anleitung zeige ich Euch, wie man vom CentroBusiness 2.0 einen IPSec Tunnel zu einem Cloudserver (Cloudsigma, AWS EC2, ...) erstellt, um diesen im internen Netz verfügbar zu machen.

Ausganslage


Lokales Netz


  • Swisscom CentroBusiness 2.0 Firmware 9.02.14
  • öffentliche IP-Adresse 178.195.222.159
  •  IP-Range 192.168.1.0/24

Cloudserver

  • Ubuntu 18.04 LTS
  • öffentliche IP-Adresse 194.209.193.138
  • IP-Range 172.16.1.0/30

Konfiguration

Swisscom-Router

  1. Auf's Webinterface einloggen
  2. Unter [Netzwerk] auf [Peer-to-Peer VPN] klicken
  3. [VPN-Standort hinzufügen] klicken
  4. Peer IP-Adresse/DNS: 194.209.193.138 (öffentliche IP vom Cloudserver)
  5. Peer IP-Subnetz: 172.16.1.0/30 (IP-Range vom Cloudserver)
  6. Passwort: {Mindestens 20 Zeichen, Gross/Klein/Sonderzeichen}
  7. [Hinzufügen] klicken, aktivieren und speichern
Der Status wird noch rot sein, da wir die Gegenseite noch nicht konfiguriert haben.

Cloudserver

  1. Zuerst müssen wir die Software installieren:
  2. $ sudo apt-get update
  3. $ sudo apt-get install racoon
  4. Folgende Ports öffnen: UDP/500 und UDP/4500
  5. Konfig-Feils editieren (Beispiele siehe unten):
  6. /etc/racoon/racoon.conf
  7. /etc/racoon/psk.txt
  8. Tunnel-Adresse und Routing auf dem Netzwerk-Interface erstellen:
  9. $ sudo ip addr add 172.16.1.1/30 dev eth0
  10. $ sudo ip route add to 192.168.1.0/24 via 172.16.1.1 src 172.16.1.1
  11. Nun kann Racoon testweise gestartet werden um zu sehen, ob der Tunnel aufgebaut wird. Die Option -F lässt racoon auf die Konsole loggen. Somit lassen sich allfällige Fehler sehen und beheben:
  12. $ sudo racoon -f /etc/racoon/racoon.conf -F
  13. Nun von einem Netz das andere pingen (Beispiel vom Cloudserver ins lokale Netz):
  14. $ ping 192.168.1.1
  15. Der Tunnel wird aufgebaut und der Ping sollte erfolgreich sein.
  16. Wenn alles zufriedenstellend funktioniert, Racoon im Systemd aktivieren:
  17. $ sudo systemctl enable racoon.service
Bemerkungen:
  •  Der Tunnel wirst erst aufgebaut, wenn Traffic darüber angefordert wird, also zum Beispiel ein Ping abgesetzt wird
  • Falls es in eine Richtung nicht funktioniert, dann einmal in die andere Richtung probieren - manchmal funktioniert eine Richtung erst nachdem die andere Richtung die Verbindung anfordert
racoon.conf

#
# NOTE: This file will not be used if you use racoon-tool(8) to manage your
# IPsec connections. racoon-tool will process racoon-tool.conf(5) and
# generate a configuration (/var/lib/racoon/racoon.conf) and use it, instead
# of this file.
#
# Simple racoon.conf
#
#
# Please look in /usr/share/doc/racoon/examples for
# examples that come with the source.
#
# Please read racoon.conf(5) for details, and alsoread setkey(8).
#
#
# Also read the Linux IPSEC Howto up at
# http://www.ipsec-howto.org/t1.html
#
log info;
path pre_shared_key "/etc/racoon/psk.txt";
path certificate "/etc/racoon/certs";
#
remote anonymous {
        exchange_mode main,aggressive;
        proposal {
                encryption_algorithm 3des;
                hash_algorithm sha1;
                authentication_method pre_shared_key;
                dh_group modp2048;
        }
        generate_policy on;
}
#
sainfo anonymous {
    encryption_algorithm 3des;
    authentication_algorithm hmac_sha1;
    compression_algorithm deflate;
}
#


psk.txt

# IPv4/v6 addresses
178.195.222.159   
{Mindestens 20 Zeichen, Gross/Klein/Sonderzeichen}

Zusammenfassung

Der Cloudserver ist nun aus dem lokalen Netz unter der IP 172.16.1.1 erreichbar. Nun können dort beliebige Dienste gehostet werden.

Dienstag, 25. September 2018

TBS Linux-Treiber für DVB-Karten von TBS installieren

TBS Linux-Treiber installieren unter Debian 9

TBS stellt diverse gute DVB-S,C und T PCIe-Karten und USB-Module her. TBS bietet auch Linux-Treiber für die Karten an, jedoch leider nicht im Kernel, sondern nur als Quellen, die man dann bauen und installieren muss. Eigentlich keine Hexerei... Leider ist die Anleitung von TBS unvollständig und funktioniert nicht richtig.

So funktioniert's auf Anhieb:

  1. Kernel-Header und Build-Essentials installieren
    #apt-get install linux-headers build-essential
  2. Treiber von hier herunterladen. Aktuelle Version ist v170330
  3. Archiv entpacken
    $ unzip tbs-linux-drivers_v170330.zip  
  4. Treiberpaket entpacken
    $ tar -xjvf linux-tbs-drivers.tar.bz2
  5. Originale Media-Treiber löschen

# rm -rf /lib/modules/`uname -r`/kernel/drivers/media/*
6. Source-Tree konfigurieren (siehe Bemerkungen) -
$ cd linux-tbs-drivers
# ./v4l/tbs-x86_64
7. Treiber bauen

# make

8. Treiber installieren
# make install

9. neu starten
# shutdown -r now

10. kontrollieren, ob der dvb-Zweig vorhanden ist - Ausgabe muss adapter0...x sein, je nachdem, wieviele DVB-Geräte vorhanden sind
$ ls /dev/dvb/

11. fertig

Cisco IP-Telefone für zu Hause

Cisco IP-Telefone für zu Hause

Übersicht

Mit der Umstellung von klassischer auf IP-Telefonie stellt sich ja oft die Frage nach der passenden Hardware. Klar gibt es solche Adapter, damit das alte Analog-Telefon weiterverwendet werden kann. Aber schöner wäre es doch, gerade ein "richtiges" IP-Telefon zu haben, also eines mit Netzwerk-Anschluss. In der Zwischenzeit gibt es ja eine ganze Menge native IP-Telefone für Enduser. Vor einigen Jahren war das aber nicht so und so musste man Business-Telefone umbiegen, um auch daheim direkt IP-fähige Telefone zu haben.
In der Zwischenzeit habe ich mit einigen Cisco IP-Telefonen zu tun gehabt. Diese Erfahrungen möchte ich Euch nicht vorenthalten. Oft bekommt man diese Geräte sehr günstig bei Ebay oder Ricardo. Abgesehen davon sind sie auch robust und als Heimtelefon daher gut geeignet.

Grundlagen

Konfiguration

 Bei einigen Geräten kann die Konfiguration über das Display vorgenommen werden. Bei den meisten jedoch erfolgt die Konfiguration über ein Text- oder XML-File, das sich das Telefon von einem TFTP-Server holt.
Ein TFTP-Server ist also zumindest für die Konfiguration und Up-/Downgrade erforderlich. Einmal konfiguriert brauchen die Geräte den TFTP-Server nicht mehr.

Firmware

Ursprünglich verwendete Cisco für seine Telefonie das SCCP-Protokoll (Skinny Call Control Protocol). Skinny ist Cisco-proprietär, kann aber in der Zwischenzeit auch auf Nicht-Cisco Servern (z.B. Asterisk) eingesetzt werden. Vor etwa zehn Jahren begann Cisco auch SIP zu unterstützen. Oft kamen für die Geräte dann zwei verschiedene Firmware-Versionen zum Einsatz: SCCP oder SIP. Da insbesondere für ältere Hardware die Firmware nicht frei heruntergeladen werden kann, kann es mitunter schwierig sein, ein mit SCCP installiertes Telefon auf SIP umzukonfigurieren. Meist findet man jedoch die gewünschte Firmware auf dem Internet. Einfach nach dem Dateinamen der Firmware suchen.
Für neuere Telefone kann die Firmware mit einem kostenlosen Cisco-Account heruntergeladen werden. 

Power-over-Ethernet (PoE)

Ältere Cisco-Telefone verwenden ein proprietäres PoE, das mit Standard PoE-Switches nicht funktioniert. Die Speisespannung der Telefone beträgt 48 Volt - man kann sich jedoch sehr einfach ein Adapterkabel basteln, damit die Telefone trotzdem an einem Standard PoE-Switch betrieben (und gespeist) werden können.
Ansonsten verwendet man einfach ein 48V-Netzteil mit 5mm Koax-Stecker.

CP-7940G

CP-7912G

CP-7911G

CP-7945G

 


Samstag, 2. Dezember 2017

Guudgo GD-SC03 IP-Kamera

Übersicht

Diese IP-Kamera gibt es für etwa CHF 25 in China (z.B. bei Banggood). Es existieren diverse andere "Brandings" (z.B. M.Way).
Beworben wird diese Kamera als IP-Cam was die Vermutung zulässt, sie lasse sich über eine Web-Oberfläche steuern - das ist leider nicht der Fall! Out-of-the-box lässt sich diese Kamera nur über eine App steuern und ansehen. Die App erfordert im übrigen eine Registrierung und funktioniert erst, nachdem man online ist und sich eingeloggt hat.
Es ist also nicht eine IP-Cam im eigentlichen Sinn sondern ein Cloud-Device, dass nur mit einem dazugehörigen Cloud-Dienst funktional ist. Wenn man also auf der Suche nach einer typischen IP-Cam ist, die out-of-the-box funktionieren sollte, dann Hände weg!!! 
Wenn man jedoch hacken mag, lässt sich einiges machen damit.
Achtung: Zieh' Dir etwas an oder stell' die Kamera irgendwo auf, wo es nichts zu sehen gibt, bevor Du sie ans Internet anschliesst. Die Kamera verbindet sich nämlich sofort mit Icloseli/EyeCloud.

Der leichte Hack

Je nach Firmware-Stand (3.0.6.xxx, 3.1.0.xxx 3.1.1.xxx oder ähnlich) sind unterschiedliche Ports offen. Bei mir waren es 23, 80, 554, 7103, 8001. Ein Aufruf der IP im Browser brachte nur eine Fehlermeldung. Das Video der Kamera konnte jedoch mit VLC über RTSP angesehen werden.
Das ist ja schon einmal ein Erfolg. Nur wäre es angesichts der PTZ-Funktion noch hilfreich, wenn man die Kamera auch steuern könnte.
Dazu muss eine ONVIF-fähige Firmware installiert werden:

  1. Firmware von hier herunterladen
  2. entpacken
  3. auf eine vfat/FAT32 formatierte Micro-SD Karte kopieren
  4. SD-Karte in Kamera stecken
  5. Kamera neu starten
  6. nach etwa 2min sagt eine Stimme aus der Kamera "Update successful"
  7. SD-Karte aus der Kamera rausnehmen
  8. Kamera neu starten
  9. fertig
Nun kann die Kamera mit beliebiger ONVIF-Software (z.B. TinyCam App für Android) gesteuert werden. 

Einloggen per telnet geht ebenfalls:
User: root PW: cxlinux
Damit ist die Kamera schon mal mehr Wert, als angekettet an einen nebulösen Cloud-Dienst.

Der harte Hack

Der User ant-thomas hat hier ein Git-Repo, wo er seine Erfahrung mit dieser Kamera dokumentiert. Unter anderem hat er dort auch Fotos vom Innenleben, hat ein JTAG installiert und einiges über die Kamera herausgefunden. Vielen Dank an dieser Stelle für alle seine Inputs (u.a. das Root-PW für den telnet-Zugang). 
Thomas hat auch ein Script geschrieben, mit dem die Cloud-Verbindung der Kamera gekappt wird und ein SSH-Zugang über dropbear ermöglicht wird. 

So geht's:
  1. Script von hier herunterladen
  2. Auf eine vfat/FAT32 formatiere Micro-SD Karte entpacken
  3. Kamera ausschalten
  4. SD-Karte einstecken
  5. Kamera einschalten
  6. /etc/hosts wird modifiziert, die Cloud-Aufrufe auf den localhost umgeleitet
  7. nun kann über SSH eingeloggt werden (User: root PW: root)
  8. die SD-Karte muss in der Kamera verbleiben, Thomas arbeitet daran, den Hack persistent zu machen
Somit kann der Kamera sogar Internet-Zugriff gewährt werden...

Fazit

Die Guudgo GD-SC03 verdient die Bezeichnung "IP-Kamera" nur bedingt. Out-of-the-box lässt sich die Kamera nur mit Internet-Verbindung und der offiziellen App steuern und anschauen. Diese Cloud-Funktion ist offenbar auch zeitlich beschränkt (man liest etwas von 15 Tagen). Die Bildqualität ist ok, die Tonqualität blechern aber für den Einsatz genügend.
Vermutlich wird die Kamera deshalb so günstig verkauft, um damit Kunden für den kostenpflichtigen Cloud-Dienst zu ködern.



 

Freitag, 13. Februar 2015

Windows 3.1 mit Virtualbox 5

Windows 3.1 mit MS-DOS 6.22 auf Virtualbox 5

Übersicht


Kürzlich bin ich auf einer alten Harddisk über ein Windows 3.1 Image für Virtualbox gestolpert. Da ich gerade ein bisschen in Nostalgie-Laune war, startete ich es und begann ein bisschen damit zu spielen. Schnell wurde mit wieder bewusst, was arbeiten unter MS-DOS 6 und Windows 3.1 bedeutete: kein Netzwerk, Sound, CD-ROM (zumindest nicht ohne weitere Anstrengung), kein USB. Also alleine Daten Ein- und Ausgabe wird so zum Experiment.
Ich habe mich dann entschlossen, eine Schritt-für-Schritt Anleitung zu machen, was man benötigt um Windows 3.1 unter Virtualbox zum laufen zu bringen.

Floppy-Images

 Windows 3.1 und MS-DOS 6.22 wurden (zumindest so viel ich weiss) nur über Floppy-Disks ausgeliefert. Will man nun MS-DOS auf Virtualbox installieren braucht man entweder einen Rechner mit Floppy-Laufwerk oder aber Images der Installations-Disketten.
Images von Disketten erstellt man unter Linux mit folgendem Befehl:
# dd if=/dev/fd0 of=floppy.img bs=512
 Wobei im Beispiel die Bezeichnung für das Floppy-Laufwerk fd0 ist - das kann auf anderen Distributionen anders sein. Das ergibt dann eine Image-Datei, die man im Virtualbox einbinden kann.

Virtualbox VM erzeugen und MS-DOS 6.22 installieren

Nun wird in Virtualbox die VM erzeugt. Ist eigentlich selbsterklärend. Als OS Windows und im Untermenü Windows 3.1 auswählen. Sonst habe ich folgende Eckdaten:
  • RAM 64MB (32 würden auch völlig genügen)
  • Harddisk 2GB (siehe Bemerkung über FAT16)
  • Audio "Sound Blaster 16" (ich bin halt ein Nostalgiker)
  • Netzwerk "PCNet-PCI II"
  • Seriell "nicht aktiviert" (habe gerade keine Geräte dafür)
  • USB "nicht aktiviert" (nicht unterstützt)
 Nun die erste MS-DOS Installations-Diskette einbinden, VM starten und MS-DOS installieren. Während der Installation müssen die Floppys gewechselt werden. Einfach in der Menüleiste auf [Geräte] klicken und die weiteren Images auswählen.

Bemerkungen:

  • MS-DOS hat kann nur FAT-16 - demzufolge können maximal ca. 2GB grosse Partitionen verwaltet werden - und selbst das nur zu Clustern mit 32KByte (Cluster = Schnitze, in die der Datenbereich aufgeteilt wird. Somit braucht eine Datei von z.B. 2KB auf der Harddisk aber effektiv 32KByte, weil nur ganze Schnitze zugeordnet werden können)
  • Diesem Problem kann man gegegnen, in dem man mehrere Partitionen macht. Einfach im ersten Screen (siehe unten) die Installation abbrechen mit F3 und dann mit dem Befehl "fdisk" zwei oder mehr Partitionen machen. Dabei gibt es eine primäre Partition mit dem ersten Laufwerksbuchstaben (C:) und eine erweiterte Partition mit allen weiteren (D: E: F:.....). Möchte man also die Harddisk vierteln, müsste man 25% in die primäre und 75% in die erweiterte Partition verteilen. Anschliessen die erweiterte Partition in drei Teile unterteilen.



Anschliessend noch neu starten und nach ein paar Sekunden ist das frisch installierte MS-DOS schon gestartet.

CD-Laufwerk installieren

Möchte man nun Windows 3.1 installieren, könnte man entweder wie für MS-DOS Floppy-Images erzeugen (7 Stück, geht noch). Schneller geht es aber, wenn man unter MS-DOS CD-ROM Treiber installiert und anschliessend ein ISO-Image erzeugt, dass alles drin hat, was man möchte.
Um ein CD-Laufwerk unter MS-DOS zu betreiben, braucht man einerseits die MSCDEX.EXE (MS CD Extension) und einen Treiber für das Laufwerk. Grundsätzlich funktionieren alle IDE-CD-Treiber mit allen IDE-CD-Laufwerken. Ich habe dazu ein Image von einem CD-Laufwerk, dass ich mal hatte. Einfach diesen Treiber installieren, neu starten, und schon ist das CD-Laufwerk zugänglich.
Um nun Daten von der lokalen Harddisk in eine Image-Datei zu packen, nimmt man entweder ein CD-Brennprogramm (K3B, Nero...) und erzeugt ein ISO. Unter Linux auf der Kommandozeile genügt folgender Befehl:
$ genisoimage -o dateiname.iso ordner
Wobei der Dateiname der Name des ISO-Files ist, das erstellt wird und der Ordner der Ordner in dem sich die Dateien befinden, die man ins ISO packen möchte. "genisoimage" befindet sich unter Arch Linux im Paket "cdrkit", unter Debian im gleichnamigen Paket "genisoimage".
Ein so erstelltes ISO kann nun unter Virtualbox eingebunden werden und im MS-DOS über den Laufwerksbuchstaben (z.B. D:) abgerufen werden.

Edit: Funktioniert auch mit mkisofs - zumindest unter Arch Linux 

Datenaustausch mit Host über Floppy

Der Datenaustausch mit dem Host kann unter Linux auch über Floppy erfolgen.
  1. Leeres Floppy-Image erstellen
  2. # dd bs=512 count=2880 if=/dev/urandom of=floppy.img
  3. Floppy-Image formatieren
  4. # mkfs.msdos floppy.img
  5. Floppy-Image mounten 
  6. # mount -o loop floppy.img /mnt
  7. nun können Daten auf dem Host nach /mnt oder auf dem Gast nach A:\ kopiert werden
  8. um die Ansicht auf der "anderen Seite" zu aktualisieren, muss das Image neu geladen werden - auf Host-Seite umount/mount auf Gastseite unter [Geräte] [Medium entfernen] und wieder einbinden
Bemerkung:
  • mit 1.44MB Diskgrösse geht's in beide Richtungen, mit 2.88MB (oder vielleicht sogar noch grösser?) nur von Host nach Gast. 

 Soundkarte

Für den Sound Blaster 16 einfach den Treiber von hier herunterladen, die EXE aufs Gast-System bringen und installieren. Die EXE-Datei (sbbasic.exe) ist ein Archiv, das den Installer und Treiber für Sound Blaster 16 beinhaltet. Allenfalls diesen erst nach Windows installieren, da sonst Dateien fehlen und man den Treiber noch einmal installieren muss.

Windows 3.1 installieren

Windows installieren ist eigentlich selbsterklärend. Im Ordner der 1. Disk setup.exe ausführen und sich durchklicken. Am Ende erwartet einem ein altbekannter Windows 3.1 Desktop.
Startet man die VM auf, bleibt man jedoch im MS-DOS hängen. Um Windows zu starten gibt man einfach win ein und schon startet Windows.



Grafik

Es gibt einen universellen Grafiktreiber für Win9x, VBEMP 9x, der unter Virtualbox verwendet werden kann. Bei mir funktioniert er recht gut, ich musste allerdings bei der Installation ein paar Mal neu starten, die VM blieb mit schwarzem Bildschirm hängen, Hard-Reset (-> Tastatur > sende Ctrl-Alt-Del) war nötig. Damit kann man 32Bit Farben und 1024x768 fahren. 32-Bit Farben sei für Virtualbox am Besten (Quelle weiss ich gerade nicht, irgendwo im Support-Forum von Virtualbox gelesen). Laut der Homepage des Projekts sind auch andere und höhere Auflösungen möglich. Den Treiber gibts hier.

 

ToDo

  • Netzwerk
  • MIDI (liegt aber vielleicht an ALSA)


Fazit

Eine sehr nette Möglichkeit, sich ein bisschen Nostalgie auf den Rechner zu holen. Läuft eigentlich ziemlich flott und bis jetzt hatte ich keine Abstürze. Mal schauen, was ich noch so für Software finde... Ein Word 6.0a müsste ja schon noch sein, oder??