Bootsektor einer Festplatte reparieren

Geschrieben von Steffen Schultz keine Kommentare
Kategorisiert in : Software Schlüsselwörter : CLI, Linux, OpenSource, Shell

Wie kommt man eigentlich auf die blöde Idee, ein für DVD's und USB-Sticks bestimmtes Installations-Image mittels dd auf eine lokale Festplatte zu schreiben?
Das überlasse ich mal der Fantasie jedes einzelnen Lesers. Ich hatte es jedenfalls mit einer solchen Festplatte zu tun, die mit einem ISO-Image überschrieben wurde. Für die eigentliche Debian-Installation stellte dies kein größeres Problem dar - bis auf den letzten Installationsschritt, die Einrichtung des Grub-Bootloaders. Dieser Schritt schlug fehl, weil Grub der festen Überzeugung war, beim Zielmedium handele es sich um ein ISO-9660-Dateisystem, also eine CD oder DVD. Erneutes Anlegen der Partitionstabelle hatte darauf keinerlei Auswirkung. Seltsamerweise ließ sich die Installation dennoch abschließen, indem statt Grub der alternativ angebotene Bootloader Lilo gewählt wurde.

Um später dennoch Grub nachzuinstallieren, hilft dann nur noch das Löschen des kompletten Bootsektors. Dazu sollte man sich zunächst die Struktur der Partitionen einmal anschauen:
# fdisk -l /dev/sda

Disk /dev/sda: 250.1 GB, 250059350016 bytes 255 heads, 63 sectors/track, 30401 cylinders, total 488397168 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x000e2a99

Device Boot Start End Blocks Id System
/dev/sda1 * 2048 484243455 242120704 83 Linux
/dev/sda2 484245502 488396799 2075649 5 Extended
/dev/sda5 484245504 488396799 2075648 82 Linux swap / Solaris

Die erste Partition beginnt also bei Sektor 2048. Folgender Befehl überschreibt die ersten 2047 Sektoren mit Nullen:
# dd if=/dev/zero of=/dev/sda bs=512 seek=1 count=2047
Und schon lässt sich Grub wieder fehlerfrei installieren.

Liquidsoap, eine vielseitige Radioautomation

Geschrieben von Steffen Schultz keine Kommentare
Kategorisiert in : Software Schlüsselwörter : Icecast, Linux, OpenSource, Shoutcast, Streaming, Windows

Mein Projekt der letzten Woche: Den Streaming-Server des Webradios, für welches ich arbeite, nach dem Ausscheiden unseres bisherigen Admins von Windows auf Linux umzustellen. Eine Herausforderung, die ich gern angenommen habe, bietet sie uns doch die Möglichkeit, den Server ohne sehende Hilfe komplett in Eigenregie zu administrieren. Als unerwartet schwierig erwies sich dabei die Aufgabe, einen halbwegs brauchbaren Transcoder zu finden, um unseren Haupt-Stream serverseitig in eine für mobile Nutzung geeigneten Stream herunterzukonvertieren. Unter Windows nutzten wir dafür bislang eine etwas unelegante Lösung, bei der zunächst ein auf dem Server installiertes Winamp den Stream abspielte und per Shoutcast-Plugin neu kodiert zum Server zurücksendete. Später nutzten wir dann den inzwischen nicht mehr offiziell verfügbaren Oddsock-Transcoder, der zum Schluss aber nur noch auf wackligen Füßen stand und alle paar Tage mal neu initialisiert werden musste.

Nach längerer Suche stieß ich dann auf das Projekt Savonet / Liquidsoap. hierbei handelt es sich grob gesagt um eine Automationssoftware für Webradios, die im Detail jedoch so einiges unter der Haube hat. "Liquidsoap" ist eigentlich auch keine Software im herkömmlichen Sinn, sondern eher eine eigene Skriptsprache. Das Stream-Transcoding, für welches ich "Liquidsoap" momentan einsetze, ist dabei noch vergleichsweise einfach zu bewerkstelligen. Die "Flüssigseife" kann aber noch viel mehr. Das einfache Abspielen von Playlists ist damit ebenso möglich wie ein durchformatierter Programmplan, bei welchem zu unterschiedlichen Tageszeiten ganz bestimmte Playlisten zum Einsatz kommen. Durch zahlreiche Plugins ist die Zahl der unterstützten Dateitypen und Soundquellen stark erweiterbar. Wer seinen Sender ganz ohne Moderator betreiben möchte, kann sogar die Ansage der Songs von einer Sprachausgabe übernehmen lassen. Aber natürlich lassen sich auch Live-Shows in die Planung einbauen. Gestreamt wird das fertige Programm dann entweder über die Soundkarte des Systems oder an einen Streaming-Server wie Shoutcast oder Icecast.

"Liquidsoap" kann von der Projektwebseite als Quellcode heruntergeladen werden, sollte sich auf Linux-Systemen aber auch bequem aus den Paketquellen installieren lassen. Für Windows gibt es eine vorkompilierte Version.

Der Raspberry (pi)ratensender kann jetzt auch Stereo

Geschrieben von Steffen Schultz keine Kommentare
Kategorisiert in : Software Schlüsselwörter : Audio, Linux, OpenSource, Raspberry Pi

