Das Rootserver-Experiment

Erlebnisse eines Rootserver (Beinahe-) Neulings

Verantwortlich für den Inhalt dieser Seite ist Mattias Schlenker, Inhaber Mattias Schlenker IT-Consulting Mattias Schlenker work Kochstraße 21, 04275 Leipzig. Germany work Fon +49 341 3032616. Die Steuernummer beim Finanzamt Leipzig erhalten Sie auf Anfrage. http://www.mattiasschlenker.de

Diese Seite läuft unter Wordpress 2.x.x. News und Kommentare können als RSS-2.0-Feed abonniert werden.

Archiv für 'Linux'

Asus x101 – wieder ein echter Eee PC?

Wednesday, August 31st, 2011

Seit einigen Tagen liefert Asus den Eee PC x101 aus. Die Eckdaten – vorinstalliertes Linux als Betriebssystem, extrem abgespeckte Hardware, 8GB Solid State Drive – erinnern an den ersten Eee PC, den 701. Aber auch der daraus resultierende Preis von 25% bis 30% unter der bisherigen Untergrenze und das geringe Gewicht von etwa 950 Gramm lassen Erinnerungen wach werden. Und 169€ brutto sind schwer zu unterbieten.

(more…)

Linux zieht OS X um

Monday, August 15th, 2011

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

Saturday, July 2nd, 2011

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:

Needed files

Sources and patches:

Configuration files:

1. Setting up the environment

Very few modifications to the environment are necessary. We just need three variables:

    export TGTARCH=i486
    export INSTDIR=/usr/local/crosstools
    export PATH=${INSTDIR}/bin:${PATH}

$TGTARCH is the targeted architecture, it should be either i486, i586, i686 or x86_64. Of course it is possible to build for several ARM or MIPS targets if you need a statically linked BusyBox for a rooted Android device or a DSL router. There is one drawback however: My configs for uClibc and BusyBox are very x86 specific. For the first build I recommend using the same target architecture as the machine you are building:

    export TGTARCH=` uname -m `

$INSTDIR is the location of the resulting toolchain. When building for different target architectures, you might also include the name of the target arch into the path. This makes deinstallation easier – you just have to delete a branch in the file system. For example:

    export TGTARCH=i486
    export INSTDIR=/usr/local/uclibc-crosstools-${TGTARCH}
    export PATH=${INSTDIR}/bin:${PATH}

2. Building binutils

Unpack the binutils and create a directory binutils-build on the same level of the file system, then configure binutils:

    tar xvjf binutils-2.21.tar.bz2
    mkdir binutils-build
    cd binutils-build
    ../binutils-2.21/configure \
        --target=${TGTARCH}-linux-uclibc \
        --prefix=${INSTDIR} --disable-nls \
        --disable-werror

Now build and install binutils:

    make && make install

3. Building GCC

As far as I tested, GCC needs a small patch to result in a properly working cross compiler. Besides this, GMP, MPFR and MPC must be present:

    tar xvjf gcc-4.6.0.tar.bz2
    tar xvjf mpfr-3.0.1.tar.bz2
    tar xvjf gmp-5.0.2.tar.bz2
    tar xvzf mpc-0.9.tar.gz
    mv mpfr-3.0.1 gcc-4.6.0/mpfr
    mv gmp-5.0.2 gcc-4.6.0/gmp
    mv mpc-0.9 gcc-4.6.0/mpc
    mkdir gcc-build
    cd gcc-4.6.0
    cat ../gcc-4.6.0-cross_compile-1.patch | patch -p1
    cd ../gcc-build

Now configure, build and install GCC:

    ../gcc-4.6.0/configure \
        --target=${TGTARCH}-linux-uclibc \
        --prefix=${INSTDIR} \
	--disable-nls --disable-shared --disable-multilib \
        --disable-libmudflap --disable-libssp --disable-libgomp \
        --disable-libquadmath --disable-target-libiberty \
        --disable-target-zlib --disable-decimal-float \
        --disable-threads --enable-languages=c \
	--without-ppl --without-cloog
    make && make install

4. Installing kernel headers

