Category Archives: Tips und Tricks

Medienstreaming: Vom Heimserver zur Chromecast

Wegen der anfänglichen Internetfixiertheit (frühe Firmware spielte nur Medien ab, deren URLs im Internet zugänglich waren) hält sich hartnäckig das Gerücht, dass die Chromecast nicht fürs lokale Medienstreaming geeignet ist. Des Gegenteils kann man sich leicht überzeugen. Einfach eine MKV-Datei mit h.264 Video und MP3 auf dem heimischen Webserver ablegen, dafür sorgen, dass diese Datei mit dem Mime-Type “video/mp4” ausgeliefert wird, dann die minimale Demo-App github.com/googlecast/CastHelloVideo-chrome auf dem Webserver ausrollen und die Seite in Chrome ansteuern. Nun können “Big Buck Bunny” und Co. auf die Chromecast gestreamt werden. Netterweise hat die Demo-App ein Eingabefeld, in das man die URL des oben erwähnten MKV eintragen kann – et voilá: Chromecast spielt lokale Dateien!

Um das ganze etwas komfortabler zu machen habe ich auf Basis der zweiten Demo-App, die einen Player mitbringt, etwas gescriptet: Zunächst ein Ruby-Script, welches eine Verzeichnisstruktur nach .mkv und .mp4 durchsucht und daraus ein (statisches) HTML baut. Dazu den Javascript-Code so angepasst, dass er geklickte Links ausliest und fertig ist das simple Webfrontend um Videos von NAS oder Heimserver zur Chromecast zu schicken.

Wer sich für die Scripte interessiert, findet sie hier: github.com/mschlenker/RollerCaster

Wer helfen möchte: Am meisten würde ich mich über durchdachte Mockups für die Überarbeitung der Oberfläche freuen!

PS: Nach Schmökern in der Doku ist klar, dass auch MPEG2-TS geht. Damit muss ich mal schauen, wie ich Live-Streams des TVheadend zur Chromecast bekomme.

Seitenprojekt: TinyCrossLinux

Mittlerweile hat es sich fast eingebürgert, für “kleine” Linux-Anforderungen ein Ubuntu oder Debian zu nehmen und dieses abzuspecken. Je nach Vehemenz landet man dabei meistens so bei 200MB, mit ein wenig Herumgetrickse auch mal bei 80 bis 100MB. Ich bin der Ansicht, dass nicht die Benutzung einer “klassischen” Distribution und deren Abspecken der beste Weg ist, sondern der Aufbau auf Null. Doch ganz auf den Morast einer unerschlossenen Sumpflandschaft möchte man nicht bauen – ich habe daher ein minimales Fundament erstellt, nicht viel mehr als eine Bodenplatte. Continue reading

Caps Lock auf Shift umbelegen – Linux und Windows

Wozu dient bitte Caps Lock? Seit rund zwanzig Jahren fällt mir kein Grund mehr ein, diese Taste zu benutzen. Also belegen wir sie um.

Windows

Unter Windows verwendet man die Registry, um Caps Lock umzubelegen, der folgende Eintrag mach Shift draus:

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout]
"Scancode Map"=hex:00,00,00,00,00,00,00,00,02,00,00,00,2a,00,3a,00,00,00,00,00

Einfacher: Hier die Registry-Datei herunterladen und per Doppelklick aufnehmen: http://cdprojekte.mattiasschlenker.de/Public/Windows_misc/disablecapslock.reg

Linux

Ich verwende eine ~/.xinitrc und darin die Zwei Zeilen:

xmodmap -e 'remove Lock = Caps_Lock'
xmodmap -e 'keysym Caps_Lock = Shift_L'

Wer möchte, kann auch eine ~/.Xmodmap anlegen, die folgendes enthält:

remove Lock = Caps_Lock
keysym Caps_Lock = Shift_L

und beim Start des Windowmanagers oder der Desktopumgebung sicherstellen, dass xmodmap gestartet wird und die ~/.Xmodmap verwendet wird.

VMware – UEFI-Boot simulieren

Mit weiteren Verbreitung von UEFI steigt die Relevanz, in Live-Distributionen den UEFI-Bootloader zu konfigurieren und zu testen und – als Autor – mit Screenshots Artikel zum Thema garnieren zu können. Bei mir betrifft das konkret das eigene Live-System LessLinux, derzeit primär ein Notfall- und Rettungssystem und die Multiboot-Linux-CDs, die ich für Verlage wie WEKA, Data-Becker, Heise erstelle oder miterstelle. Einen Teil der notwendigen Screenshots muss ich auf echter Hardware mit einer Capture Card erstellen (BIOS, UEFI-Setup). Für viele andere taugt die virtuelle Maschine.