Vor einem halben Jahr habe ich im Rahmen meines Podcasts "die Robbentröte" vorgeführt, wie man einen Raspberry Pi in einen kleinen Piratensender umfunktioniert. Als Radiofreak stand dieses Projekt natürlich weiterhin auf meiner Beobachtungsliste.
Tatsächlich gibt es mittlerweile interessante Fortschritte, um den Pi noch besser als FM-Sender einzusetzen. Zwar hat sich am Klang nicht viel verbessert, da das Pifm-Modul weiterhin nur Dateien mit maximal 22050 Hz annimmt und der Klang auch allgemein kaum mit dem eines normalen UKW-Senders vergleichbar ist, doch inzwischen sind auch Stereoübertragungen möglich. Hierzu wird der Aufruf des Moduls lediglich um einen Parameter ergänzt:
./pifm Datei.wav 103.3 22050 stereo
Via Ffmpeg lassen sich auch MP3-Dateien übergeben:
ffmpeg -i input.mp3 -f s16le -ar 22.05k -ac 1 - | ./pifm -
Mittels Arecord lässt sich sogar der Input eines USB-Mikrofons und wahrscheinlich auch jeder anderen USB-Soundkarte übergeben, die vom Raspberry Pi unterstützt wird:
arecord -d0 -c2 -f S16_LE -r 22050 -twav -D copy | ./pifm -

Getestet habe ich die neuen Möglichkeiten mangels brauchbarer Soundkarte jedoch noch nicht. Und so faszinierend dieser (Pi)ratensender auch sein mag, für mehr als ein paar Experimente sollte man ihn lieber nicht verwenden, da der Raspberry Pi natürlich niemals für diesen Zweck entworfen wurde und im schlimmsten Fall trotz geringer Reichweite für erhebliche Störungen im UKW-Rundfunk sorgen könnte. Wer es dennoch testen möchte, sollte zunächst ohne Antenne senden, die Reichweite beträgt dann nur wenige Meter. Als brauchbare Antenne sollte nur ein kurzes Kabel auf den GPIO-Pin 4 gesteckt werden, nicht länger als 20 Zentimeter. Allein das reicht aus, um die Reichweite des Senders auf bis zu 100 Meter zu steigern, was schon weit jenseits der in Deutschland im UKW-Bereich zugelassenen FM-Kleinstsender liegen dürfte. Größere Antennen sind nicht ratsam und wirken sich sogar negativ auf das vom Pi ausgestrahlte Signal aus, in jedem Fall aber negativ auf die Radios der Nachbarn. :)

Debian Wheezy: Orca lässt sich in manchen Programmfenstern nicht unterbrechen

Geschrieben von Steffen Schultz keine Kommentare
Kategorisiert in : Software Schlüsselwörter : A11Y, Debian, Linux, OpenSource, Orca

In manchen Einstellungs- und Programmfenstern kommt es vor, dass sich der Screen-Reader Orca nicht unterbrechen lässt, wenn man sich beispielsweise mit der Tab-Taste durch die Bedienelemente eines Fensters bewegt. Das hat zur Folge, dass man sich jedes Bedienelement bis zum Ende vorlesen lassen muss, ob man will oder nicht. Bei bereits bekannten Programmfenstern gelangt man auf diese Weise nur sehr langsam zum Ziel, sofern keine braillezeile zusätzlich zur Sprachausgabe zur Verfügung steht. Ganz zu schweigen davon, dass dieses Verhalten des Bildschirmlesers einem ziemlich auf die Nerven gehen kann.

Verantwortlich hierfür ist ein Bug im Zusammenhang mit der Clutter-Grafikbibliothek, der in neueren Gnome-Versionen offenbar schon behoben ist, nicht aber bei der in Debian Wheezy enthaltenen Version 3.4.2. Ein Update aus neueren Paketquellen könnte in diesem Fall helfen. Wer jedoch sein System möglichst stabil halten und nicht auf Testing-Pakete zurückgreifen möchte, kann sich mit folgendem Workaround behelfen.

  1. Ein Terminal im aktuellen Benutzerverzeichnis öffnen
  2. mkdir -p ~/.config/clutter-1.0
  3. cd ~/.config/clutter-1.0
  4. Mit dem Editor eurer Wahl eine leere Datei namens settings.ini anlegen und Folgendes eintragen:
    [Environment]
    EnableAccessibility=false
  5. Die Datei abspeichern und das Terminal wieder schließen

Auch wenn mit dieser Anweisung die Clutter-Zugänglichkeit vorübergehend ausgeschaltet wurde, kann Orca nun die Programmfenster wieder korrekt vorlesen und ist bei Bedarf auch zum Schweigen zu bringen. Testen lässt sich das beispielsweise in den Systemeinstellungen (Anwendungsmenü -> Systemwerkzeuge -> Einstellungen -> Systemeinstellungen).

Gnome Classic: Desktop für Orca lesbar machen

Geschrieben von Steffen Schultz keine Kommentare
Kategorisiert in : Software Schlüsselwörter : A11Y, Gnome, Linux, OpenSource, Orca

Bei einer frischen Debian-Installation zeigt der Screen-Reader Orca im Desktop-Modus "Gnome Classic" standardmäßig keinen Desktop an bzw. kann diesen nicht auslesen. Stattdessen werden nur das obere und untere Kantenpanel angezeigt. Natürlich ist der Desktop trotzdem vorhanden. Um ihn für Orca "sichtbar" zu machen, muss Folgendes ausgeführt werden:

  • ALT+F2 drücken und im Ausführen-Dialog eingeben: gnome-tweak-tool
  • Im sich nun öffnenden Fenster den Register "Arbeitsfläche" auswählen, was standardmäßig schon der Fall sein sollte
  • Die Option "Have Filemanager handle the Desktop" suchen und mit der Leertaste aktivieren
  • Falls benötigt, weitere Symbole der Einstellungsseite anhaken (Computer, Home, Trash etc)
  • Fenster mit ALT+F4 wieder schließen

Nun sollte der Desktop für Orca sichtbar sein und man kann mittels STRG+ALT+Tab zwischen Desktop und den Kantenpanels umschalten.
(Vielen Dank an @dave090679!)

Artikel-Feed (RSS) dieser Tag