The kernel headers used should ressemble the version you intend to run the BusyBox on. Unpack and install them – the sanitizing step is taken from Linux from Scratch:

    tar xvjf linux-2.6.39.2.tar.bz2
    cd linux-2.6.39.2
    make INSTALL_HDR_PATH=dest headers_install
    find dest/include \( -name .install -o -name ..install.cmd \) -delete
    mkdir -p ${INSTDIR}/${TGTARCH}-linux-uclibc/include
    cp -rv dest/include/* ${INSTDIR}/${TGTARCH}-linux-uclibc/include

In the next steps ${INSTDIR}/${TGTARCH}-linux-uclibc will become more populated with headers, libraries and other development files for our build target.

5. Installing uClibc

Unpack uClibc and copy the config into the resulting directory. Since uClibc uses the same configuration scheme as the Linux kernel, some parameters in the config have to be changed with sed, and a run of make oldconfig is needed if you do not run my exact version of uClibc:

    unxz -c uClibc-0.9.31.1.tar.xz | tar xvf -
    cp uClibc-0.9.31.1.config uClibc-0.9.31.1/.config
    cd uClibc-0.9.31.1
    # This fixes the path of the linux headers
    sed -i 's%/usr/local/crosstools/i486-linux-uclibc/include%'${INSTDIR}/${TGTARCH}-linux-uclibc/include'%g' .config
    # This fixes the path to GCC and binutils:
    sed -i 's%/usr/local/crosstools/bin/i486-linux-uclibc-%'${INSTDIR}/bin/${TGTARCH}-linux-uclibc-'%g' .config
    make oldconfig

When building for x86_64 instead of i486-i686, replace the target as well:

    sed -i 's%TARGET_i386=y%#TARGET_i386 is not set%g' .config
    sed -i 's%# TARGET_x86_64 is not set%TARGET_x86_64=y%g' .config
    make oldconfig

Now build and install uClibc:

    make
    make install PREFIX=${INSTDIR}/${TGTARCH}-linux-uclibc/

Everything is in place now. In the next step we are building the statically linked BusyBox:

6. Building BusyBox

Our BusyBox will be statically linked. Since BusyBox also uses the configuration scheme from the Linux kernel, configuration is done by copying the .config file:

    tar xvjf busybox-1.18.5.tar.bz2
    cp busybox-1.18.5.config busybox-1.18.5/.config
    cd busybox-1.18.5
    make oldconfig CROSS_COMPILE=${TGTARCH}-linux-uclibc-

Build BusyBox and install it to the subdirectory _install:

    make CROSS_COMPILE=${TGTARCH}-linux-uclibc-
    make install CROSS_COMPILE=${TGTARCH}-linux-uclibc-

If your build system is x86_64, any i486 to i686 or x86_64 can be directly run. There will be no hassle with libraries since our binary is statically linked:

    # Should result in: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), statically linked, stripped
    file _install/bin/busybox
    # Should print the BusyBox applets contained
    ./_install/bin/busybox

That’s it. Have fun with your BusyBox. In a short time I will tell you how to configure and build a minimal Linux system that just consists of a kernel, BusyBox and Dropbear for SSH logins – that is just enough Linux to do imaging and restoring tasks.

Randnotizen, 22. September 2010

Wednesday, September 22nd, 2010

So, heute mal etwas persönliche Randnotizen.

  • LessLinux: Die CD “DE-Cleaner-Rettungs-System” (Pressemitteilung) basiert auf meinem LessLinux. War viel Arbeit, weniger im technischen Sinne, mehr im Sinne der Koordination der Projektpartner. Ich bin handwerlich zufrieden mit dem Ergebnis, würde aber aber nach einer Zwischenauswertung der Leserfragen eine deutlich simplere Nutzerführung bevorzugen. Das war in der kurzen Projektphase nicht möglich, also bleibt es bei dieser Oberfläche. Ärgerlich: Es wurden wohl ein paar Tausend fehlgepresste Datenträger ausgeliefert, so dass ich bei Supportanfragen nie weiss, ob ein Problem nun eher auf problematische Hardware, meine Erkennungsroutinen oder eine kaputte CD zurückzuführen ist.

  • LessLinux, nochmal: Ich arbeite gerade an einer Funktion, die anhand von Strace-Logs prüft, auf welche Dateien während eines Builds zugegriffen wird und welche gesucht, aber nicht gefunden werden. Ziel ist ein Abhängigkeitsmanagement, welches auch vorschlägt, welche Bibliotheken vorher installiert werden, könnten, beispielsweise wenn ./configure zur Laufzeit anhand installierter Programme festlegt, welche Eigenschaften einkompiliert werden. Momentan läuft eine Analyse einer Glibc-Kompilation — die Strace-Logdatei hat 1,4GB oder 13 Millionen Zeilen und will natürlich komplett durchs RAM und dort analysiert werden…

  • Nokia: Wie etwas so sucken kann… Ich habe seit ein paar Tagen ein E5, Nachfolger meines E71. Schönere Kamera, bessere Nutzerführung, toller, übersichtlicher Email-Client. Flotter Webbrowser, spielt Youtube. 3.5mm Klinke. Aaaaber: Um VoIP einzurichten musste ich ein Zusatzprogramm runterladen. Mein Bluetooth-Keyboard will noch immer nicht. Auf der Nokia World stellt Ihr tolle Hardware wie das E7 vor, aber kein Wort zu MeeGo? Sicher ist Symbian^3 nicht wirklich schlecht, sogar richtig viel besser als S60 5th, aber das Highend bedient Ihr damit nicht!

  • Auf Wolken gehen: Peter Voit war ein Nachbarjunge, einer der großen, sechs oder sieben Jahre älter als ich. Irgendwie ist aus ziemlich vielen der Nachbarjungen (ich schließe mich da nicht aus) etwas geworden. Peter wurde Mitgründer von Transsolar und die machen nun Wolken. Das kann praktisch sein, wenn man die Lichteintrahlung in einem Gebäude beeinflußen will: Video bei Youtube.

Frischer LessLinux-Build zum Wochenende

Friday, September 3rd, 2010

So, in den letzten Tagen entstand wieder ein frischer LessLinux Development-Build. Neu sind vor allem die Funktion, dass das ISO-Image nicht nur dank ISOhybrid auch auf einem USB-Stick eingesetzt werden kann, sondern dieser beim Start gleich wieder mit einem FAT-Dateisystem versehen wird. Neu ist auch ein pvops-tauglicher Kernel und einige kleinere Änderungen an den Bootscripten, womit sich LessLinux nun als Xen domU booten lässt.

Einige weitere Modifikationen wie Bootsplash mit fbsplash, die demnächst in einem kommerziellen Derivat sichtbar sein werden, sind noch nicht aktiv. Hier geht’s lang zum Blogpost:

http://blog.lesslinux.org/fresh-development-build-isohybrid-conversion-and-boot-on-xen/

Ubuntu 10.04 als DomU (Xen) “debootstrappen”

Wednesday, September 1st, 2010

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: (more…)

Installation von Xen 4.0.1 mit pvops-Dom0 auf Ubuntu 10.04

Monday, August 30th, 2010

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. (more…)

Das BSI empfiehlt… LessLinux

Friday, August 27th, 2010

Mn sehe und staune: Das BSI schickt seine eigene, Knoppix basierte Live-Distri in Rente und verweist auf das von mir federführend entwickelte LessLinux, konkret in seiner Ausprägung als “Computerbild Sicher Surfen“.

Das mag auf den ersten Blick verwundern, auf den zweiten scheint es logisch: Die Anforderungen an die Sicherheitsmechanismen der Sicher-Surfen-CD wurden vom BSI festgelegt, die Umsetzung dieser vom TÜV geprüft. Dabei bin ich durchaus auch eigene Wege gegangen, so habe ich die Integration des einfachen MAC-Modells SMACK statt SELinux durchgesetzt und als Basis eben keine Debian-Distri genommen, sondern mein damals (vor anderthalb Jahren) noch in den Kinderschuhen befindliches LessLinux.

In den letzten Wochen hat sich im Blog von LessLinux wenig getan, hinter den Kulissen umso mehr. Worum es ging, darf ich noch nicht sagen. Stay tuned, in zwei Wochen wisst Ihr mehr.

Welchen Bootloader verwende ich?

Wednesday, August 25th, 2010

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.

Eine Frage an die Community: Welches (Linux-) Smartphone kaufen?

Monday, July 12th, 2010

ich sinniere noch immer über dem Kauf eines Smartphones: Ein Gerät mit 480×320-Touchscreen (gerne größer), möglichst offener Plattform (Bada oder Android 2.1+) sollte es sein. Ob nur Touchscreen oder Touchscreen plus Tastatur ist zunächst zweitrangig.

Der Haken: Es sollte Features bieten oder als stabile Software zu Nachrüstung bereithalten, die ich am E71 nicht mehr missen möchte:

  • Tethering möglichst per Bluetooth und Funktion als WLAN-Hotspot
  • SIP-Client
  • SyncML-Client oder Funambol-Plugin erhältlich
  • Unterstützung für Bluetooth-Tastaturen

Eigentlich nix Wildes, aber drei der vier Punkte sind meines Wissens schwer umzusetzen. Dazu würde mich interessieren: Wie haltet Ihr Smartphone und Linux-Rechner synchron? Ich nutze einen eigenen Funambol-Server und das Funambol-Addon für Thunderbird 3.0. Das klappt prima mit Kontakten und Terminen.

Status-Update LessLinux

Monday, May 31st, 2010

Ich habe in den letzten Tagen und Wochen wieder intensiv an “meiner Live-Distribution” LessLinux gearbeitet. Wahrscheinlich kennen die meisten von Euch LessLinux als die “ComputerBild Notfall-CD 2.0″, doch das System soll mehr können als ein komfortables Rettungswerkzeug für Havarierte Windows-Installationen zu sein. Herausgekommen sind unter anderem:

  • Systemstart per Netzwerk: Es ist nun kein lokaler Datenträger mehr nötig. Stattdessen kann beim Systemstart ein ISO-Image per WGET heruntergeladen werden. Das landet im Arbeitsspeicher und wird Loopback gemountet. NFS-Boot folgt, mein Testbuild hier zu Hause macht es schon… Weiter im LessLinux-Blog

  • Zugriff per VNC: Per Cheatcode kann nun angegeben werden, statt einer lokalen Grafikkarte einen VNC-Server anzusteuern. Das klappt offen fürs ganze Netz oder auf localhost für unsichere Umgebungen Weiter im LessLinux-Blog

  • LessLinux selbst bauen: Buildscripte, Anleitungen und ein VMware-Image in dem der Build garantiert durchläuft, sind Online Teil 1 und Teil 2 im LessLinux-Blog

Randnotizen, 13. April 2010

Tuesday, April 13th, 2010

Und mal wieder Randnotizen — Links der letzten acht Tage mit einigen Anmerkungen:

  • Wie stark suckt Flash? Es gibt eine Beta der 10.1 für Linux, Hardwarebeschleunigung inbegriffen, News bei LinuxForDevices.com.

    Ich konnte mich nie wirklich mit Flash unter Linux, BSD oder MacOS X anfreunden und werde es wahrscheinlich nie wirklich können. Auf meinem 64 Bit Desktop läuft Flash im Plugin-Wrapper und schmiert zweimal am Tag ab. Ich bin damit die meiste Zeit ohne Flash unterwegs und vermisse es nicht wirklich. Nur wenn ich gerade Flash für ein kleines Video brauche, ist es nicht da. Ich hoffe, dass HTML5-Video bald soweit verbreitet ist, dass man auch für die Freizeit kein Flash-Plugin mehr braucht.

  • Endlich kostenlose Navigation auf dem Nokia E71 Nokia reagiert auf protestierende Nutzer: News bei engadget.com.

    Dass Nokia seine kostenlose Navigation beim Start nur für eine Hand voll Geräte anbot, fand ich ärgerlich. Sollte ich ein ein Jahr altes E71 wegwerfen und ein mir ein E72 kaufen, um in den Genuß der Navigationslösung zu kommen? Der Protest der letzten Monate hat gewirkt: Nokia bietet die kostenlose Ovi Maps Version 3.0.3 nun auch für E66 und E71.

  • Mein YaCY-Host läuft wieder! Ich mache wieder bei der freien Suchmaschine mit und helfe, mich und andere von Google abzunabeln.

    Auf dem Büroserver läuft nun eine Xen-Instanz mit 1,25GB RAM und 30GB Platte. 25GB Plattenplatz und 1GB RAM darf sich Yacy nehmen, dafür habe ich die CPU-Zyklen etwas beschränkt und stelle nur einen Prozessorkern bereit. Cool: Wenn man die Proxy-Indexierungstiefe auf 1 setzt und hin und wieder doch zu Google greifen muss, indexiert Yacy die auf den gelesenen Google-Ergebnisseiten verlinkten Seiten.

    Nachtrag: Hier gibt es einen älteren Artikel von mir zu Einrichtung und Funktionsweise von YaCY.

  • Xen 4.0 erschienen: Neue Version des Hypervisors, News bei Golem.

    Wenn ich die Nachricht richtig deute, läuft Kernel 2.6.31 dann mit pv_ops auf Xen (der Kernel erkennt, ob er auf Xen oder direkt auf der Hardware läuft), wenn ein Prozessor mit Intels oder AMDs Virtualisierungserweiterungen gefunden wird. Damit ist der Einsatz neuer Xen-Versionen auf vielen Maschinen die älter als zwei Jahre sind, in weite Ferne gerückt. Immerhin: Da pv_ops ein fester Bestandteil des Kernels ist/wird, hat das manuelle Patchen des dom0-Kernels bald ein Ende. Ich hoffe, dass Xen damit eine Zukunft im SMB-Bereich und nicht nur im Rechenzentrum hat, denn KVM hat mit PCI Passthrough u.ä. in letzter Zeit mächtig aufgeholt.

  • Einsteiger-Smartphones von Nokia C3, C6 und E5, News bei Golem, News bei Engadget und News bei Infosync.

    Immer noch kein Symbian^3, stattdessen das neu gelabelte Symbian^1 (TOFKAS605TH = The OS Formerly Known As Series 60 5th Edition), nett und meine Erfahrungen mit E71 und 5230 zeigen, dass Nokia durchaus brauchbare Geräte mit langen Standby-Zeiten und schneller Navigation bauen kann, auch die Preise sind moderat und die Tastatur des E5 hoffentlich so gut wie beim E71, aaaaaber von einem Gerät wie dem C6 hätte ich langsam das neue Touchscreen-Symbian erwartet.

Linux auf dem Asus A52JR — Teilerfolg mit Mobility Radeon 5470

Thursday, March 25th, 2010

Nachdem gestern der Ati Catalyst Treiber 10.3 erschienen ist (und seit heute auch downloadbar ist), dachte ich mir, ich könnte die Treiberinstallation auf dem A52JR noch einmal probieren. Nach der Installation des Treibers mit

./ati-driver-installer-10-3-x86.x86_64.run

probierte ich erneut

aticonfig --initial

Das Ergebnis war ernüchternd: Wieder wurde mir gesagt, dass keine unterstützten Karten im Rechner vorhanden waren, eine Konfiguration daher nicht möglich sei. Zur Erinnerung: lspci erkennt die Karte wie folgt: (more…)

Xen-Nachtrag, Setup mit Routing

Friday, March 19th, 2010

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

Thursday, March 18th, 2010

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. (more…)

Alte und neue Artikel online

Wednesday, March 17th, 2010

Ich habe gerade einen Schwung von etwa 20 meiner Artikel aus den Jahren 2006 bis 2008 hochgeladen. Alle stammen aus den Zeitschriften PC!Linux und linuxlife des WEKA-Verlages, der unter www.magnus.de residiert. linuxlife wurde Mitte 2009 auf Eis gelegt und ist derzeit auch im Weka-Onlineshop nicht nachzubestellen. Wahrscheinlich wird die Serie jedoch mit leicht verändertem Konzept bald fortgesetzt — ich wünsche es mir jedenfalls, denn das Team war nett, die Leserschaft kommunikativ und das Heft durfte Themen aller Schwierigkeitsgrade abbilden.

Wie dem auch sei: Die hochgeladenen Artikel findet Ihr unter cdprojekte.mattiasschlenker.de/Public/Artikel/, ich erspare es mir, jeden Artikel einzeln zu verlinken. Naturgemäß sind zwei bis vier Jahre alte Artikel nicht gerade die aktuellsten. Alles mit Workshop-Charakter ist daher sehr vorsichtig zu behandeln. Immerhin sind einige “zeitlose” Artikel dabei, wie die 64Bit-Einführung (PDF) (wer Flash-Probleme hat, wird einen 32Bit-Chroot zu schätzen wissen) oder die Einführung in Cygwin incl. X11 (PDF) sowie die beiden Artikel zum Thema PXE- und TFTP-Boot (PDF) oder zur freien Suchmaschine Yacy (PDF). Einige andere Artikel bspw. zum ersten EeePC spiegeln eher den Zeitgeist wider und lesen sich schon nach gut zwei Jahren wie Erinnerungen aus einer längst vergangenen Zeit…

Daneben hat Magnus.de selbst einige meiner Artikel online gestellt, ganz aktuell beispielsweise zu Grub 2 als Universalbootloader auf Linux- und Windows-Systemen (HTML) (trägt als Zeitstempel der Einstellung den 30. März 2010 :-) ) oder dessen Vorgänger auf Basis von Grub 0.97 (HTML).

Linux auf dem Asus A52JR

Monday, March 1st, 2010

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). (more…)

Mal wieder Mobiltelefone

Tuesday, February 9th, 2010

Wie Ihr wisst, kann ich mich einfach nicht entscheiden. Ein Ersatz für das E71 soll her: Ein Mobiltelefon, das auch Gelegenheiten zum Basteln gibt, eine recht zukunftssichere Plattform bietet und natürlich im Alltagsbetrieb nutzbar ist. In der Wahl war zeitweise auch das Nokia N97, weil es klein und leicht ist und die mit dem Symbian Series 60 5th Edition mitgelieferten Anwendungen in der Praxis durchaus brauchbar sind. Das ist jetzt aus meiner Wahl herausgefallen, Grund sind einige Tage Erfahrungen mit einem 5230 – mit dem ich sehr zufrieden bin. Wie kam das? (more…)

VMware Player 3.0 erschienen

Thursday, October 29th, 2009

Kaum frickelt man sich seinen VMware Player 2.5.3 zurecht, erscheint der finale 3.0er. Und der ist nicht nur schneller, sondern kommt wieder ein Stückchen näher an die Workstation-Version ran, der kostenlosen Konkurrenz vor allem in Form von VirtualBox sei Dank. Otto-Normaluser braucht die Workstation eigentlich nur noch dann, wenn er Festplattensnapshots setzen möchte.

Doch zunächst zu den technischen Finessen: Das Gtk-Problem besteht nun nicht mehr, Ihr könnt die im letzten Artikel gesetzte Umgebungsvariable also wieder entfernen. Vermutlich wurde auch das Kompilationsproblem gefixt, allerdings wage ich hier keine konkrete Aussage, denn eine Neuinstallation verhält sich hinsichtlich Update der Module immer ein wenig anders als eine komplette Neuinstallation auf einem sauberen System.

Auf einigen Host-Systemen soll der Player nun Aero- und Glass-Gäste beherrschen, auf die Schnelle habe ich davon auf dem Linux-Host mit nVidia-Closed-Source-Treiber nix gemerkt. Unity, also die Möglichkeit, die VMware-Fenster auf den Linux-Desktop zu holen, ist etwas schneller geworden, aber immer noch zu laggy (auf einer Vierkernmaschine mit 8GB RAM…), so dass ich nach wie vor Vollbild bevorzuge.

Herunterzuladen ist der Player wie immer hier.

Ubuntu 9.10 Karmic Koala und VMware Player

Sunday, October 25th, 2009

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.

(more…)

Nokia — Chance verpasst

Tuesday, August 25th, 2009

Zwei Neuigkeiten hat Nokia in den letzten Tagen vorgestellt, beziehungsweise wird sie demnächst auf der Nokia World vorstellen: Ein schlankes, schickes Netbook mit integrierter 3G-Unterstützung, sauberer Verarbeitung und einem Softwareumfang, der auf Geschäftsleute zielt. Und das RX51 — oder wahrscheinlich eher N900 genannte — Tablet, welches das N810 beerbt. Auf den ersten Blick eine Evolution, auf den zweiten Blick der iPhone-Killer, der eigentlich das N97 hätte sein sollen: Im Gegensatz zu seinen Vorgängern lässt sich das N900 auch im Hochformat nutzen und es bietet Telefonfunktionen.

Mit all den Neuerungen der letzten 12 Monate wird das größte Problem von Nokia deutlich: Die schier unüberschaubare Anzahl an Plattformen. Im Lowend-Bereich hat Nokia seine Series30-Oberfläche, die sich an die teureren Geräte anlehnt, aber keine Softwareinstallation bietet und meines Wissens kein Multitasking beinhaltet. Darüber steht Series40, schlank schnell, UMTS-tauglich und für einfache Telefone im Midrangebereich gedacht, aber auch für Edel-Telefone wie das 8800, bei denen neben Design die Telefonfunktion anerster Stelle steht. Darüber kommt Series60 auf SymbianOS in einer Version für Tastaturbedienung und einer Version für Touchscreens (wie das N97, 5800 oder 5230). Die Tablets 770, 800, 810 und jetzt das telefoniefähige N900 verwenden die Linux basierte Distribution Maemo, welche derzeit traditionell auf Gtk+ als Toolkit setzt. Nun kommt mit Windows 7 auf Netbooks eine weitere Plattform hinzu. Diese ist relevant, weil Nokia beispielsweise Programme wie den Ovi-Client auch auf der Netbook-Plattform anbieten muss. (more…)

Akoya E1210 und Kernel 2.6.30.5

Monday, August 17th, 2009

Mittlerweile ist der Ralink-Treiber für den 802.11n-Chipsatz des Medion Akoya E1210 im Mainline-Kernel gelandet. Zwar nur im experimentellen Staging-Zweig, aber zumindest für die Chipsatz-Revision des E1210 stabil genug für den täglichen Einsatz. Die Installation des separaten Ralink-Treibers entfällt damit. Unter Ubuntu 9.04 ist die Installation recht schnell bewerkstelligt:

  • Kopieren der Konfigurationsdatei: Zuerst wird die Konfigurationsdatei /boot/config-2.6.28-xx-generic als .config in das entpackte Kernel-Quellcode-Verzeichnis kopiert.

  • Neubau der Konfiguration: Hier rufen Sie das Kommando make oldconfig auf. Sie müssen nun einen Haufen Fragen beantworten. Falls Sie keine Lust haben, sich mit dem Inhalt der Fragen zu Treibern und Features auseinanderzusetzen, antworten Sie mit m (neue Funktion als Modul bauen) oder n (neue Funktion weglassen).

  • Aktivierung der Staging-Treiber: Rufen Sie make menuconfig auf und navigieren Sie zu “Device Drivers -> Staging Drivers”, wo Sie “Staging Drivers” aktivieren, indem Sie das Sternchen bei “Omit staging drivers from being built” herausnehmen. Jetzt können Sie den Treiber für Ralink 2860 aktivieren.

  • Bau und Installation des Kernels: Nach mehrfachem “Exit” wird die neue Kernelkonfiguration gespeichert. Bauen Sie mit make und installieren Sie den neuen Kernel mit make modules_install && make install.

  • Neubau der Bootloader-Konfiguration: Ich habe in der Datei /etc/initramfs-tools/initramfs.conf auf MODULES=list umgestellt und in der Folge in /etc/initramfs-tools/modules nur die Zeile i915 eingefügt. Anschließend baut mkinitramfs -o /boot/initrd.img-2.6.30.5 2.6.30.5 das neue Initramfs und update-grub erstellt die Bootloader-Konfiguration neu.

That’s it. Natürlich muss man bei Sicherheits-Updates am Kernel mit frischen Patches (und alter Config) neu bauen, aber diese Konfiguration läuft bei mir unter Ubuntu 9.04 stabil. Unter 9.10 wird sie wohl nicht mehr nötig sein.

Randnotizen, 26. Juni 2009: LessLinux, Android, SkyOS

Friday, June 26th, 2009

Nach langer Abstinenz wieder einmal ein paar Randnotizen zu Dingen, die in den letzten Tagen so aufgefallen sind:

  • LessLinux: Auch mit “meiner” eigenen, lose auf Linux From Scratch aufbauenden Live-Distribution LessLinux ging es in den letzten Wochen in vielen kleinen Schritten weiter. Mittlerweile wird viel Standard-Netzwerk-Hardware automatisch erkannt, WLAN kann mit WICD angesprochen werden, einige eigene Ruby-Gtk-Scripte sorgen für eine komfortable Installation auf USB-Stick oder die Erstellung von Containern mittels Cryptsetup.

    Jetzt kommt die Stelle, an der Ihr helfen könnt: Bitte ladet Euch den aktuellsten Build herunter und erstellt ein Hardware-Protokoll. Mit diesem Hardware-Protokoll (es enthält die Ausgaben von lspci, lsusb und lshw), habe ich es leichter, die Hardwareerkennung zu verbessern.

  • Android: Das Handy-Linux kommt nun auch mit einem Native Development Kit, mit dem sich native Linux-Anwendungen erstellen lassen, die direkt auf dem Linux des Android und nicht auf der aufgesetzten Dalvik VM laufen. Insbesondere die Portierung von Emulatoren und einigen Spielen, die SDL verwenden, dürfte vom NDK profitieren.

    Unterdessen zeigt Android bereits erste Fragmentierungserscheinungen: HTC stellte auf dem eigenen Telefon eine erweiterte Oberfläche “Sense UI” vor, die leider nicht auf die Telefone mit Google Branding kommen soll. Mal gespannt, ob das Resultat bald drei verschiedene Adressbuch-APIs sind.

  • SkyOS: Bei SkyOS handelte es sich bislang um proprietäres ein Ein-Mann-Betriebssystem. Ein C++-lastig implementiertes OS für 32-Bit-x86, das mit einer gut durchdachten Architektur glänzen kann. Als Problem stellte sich in den letzten Jahren jedoch die Treiber-Unterstützung heraus, zuletzt kam die Entwicklung fast zum Erliegen. Nun hat der Entwickler Robert Szeleney einen radikalen Schritt gewagt und SkyOS auf einen Linux-Kernel und ein minimales Linux-Userland gestellt. Die Vorgehensweise erinnert etwas an NeXTstep bzw. MacOS X. Auf jeden lohnt es sich, ein Auge auf die weitere Entwicklung zu werfen. Mehr im Blog von Robert Szeleney

  • Netbooks: In den letzten Monaten hat sich hier wenig getan. Netbooks sind beinahe eine Commodity und unterscheiden sich nur noch im Preis. Die letzten Juli für 399 Euro verkauften Medion Akoya E1210 gibt es nun als B-Ware für 219 Euro. Da fällt es umso positiver auf, dass HP mit dem hübschen, wenn auch nicht ganz billigen HP 5101 zeigt, dass Alu und Magnesium im Understatement-Gehäuse noch ihre Berechtigung haben. Nachtrag, 30. Juni: Golem hat Details und Bilder der hierzulande verkauften Version mit UMTS.

Mal wieder: Mattias und Mobiltelefone

Monday, June 22nd, 2009

Ach, wenn es doch so einfach wäre: Im letzten Jahr bin ich zum richtigen Mobiltelefon-Afficionado gereift, lieb gewonnen habe ich besonders das minimalistische F3 und mein ständig E71, das — dank wunderbarer Daumen-Tastatur — auch als mobile Blog- und Twitter-Maschine dient.

Dennoch juckt es mich irgendwie in den den Fingern und ich hätte gerne ein zweites, etwas weniger vernünftiges “modernes” Telefon. Ein Spielzeug, an dem man sehen kann, was zur Zeit Stand der Technik ist: Location Based Services, Social Networking, Medienplayer, aber auch Geek-Spielzeug und ein wenig Testumgebung für eigene Programme. Heiss sind derzeit:

  • iPhone 3GS
  • Palm Pre
  • Nokia N97
  • T-Mobile G1
  • HTC Magic

Dumm nur, dass alle irgendwie nerven: (more…)

Teilerfolg mit Broadcom BCM4312

Monday, May 11th, 2009

Ich habe am Wochenende die Stunde Zeit gefunden, mit der Broadcom unseres HP2133 zu experimentieren. Erfolgreich war ich schließlich mit Ndiswrapper und der aktuellen Version von HPs Treiber für XP. Mit den originalen Broadcom-Treibern konnte ich lediglich zuverlässig Kernelfreezes produzieren.

Das Kuriose: Die Kontaktaufnahme mit meinen Netzen funktioniert zuverlässig nur mit einer /etc/wpa_supplicant/wpa_supplicant.conf und nur wenn ich den wpa-supplicant mit -d im Debug-Modus starte, einige Sekunden warte und dann den dhclient ausführe. Sowohl mit wpa-supplicant im stillen Background-Modus -B als auch mit dem Network-Manager schlägt die Verbindung fehl.

Nichts wildes, erstelle ich halt ein kleines Shellscript, welches die Verbindungsaufnahme triggert. Was mich stutzig macht, ist das ich ähnliche Probleme — ebenfalls mit Ubuntu 9.04 mit meinem Medion Akoya E1210 habe. Der dort enthaltene Ralink-Chipsatz funktionierte mit älteren Ubuntu-Versionen problemlos.