Als Virtualisierungssoftware setze ich beim Desktop noch auf VMware, konkret den Player. Der ist nicht mehr kostenlos, aber dank Fusion-Lizenz ist er bei mir immerhin lizenziert (Unternehmen, die bislang den kostenlos nutzbaren Player einsetzten, müssen nach meiner Lesart der Lizenz pro Standort wohl rund 80€ investieren). Dass ich mittelfristig plane, auf VirtualBox zu wechsel, ist eine andere Geschichte.

Nun habe ich mich gewundert, dass ich weder in Fusion, noch im VMware Player irgenwo ein Option finde, BIOS/MBR oder UEFI/GPT als Firmware-Modell zu wählen. Es ist ganz einfach. Die .vmx-Datei, in der die Konfiguration gespeichert ist, lässt sich als einfache Textdatei an beliebiger Stelle um die Zeile

firmware = "efi"

ergänzen. Danach verhält sich VMware wie ein UEFI-Rechner, der vom Betrieb im CSM in den UEFI-Modus umgeschaltet wurde. Beim Neuaufsetzen virtueller Maschinen, bedeutet das, dass man zunächst zwar die Maschine konfigurieren, aber unbedingt “I will install the Operating System later” wählen sollte. Anschließend fügt man die EFI-Zeile in die VMX-Datei ein und startet dann die Installation im UEFI-Modus.

MokList gesemmelt, Boot unmöglich – MokList corruptet, boot impossible

Please scroll down for an English version!

In den letzten Monaten habe ich viele Experimente mit UEFI Secure Boot durchgeführt, mit so ziemlich allen Bootloadern und mit den gewonnenen Erfahrungen so einige Secure Boot kompatible Boot-Medien aufgebaut: Heise Desinfect, PC Magazin Superpremium 7/2013, Data Becker Linux Extra 5 und natürlich diverse LessLinux-Builds. Seit gestern ließen sich irgendwie nur originale Ubuntu- und Windows-Systeme booten, was für meine Zwecke natürlich ziemlich bescheuert ist. Der Grund: Die MokList im UEFI NVRAM, in der Shim und PreLoader.efi (respektive deren Schlüsselverwaltungstools) vom Nutzer freigegebene Schlüssel speichern, war irgendwie beschädigt oder einfach zu groß. Alle Schlüssel per UEFI Setup auf Werkseinstellungen zurückzusetzen, hatte keinen Effekt und KeyTool.efi hängte sich sofort auf. Wie weiter und die MokList löschen?

Ich habe herausgefunden, dass der einfachste Weg ist, entweder rEFInds flash drive image oder das demo image “sb-usb.img” der LinuxFoundation herunterzuladen und auf einen USB-Stick (per “dd”) zu ziehen. Damit bootet man bei deaktiviertem Secure Boot in die EFI Shell und gibt folgendes Kommando ein:

dmpstore -d MokList

Beim nächsten Start geht es mit einer leeren MokList weiter…

…and in English

The last months I did lots of experiments with UEFI secure boot and created some boot media that was secure boot compatible: Heise Desinfect, PC Magazin Superpremium 7/2013, Data Becker Linux Extra 5, various build of LessLinux with various bootloaders. Yesterday my MokList got corrupted or just too large – the MokList (or Machine Owners Key list is a database stored in the UEFI NVRAM that contains the keys and hashes that the owner of a machine added, for example when booting with Shim or PreLoader). Secure boot just worked with loaders that dit not access the MokList, which is not very useful for my purpose. Resetting all Keys via UEFI setup did not work. And KeyTool.efi just hung when editing the MokList. So how do I clear it?

I found out that the easiest way is to download either rEFInds flash drive image or the demo image “sb-usb.img” from the LinuxFoundation. Dd either of those to an USB thumb drive, disable secure boot in the UEFI setup and boot into the EFI shell. there you can simply delete the MokList with the command:

dmpstore -d MokList

Next time you boot, the MokList is empty/noexistent…

DVD nach MKV rippen

Dieser Blogpost soll in erster Linie eine Notiz für mich selbst sein, wie man eine DVD in eine MKV mit H.264-Video, Untertiteln und mehreren Audiospuren umwandelt. Ich verwende Stereo-Audio im MP3 kodiert – einfach weil an keinem unserer Abspielgeräte 5.1 Audio angeschlossen ist. Wer 5.1 haben möchte, kann gerne die rohen AC3-Spuren übernehmen. Die Beispiele legen alle Dateien im aktuellen Arbeitsverzeichnis ab. Daher empfehle ich, einen neuen Ordner anzulegen, der nach dem Merge von Audio- und Videospuren gelöscht werden kann.

DVD kopieren

Als allererstes kopiere ich die DVD mittels dvdbackup. Damit das mit CSS verschlüsselten DVDs funktioniert, muss eine entsprechende Version der libdvdcss installiert sein. Irgendwo unterhalb von /usr/share/doc gibt es ein Shell-Script, welches dies erledigt:

find /usr/share/doc -name '*css*.sh'

Üblicherweise kopiere ich die ganze DVD und nicht nur das Main-Feature. Das erledigt der Schalter “-M” wie “Mirror”, daneben sind Eingabegerät und Zielordner notwendig: Continue reading

Ubuntu 12.10 und VMware Workstation 9 oder Player 5

Die Kernelmodule von VMware greifen reicht stark in die Speicherverwaltung ein, beziehungsweise sind allergisch auf Änderungen an den APIs der Netzwerktreiber. Kommt ein Kernel nach Fertigstellung von VMwares Treiberpaket auf den Markt, gibt es lange Gesichter: VMware-Module lassen sich nicht kompilieren oder kompilieren und nicht laden oder VMware – und schlimmstenfalls der Kernel – stürzen ab. Für Nutzer von VMware Workstation 9 oder Player 5 gibt es hier Abhilfe:

http://communities.vmware.com/servlet/JiveServlet/download/2103172-94260/vmware9_kernel35_patch.tar.bz2

Um den Patch anzuwenden, gegebenenfalls zunächst auf Ubuntu 12.10 aktualisieren, dann die VMware-Dienste stoppen:

service vmware stop

Anschließend den Patch entpacken und das enthaltene Script anwenden:

tar xvjf vmware9_kernel35_patch.tar.bz2
cd vmware9_kernel3.5_patch
bash patch-modules_3.5.0.sh

Jetzt noch die Dienste neu starten, dann klappt es wieder mit dem VMware Player…

service vmware restart
vmplayer

Linux zieht OS X um

Wir haben noch ein altes Powerbook (Unibody, 2008), bei dem die serienmäßige 160GB-Platte arg klein geworden ist. Die sollte nun gegen eine Momentus-Hybrid-Platte ausgetauscht werden. Geplant war, die Platte mit “dd” zu klonen und anschließend mit dem “diskutil” oder dem Festplattendienstprogramm zu strecken. Ging nicht, weil das Festplattendienstprogramm irritiert davon ist, dass die Schattenkopie der GPT nicht am Ende der Platte liegt.

Ich bin dann so vorgegangen:

  1. Beide Platten mit einem SATA2USB-Adapter an den Linux-Desktop-Rechner angeschlossen

  2. Mit
    dd if=/dev/sdx of=/dev/sdy bs=1M
    die alte (sdx) auf die neue (sdy) Platte geklont

  3. Mit
    gdisk /dev/sdy
    die Platte im GPT-Partitionierungstool geöffnet und eine Partition vom Typ 0700 auf dem Rest der Platte angelegt, mit w bestätigt – das korrigiert die Position der Backup-GPT

  4. Die Platte abgestöpselt und in den Mac eingebaut

  5. Den Mac gebootet und dort im Festplattendienstprogramm die leere Partition gelöscht und die OS X Partition etwas gestreckt

Klappte prima und erspart mir eine Neuinstallation von OS X. Ich habe jetzt noch Platz, um demnächst Ubuntu drauf unterzubringen.

Cross compiling uClibc and busybox

There are a few articles from this blog that are old, but still known an read – even outside the small area of people speaking German. Thus this article written in English. My intention is to show how to cross compile uClibc and a BusyBox that is statically linked with this uClibc. The resulting BusyBox can be used to build some minimal Linux system. Around three or four Megabytes if you keep it really small. Nearly five years ago I wrote a tutorial on this topic (in German) on which I still receive feedback quite often. Since this tutorial is very outdated (module loading, initrd vs. initramfs, multiple initramfs), I plan to update it. This tutorial will show a quick alternative to get a working cross compiled BusyBox.

The content of this blog entry is partially based on the “semi official tutorial” how to cross compile BusyBox and partially on my experience with Linux from Scratch, especially Chapter 5 – Constructing a temporary system. At the time of this being written, I tried to make sure that very few patches are necessary – this will not always be the way, maybe GCC 4.7 will need more patches or BusyBox 1.19 does. uClibc 0.9.32 does not yet build cleanly on x86, thus I stay with uClibc 0.9.31.1 for this time: Continue reading

Ubuntu 10.04 als DomU (Xen) “debootstrappen”

Nach vier Jahren ist es mal wieder Zeit für ein kleines Tutorial zur Installation von Ubuntu-domUs via debootstrap. Dank Aufnahme der pvops-DomU in den Vanilla-Kernel bringt Ubuntu einen Kernel mit, der lediglich kleine Anpassungen am Initramfs benötigt, um sauber auf einem aktuellen Xen 4.0 zu starten.

Installation von Debootstrap

Zuerst muss debootstrap vorhanden sein, am einfachsten natürlich mit apt-get install debootstrap. Unter Ubuntu kann mit debootstrap auch die Folgeversion installiert werden. Debian-User können das Ubuntu-Debootstrap direkt von http://archive.ubuntu.com/ubuntu/pool/main/d/debootstrap/ herunterladen und mit dpkg -i installieren. Nutzer von RPM-Distributionen sollten ein Konvertierungstool installieren oder Debootstrap direkt aus dem .tar.gz installieren.

Vorbereitung eines Images

Für Xen DomUs haben Sie die Möglichkeit, physikalische Festplatten oder deren Partitionen zu nutzen oder Festplattenimages zu verwenden. Bei den Images wiederum gibt es zwei Möglichkeiten: Tap-Disks, die wachsen können und beispielsweise VMware VMDK-Format unterstützen oder “Plain-Images”, die als Loopback-Device gemountet werden können. Ich empfehle bei Testkonfigurationen grundsätzlich und bei Produktivsystemen für die Systempartitionen Images von Partitionen. Die Gründe: Continue reading

Installation von Xen 4.0.1 mit pvops-Dom0 auf Ubuntu 10.04

Xen 4.0 hat einige interessante Features eingeführt. Am Auffälligsten dürfte die Umstellung des vom Xen-Projekt gepflegten Dom0-Kernels auf “pvops” sein. Es handelt sich dabei um eine Technologie, mithilfe derer ein Kernel erkennt, ob er auf “nacktem Metall” (“bare metal” = direkt auf Hardware) oder auf dem Xen-Hypervisor läuft. Für unpriviligierte Domains (domU) ist dieses Feature bereits seit geraumer Zeit im Linux-Kernel enthalten, für dom0s is es neu und muss über den Kernel des Xen-Projektes installiert werden.

Ich habe einmal testweise ein Setup auf einer AMD64-Maschine erstellt, auf 32-Bit-Systemen sind lediglich einige Kleinigkeiten anders: Der Kernel muss PAE-Support haben und es muss zwingend ein Prozessortyp ausgewählt werden, der über Virtualisierungserweiterungen verfügt. Da heutzutage kaum Rechner als Xen-Host zum Einsatz kommen dürften, die nicht 64-Bit-tauglich sind, sollte sich die Frage nach pvops-Dom0s auf 32-Bit-Hardware kaum stellen. Continue reading

Welchen Bootloader verwende ich?

Ich arbeite an Rootservern, bei denen die verschiedensten Bootloader installiert sind. Mal Grub 0.9x, mal Grub 2, oft Extlinux (oh, ja, ich muss mal ein Tutorial zu Syslinux 4.0 machen…). Böse ist, wenn sowohl eine extlinux.conf als auch ein Ordner /boot/grub vorhanden sind. Was tun? Einfach im MBR nachschauen:

root@caesium:~#  dd if=/dev/sda bs=448 count=1 | strings
1+0 Datensätze ein
1+0 Datensätze aus
448 Bytes (448 B) kopiert, 4,2288e-05 s, 10,6 MB/s
ZRr=
`|f
\|f1
GRUB 
Geom
Hard Disk
Read
 Error

Das ist wohl GRUB, beim Syslinux-MBR (Extlinux) sieht die Ausgabe so aus:

RPf1
Missing operating system.
f`f1
|fRfP
Ht[y9Y[
Multiple active partitions.
Operating system load error.

Xen-Nachtrag, Setup mit Routing

Mir ist aufgefallen, dass mein gestriges Setup mit Dummy-Adapter und Vergabe der ersten IP-Adresse des Netzes auf das Interface dummy0 nicht die optimale Konfiguration darstellt: Hier wird das alte Setup mit separatem Router 1:1 nachgebaut, was zur Folge hat, dass die drei Adressen für Broadcast, Netz und Gateway nicht für Produktivsysteme nutzbar sind. Das beschriebene Setup ist daher nur sinnvoll, wenn ein Server in zwei Stufen von bridged auf routed umgestellt werden soll.

Beim Neuaufsetzen eines Servers ist es besser, gleich eine PointToPoint-Lösung mit 255.255.255.255-Maske aufzusetzen. Damit können bei einer 29-Bit-Maske (255.255.255.248) acht statt fünf IP-Adressen genutzt werden — satte 60% mehr (bei vier, fünf, oder sechs Bit Masken fällt der Gewinn natürlich kleiner aus). Die Änderungen gegenüber dem Setup von gestern sind, dass dummy0 in der /etc/network/interfaces der dom0 entfällt. In der /etc/xen/xend-config.sxp wird das extern erreichbare Interface eingetragen (in der Regel eth0):

(network-script 'network-route netdev=eth0')
(vif-script     'vif-route netdev=eth0')

Die Netzwerkkonfiguration der domU bekommt nun die primäre IP-Adresse der dom0 als Gateway eingetragen, dazu das Schlüsselwort pointopoint (nur ein ‘t’!) und die “dichte” Netzmaske:

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
        address 172.16.16.114
        netmask 255.255.255.255
        gateway 192.168.1.2
        pointopoint 192.168.1.2
        post-up ethtool -K eth0 tx off

Vielen Dank an…

  • Umstellung Debian Etch mit XEN 3 auf routed …die fleissigen Dokumentatoren im Hetzner-Wiki
  • …den Admin bei 1&1, dessen Default-Setup mit pointopoint auf der primären IP mich dazu anregte, hier nochmal nachzuforschen

Ein Tag mit Xen: Vanilla-Xen und -Kernel auf Ubuntu Karmic installieren

Bislang laufen alle unsere Dom0s entweder auf Ubuntu 8.04 oder openSUSE 11.1 oder 11.2. Für einen neuen alten Server wollte ich Ubuntu 9.10 als Basis nehmen, auch um im Mai leichter auf 10.04 wechseln zu können. Bei Ubuntu ist die Xen-Situation nicht besonders rosig: Laut halboffizieller Doku steht weder ein aktueller Xen, noch ein brauchbarer Kernel bereit. Immerhin ein Xend (der Verwaltungsdaemon) in Version 3.3. Erfahrungen seit 3.2 haben gezeigt, dass sich die Schnittstellen kaum noch ändern, so dass der 3.3er Daemon mit dem 3.4er Xen zusammen arbeiten sollte. Denkste.

Ziel waren zwei Server: Ein 64-Bit-System fürs Büro und ein 32-Bit-System für einen alten (AMD Athlon XP 2000, 512MB, 80GB) Hetzner Rootie (Presse-Testsystem). Beide Systeme wurden zunächst mit einem Ubuntu Minimalsystem ausgestattet. Bei Hetzner geschah dies aus dem Notfall-System per debootstrap (fertige OS-Images werden nur einmal am Tag aufgespielt, was stört, wenn man nach einer abgeschossenen Installation neu aufsetzen möchte) und der Server zuhause wurde per Debian-Installer per PXE-Netboot eingerichtet. Die zwei Möglichkeiten, einen Hetzner-Server mit Ubuntu oder Debian auszustatten — debootstrap und den Debian-Installer im SSH-Modus — erkläre ich bei Gelegenheit im Detail. Continue reading

Linux auf dem Asus A52JR

Seit einigen Tagen steht ein Asus A52JR (konkret: das A52JR-SX109V der aktuellen Saturn-Aktion) im Büro und wartet darauf, zum “Alltagsnotebook” (und zur schnelleren Ergänzung zu den von mir so geliebten Netbooks) mit Linux beglückt zu werden, konkret soll Ubuntu 9.10 zum Einsatz kommen, vor einem selbst kompilierten Kernel und einer manuellen Installation von Grafiktreibern schrecke ich nicht zurück. Bislang gibt es lediglich Teilerfolge zu berichten, diese sollten aber immerhin anderen interessierten bei der Kaufentscheidung helfen. Wegen der verwandten Innereien dürften die hier beschriebenen Vorgehensweisen auch beim A72JR, beim K52J und beim K72J sowie bei X52JR und X72JR anzuwenden sein (die K-Modelle werden über den regulären Fachhandel vertrieben und sind etwas eleganter und mit hübscherer Tastatur ausgestattet). Continue reading

Ubuntu 9.10 Karmic Koala und VMware Player

Ich hatte seit Wochen ein Mainboard nebst zugehörigem Quadcore-Opteron Phenom nebst 8GB RAM herumliegen. Das war ursprünglich ein Build-/Testsystem, sollte aber jetzt meinen doch schon etwas älteren (zweieinhalb Jahre) Desktop ablösen, der nun als Testsystem weiter dienen wird. Auf einen neuen Rechner installiert man natürlich ein neues OS — statt bislang Ubuntu 8.04.x sollte 9.10 RC zum Einsatz kommen.

Probleme bereitete die Installation und Nutzung des VMware-Players, den ich gerne als recht flexible Virtualisierungslösung einsetze.

Continue reading

Linux: Verschlüsselte und komprimierte Backups auf DVD

Ich sichere nach wie vor geschäftsrelevante Daten auf DVD, allerdings stellte mich keine der fertigen Lösungen vollkommen zufrieden. Meine Anforderungen:

  • Starke Verschlüsselung: Das Backup muss sicherer sein als diese unsägliche ZIP-Verschlüsselung hinreichend sicher sein und ein statistischer Angriff soll keinen Erfolg versprechen.

  • Gute Komprimierung: Ich möchte in kurzer Zeit das Backup klein eindampfen können und beim Zugriff effizient entpacken, also nur die Dateien, die ich benötige.

  • Mountbares Backup: Ganz ohne vorheriges Entpacken soll ein sofortiger Zugriff auf alle Dateien im Backup möglich sein.

  • Keine unverschlüsselten temporären Dateien: Weder beim Packen noch beim Entpacken sollen unverschlüsselte temporäre Dateien anfallen, einerseits aus Sicherheitsgründen, andererseits weil eine temporäre Datei auf einem zufällig verschlüsselten Dateisystem Prozessorlast erzeugt.

Bis vor kurzem habe ich einfach Archive mit Tarballs mit Twofish verschlüsselt (openssl bietet ein komfortables Subkommando) und diese auf DVD gebrannt. Neben den oben genannten Nachteilen kam das Problem dazu, dass auf einem ISO-9660-Dateisystem die Dateigrößengrenze bei 2GB lag.

Meine Lösung sah eine Kombination aus bekannten Technologien vor: Eine Containerdatei sollte per losetup zum blockorientierten Gerät mutieren, dort wiederum sollte mit cryptsetup ein verschlüsselter Datenträger entstehen, der wiederum ein komprimiertes Squashfs-Dateisystem aufnehmen sollte. Klingt kompliziert? Ist es aber nicht:

Benötigt werden die im Tutorial /home reisetauglich verschlüsselt erwähnten Pakete und die squashfs-tools sowie SquashFS-Module für den laufenden Kernel. Continue reading

Dreimal Windows — und keines weiss vom anderen

OK, ein beinahe reines Windows-Thema ist ungewöhnlich hier. Aber ich habe gerade viele Leser aus dem Windows-Umfeld, denen es weiterhilft, wenn Sie wissen, wie man mit einer Linux-Live-CD und dem Bootloader GRUB seine Windows-Installationen besser in den Griff bekommt. Darum im Tool der Woche: GRUB und fdisk.

Wer Windows in der von Microsoft vorgesehenen Reihenfolge — erst XP, dann Vista, dann 7 — installiert, wird selten Probleme bekommen: Jedes Windows erkennt seine Vorgänger und bindet diese in den eigenen Bootloader ein. Trickserei ist aber gefragt, wenn kein Windows vom anderen Kenntnis haben soll oder man zu jeder Zeit ein beliebiges Windows durch eine Neuinstallation ersetzen möchte. Der Standard-Bootmanager von Windows scheitert hieran, Abhilfe schafft der kostenlose und von Linux-Distributionen bekannte GRUB. Netter Nebeneffekt meiner Lösung: Jedes Windows hat den Laufwerksbuchstaben C: für die Systempartition.

Im folgenden b eschreibe ich, wie man Windows XP, Windows Vista und Windows 7 unabhängig voneinnader installiert. Je nach Bedarf können Sie auch zweimal XP und einmal 7 installieren oder die Reihenfolge variieren. Einzige Einschränkung ist die Limitation bootfähiger Windows-Versionen auf drei, was durch die maximale Anzahl an primären Partitionen bedingt ist. Wer GRUB auf eine zweite Festplatte, Diskette, USB-Stick oder CD auslagert, kommt auf vier.

Als Werkzeugkiste kommt eine Sidux-Live-CD in Version 2008-04 zum Einsatz. Im Prinzip sollte es jede Live-CD tun, die Gparted und fdisk mitbringt. Schlimmstenfalls sind auf Grund anderer Mountpoints etc. einige Parameter anders einzugeben.

Continue reading

Akoya E1210: Ubuntu 8.04.1 Alternate Install von USB-Stick

Dieser Beitrag dürfte für viele Nutzer mit Erscheinen der finalen Version von Ubuntu 8.10 hinfällig sein. Installieren Sie Ubuntu 8.04.1 nur, wenn Sie auf Long Term Support angewiesen sind. Siehe Das perfekte Netbook-Setup: 1. Installation von Ubuntu/Xubuntu 8.10

So, nach den Startschwierigkeiten gestern klappte nun die Installation von Ubuntu 8.04.1 auf dem Akoya E1210. Als Installationsmedien verwendete ich einen USB-Stick (SD-Karten funktionieren ebenfalls). Bootfiles hierfür habe ich so zusammengestellt, dass auch unbedarfte Nutzer schnell zur Alternate Install kommen dürften:

Continue reading

Tool der Woche: tar

Klar kennen Sie tar. Wer hat den “Tape Archiver” etwa noch nicht benutzt, um Archive zu ver- oder entpacken. Der typische Einsatz beim Entpacken eines (zumeist Quellcode-) Archives ist (gegebenenfalls mit “z” statt “j”, wenn es sich um ein mit gzip komprimiertes Archiv handelt):

tar xvjf archiv.tar.bz2

Oder wenn stattdessen ein oder mehrere Ordner oder Dateien zu einem Archiv zusammengefasst werden sollen:

tar cvjf archiv.tar.bz2 ordner/

Doch tar kann einiges mehr. Als erster Einsatzbereich sei da das Archivieren auf Bandlaufwerke zu nennen. Statt dem Archivnamen gibt man einfach den Namen der Gerätedatei an, auf dem die Sicherung landen soll. Im Zeitalter der Sicherung auf optische Datenträger oder des Off-Site-Backups auf irgendwelche Remote-Server schwindet der Nutzen dieser Funktion von tar aber immer mehr und Tools wie rsync, auf das ich später eingehen möchte oder mksquashfs (für’s Backup auf optische Medien) gewinnen an Bedeutung. Dennoch gibt es genügend Einstzbereiche für tar:

Continue reading

Produktivitätsbooster Squid

Ihr kennt das Problem: Manchmal sitzt man einfach da und lenkt sich surfenderweise ab. Blogs sind besonders beliebt, aber auch Spiegels “Panorama” hat als eine Art “Edel-Bild” immer interessantes zu bieten. Nur den Stecker der FRITZ!Box zu ziehen wäre kontraproduktiv, denn ab und an muss man auch im Netz recherchieren.

Es geht einfacher mit Squid als Proxy, der nebenbei noch den Zugang für mehrere Rechner beschleunigt und dabei hilft, Statistiken der Netznutzung im Unternehmen zu generieren.

Der relevante Abschnitt meiner /etc/squid/squid.conf:

Continue reading

Durchgereicht: PCI passthrough bei Xen 3.2rc

Update, 17. Januar 2008: Xen 3.2 final wurde heute veröffentlicht. Golem berichtet darüber.

Ein großes Problem bei vielen Virtualisierungstechnologien ist die fehlende Möglichkeit, in einem Gastsystem “rohen” Zugriff auf einzelne Hardwarekomponenten zu erhalten. Zwar bieten VMware und andere das Durchreichen von USB-Geräten, doch das ist eine Lösung, die für physikalisch vom Netz des Wirts getrennte Firewalls oder RAID-Subsysteme nicht wirklich akzeptabel ist. Eine interessante Abhilfe bietet Xen, wo mit vertretbarem Aufwand Gäste direkten Zugriff auf PCI-Karten bekommen.

Continue reading

Praktisches Archiv-Filesystem: SQUASHFS

Auf Single-Layer-DVDs passen bekanntlich nur 4,7 Mrd. Bytes, was verglichen mit aktuellen Festplattengrößen nicht besonders viel ist. Wer häufig Projektdateien (oder Logdateien) in einer Form archivieren muss, die später einen leichten Zugriff erlaubt, wird zudem schnell an die Grenzen der typischen CD- und DVD-Dateisysteme stoßen:

  • ISO 9660 erlaubt nur Dateigrößen bis 2GB
  • UDF benutzt viel Platz fürs Dateisystem selbst
  • ISO 9660 mit Komprimierungserweiterungen packt nur einzelne Dateien und ist nicht standardkonform
  • komprimierte Archive müssen bei vielen Formaten komplett entpackt werden um an den Inhalt heranzukommen

Früher habe ich mich damit beholfen, komprimierte Tar-Archive direkt (!) auf CDs und später DVDs zu schreiben. Der Nachteil dieser für Datenträger mit sequentiellem Zugriff konzipierten Lösung liegt auf der Hand: Um an einzelne Dateien heranzukommen muss der gesamte Datenträger eingelesen und das gesamte Archiv entpackt werden.

Eine bessere Lösung liegt nahe: SQUASHFS kommt vor allem bei Live-Distributionen für den Container zum Einsatz, wird deshalb bei vielen Distributionen mitgeliefert. Dieses Dateisystem kann gemountet werden: So findet man schnell Einzeldateien ohne sich /tmp/ volllaufen zu lassen. Dank der Duplikatserkennung ist die Komprimierung zudem äußerst effizient. Ein SQUASHFS-Dateisystem wird wie ein ISO-Dateisystem erstellt:

mksquashfs /mein/projekt /tmp/projekt.sqfs

Gebrannt wird dieses als wäre es ein ISO9660-Dateisystem

growisofs -dvd-compat -speed=8 -Z/dev/scd0=/tmp/projekt.sqfs

So erstellte Datenträger können auf jedem Linux mit geladenem SQUASHFS-Modul gemountet werden:

mount -t squashfs /dev/scd0 /media/cdrom0

Fehlt das Kernelmodul, können Userspace-Tools zum Entpacken wie unsquashfs zum Einsatz kommen.

Nachtrag, 9. November 2007:

Schrott wird flott (X-Link)

In meinem privaten Blog entsteht derzeit eine kleine Serie zum Wiedernutzbarmachen eines alten Subnotebooks (im konkreten Fall geht es um ein Fujitsu-Siemens Lifebook B142). Die Installation auf dem Gerät ohne CD-Laufwerk und Netzwerkkarte dürfte auch den einen oder anderen Rootserveradmin interessieren, der für unterwegs ein billiges, leichtes “Admin-Frontend” sucht und darauf Linux installieren möchte:

Der Büro-Bootserver: PXELINUX im Praxiseinsatz

Mit dem Umzug unseres büroweiten DHCP-Servers auf eine eigene Xen-Instanz haben wir die Gelegenheit genutzt, auch den Bootserver neu aufzusetzen: Für Distributionstests, Arbeiten an Kundenrechnern oder Backups — die leichter durchzuführen sind, wenn keine geöffneten Dateien vorliegen — leisten wir uns schon seit einer Weile eine Xen-Instanz, die PXE fähige Clients mit einer Auswahl verschiedener via Netzwerk gestarteter Systeme und Linux-Installer zu versorgen. Viel Aufwand ist das Aufsetzen eines Bootservers nicht: Es genügt ein richtig konfigurierter DHCP-Server und ein TFTP-Daemon. Hilfreich, aber keinesfalls zwingend erforderlich ist ein NFS-Server. Linux-Distributionen und BSDs, die einen NFS-Server benötigen, werde ich deshalb zu gegebener Zeit separat behandeln.

Erster Schritt: DHCP-Server

Erster Schritt bei der Konfiguration ist der DHCP-Server, ideal ist die weit verbreitete und extrem konfigurable Version des Internet Software-Consortiums, die bei debianesken Distributionen als dhcp3-server verfügbar ist. Sollte ein DHCP-Server im DSL-Router vorhanden sein, deaktivieren Sie diesen dauerhaft: Zwei DHCP-Server, von denen einer Boot-Informationen ausliefert und der andere nicht, können ganz schön Verwirrung stiften. Eine kompakte, aber für den Start per PXE ausreichende Konfigurationsdatei /etc/dhcp3/dhcpd.conf kann wie folgt aussehen: Continue reading