Don't understand german? Read or subscribe to my english-only feed.

Hackerkochen in Graz

February 28th, 2007

Otti lädt zum Hackerkochen, am 05.03.2007 ab 18 Uhr im Medienkunstlabor
in Graz. Was das ist und weitere Details sind der Einladung zu Entnehmen.

grml @ Chemnitzer Linux Days 2007

February 28th, 2007

The countdown is running… On 3rd and 4th of March 2007 the Chemnitzer Linux Days will take place.

We’ll present grml (Linux Live-CD for sysadmins / texttool-users / geeks) at a booth there! If everything works as intented we will have a demo system as well as CDs of a special grml release named “Dioptrienotto @ clt07”:

Screenshot of grml clt07 release

Several grml developers will be there and I’m looking forward to meet formorer for the first time in RL. 8-)

Hope to see you there! :-)

Edit webpage with Javascript

February 26th, 2007
javascript: document.body.contentEditable = 'true'; document.designMode = 'on'; void 0

Visit any web page, clear the address bar and paste the above line into it. Press return and edit the webpage as you like. :) Works at least in Firefox, Internet Explorer and Opera.

BTW: I hope all of you know Firebug. (Opera will bring a similar feature known as Developer Console with version 9.20.)

Vista: Benutzer [nicht] automatisch anmelden

February 26th, 2007

Seufz. Gegeben ist ein Windows Vista Home Premium wie es auf Komplettrechnern typischerweise ausgeliefert wird. Der vordefinierte automatische Login ist nicht gewollt und Benutzerkonten wurden manuell hinzugefügt, trotzdem wird man mit dem Default-Benutzer beim Booten automatisch (ohne Passwort-Abfrage) eingeloggt. Müsste doch eine Kleinigkeit sein, das im Benutzerkonten-Dialog der Systemsteuerung umzustellen, oder? Denkste…. da ist nichts zu finden. Na dann schauen wir halt mal in das Benutzer-Snap-In der mmc (Microsoft Management Console). Nix da – ‘Auf diesem Computer wird Windows Vista Home Premium ausgeführt. Dieses Snap-In kann mit dieser Windows-Version nicht verwendet werden. Verwenden Sie die Option “Benutzerkonten” in der Systemsteuerung, um lokale Benutzerkonten auf diesem Computer zu verwalten.’ Argl! Die super-intuitive offizielle Lösung um an den ‘Erweiterte Benutzerkonten’-Dialog zu kommen:

Start -> Ausführen -> netplwiz -> '[x] Strg+Alt+Entf drücken ist für die Anmeldung erforderlich'

Zum Glück funktioniert wenigstens der von früheren Windows-Versionen bekannte Weg via ‘control userpasswords2’ noch…

argument list too long

February 26th, 2007

A problem everyone stumbles across (at least) once:

% tar zcf stats_2005.tar.gz stats_2005*
zsh: argument list too long: tar

The reason? Too many files for the ARG_MAX limit. ARG_MAX defines the maximum length of arguments to the exec function (more precise: bytes of args plus environment for exec), defined in /usr/include/linux/limits.h on your Linux system:

% ls -la | grep -c stats_2005
9037
% getconf ARG_MAX
131072
% cpp << EOF | tail -1
#include <limits.h>
ARG_MAX
EOF
131072
%

Ok. But how to work around the issue? Possible solution for GNU:

% find . -name 'stats_2005*' > filelist
% tar zcf stats_2005.tar.gz --files-from filelist

Without the temporary file (filelist in our example):

% find . -name 'stats_2005*' -print | tar zcf stats_2005.tar.gz --files-from -

zsh provides zargs (but AFAIK it doesn’t work with gzip in the same command line due to the way zargs works, so create the archive in one step and compress it in another step later):

% autoload zargs
% zargs -- stats_2005* -- tar --ignore-failed-read -rpf stats_2005.tar

The approach works with other tools than tar as well of course, usage example for afio:

find . -name 'stats_2005*' -print | afio -o -Z stats_2005.afio

Depending on the type of problem (rm, cp, mv,…) you can choose differented approaches as well, some further examples:

% for file in stats_2005* ; do rm -f -- "$file" ; done
% perl -e 'unlink <stats_2005*>'
% zsh -c 'zmodload zsh/files && rm -f -- stats_2005*'
% zsh -c 'autoload -U zargs; zargs -r ./stats_2005* -- rm -f'
% ksh93 -c 'command -x rm -f -- stats_2005*'
% find . -maxdepth 1 -name 'stats_2005*' -print0 | xargs -r0 rm -f
% find . -name 'stats_2005*' -print0 | xargs -0 mv -i --target-dir=/destination
% zmodload zsh/files ; mv -- stats_2005* /destination

zsh: insert-unicode-char

February 24th, 2007

Ever wanted to insert a character in your terminal but don’t have a keybinding for that character? zsh provides a nifty feature called insert-unicode-char:

autoload insert-unicode-char
zle -N insert-unicode-char
bindkey '^Xi' insert-unicode-char

Figure out the character’s code (take a look at unicode.org/charts/ for example) and press ‘ctrl-x i’, followed by the character’s code and press ‘ctrl-x i’ once more. Usage example: ‘ctrl-x i 00A7 ctrl-x i’ will give you an ‘§’.

Windows Vista

February 23rd, 2007

Windows Vista - About

Bisher hatte ich nur mit Pre-Builds von Windows Vista zu tun (im Speziellen wegen meinem Trusted Computing-Seminarprojekt auf der Uni), dieser Tage hab ich mir einmal die endgültige Version von Microsoft Windows Vista Business Edition (Build 6000) ein wenig angeschaut. Als Referenz für mich selbst mal ein kurzer Braindump und ein paar URLs.

Positiv zu erwähnen ist, dass die Installation rasch (~20-30 Minuten) und mit nur wenigen Fragen von der Hand geht. Das Look’n’Feel ist insgesamt OK (wirkt ein bisschen wie ein Konglomerat aus Linux und Mac OS), der Default ist zumindest besser als unter Windows XP (was aber halt kein Kunststück ist). Die Windows-Firewall (‘mmc WF.msc’) hat dazugelernt: feinere Einstellmöglichkeiten und nun auch die Möglichkeit Outgoing zu filtern.

Natürlich gibt es auch wieder einiges Negatives zu vermelden: der MBR wird noch immer ohne Rückfrage und ohne Rücksicht auf Verluste überschrieben. Eine Installation auf externer USB- oder Firewire-Festplatte ist nach wie vor nicht möglich (welches Jahr schreiben wir doch noch mal?), die High Definition Audio Soundkarte wurde gar nicht erst erkannt (hallo?). Bitlocker (Laufwerksverschlüsselung) gibt es leider nur in der Ultimate-Edition *grml*. Virtuelle Desktops gibt es leider nach wie vor nicht out-of-the-box. Mit DRM soll die Profitsicherheit der Medienindustrie auf Kosten der Rechenleistung und des Benutzers gewährleistet werden, während für die Sicherheit des Benutzers nur wenig Verbesserung in Aussicht ist. Die UAC-Popups (User Account Control) – der Default-User ist ja nach wie vor automatisch Mitglied der Gruppe Administratoren – sind derart präsent, dass der Grossteil der Benutzer wohl per Reflex einfach auf ‘Allow’ klickt oder UAC generell abstellt. Zum Beispiel ist der Internet Explorer mit Flash-Plugin und aktivierter UAC auf Dauer nicht zum Aushalten. Ein Windows Update erfordert typischerweise nach wie vor einen Reboot.

Was ich mir noch anschauen möchte: Vista bringt iSCSI-Software schon von Haus aus mit, iscsicli (iSCSI discovery tool) und iscsicpl (iSCSI initiator discovery tool). Nachdem iSCSI auch von grml unterstützt wird und das bei mir schon seit Langem auf der Todo-Liste steht, werde ich da wohl mal ein bisschen was machen müssen. :)

Es stecken natürlich noch weitere Neuigkeiten unter der Haube. Ein verbesserter Suchdialog, neue Backupmöglichkeiten, der Internet Explorer hat Features gelernt, die andere Browser schon seit Ewigkeiten können,… Ich hab eine kleine Roadshow an Screenshots online gestellt. Wie gut sich das alles in der Praxis bewähren kann, wird sich natürlich erst zeigen…

Nice-to-have Software:

Security-mäßig:

Unsortiertes:

Dr. House – DVD: 1. Staffel

February 11th, 2007

*

In Dr. House spielt Hugh Laurie als Dr. Gregory House einen Schmerzmittel-süchtigen und "ruppigen", aber fachlich umso kompetenteren Arzt in der Abteilung für diagnostische Medizin in einem Krankenhaus in New Jersey. Ich steh auf den Humor und freue mich schon auf die 2. Staffel. Wer die Serie noch nicht kennt sollte einen Blick auf Dr. House @ wikiquote und die Video-Ausschnitte bei youtube werfen. Informationen zu Dr. House im Fernsehprogramm gibt’s bei serienjunkies.de. Auch wenn die DVD-Specials im Vergleich zu anderen DVDs vielleicht ein bisschen kurz und knapp ausfallen – momentan meine absolute Lieblingsserie.

OpenWRT on Asus WL-500G Premium

February 10th, 2007

Image of Asus WL-500G Premium

I’ve the Asus WL-500G Premium access point since more than 2 month at home. I bought it for being able to play with OpenWrt without touching my productive setup. Now I finally found the time to install OpenWrt on it. There’s documentation available in the openwrt-wiki, but again JFTR (for myself) I document the relevant steps.

Downloaded openwrt-brcm-2.4-jffs2-4MB.trx [md5: c11b1b3b16a804aa3a190413f69a7510] (cause it works, thanks mabu) and uploaded the firmware image via tftp:

% tftp 192.168.1.1
binary
rexmt 1
timeout 60
trace
put openwrt-brcm-2.4-jffs2-4MB.trx

After waiting a few minutes and another reboot I could access the webinterface. Setting the password failed in the first try and needed another reboot (known problem). Accessing the interface via ssh works then:

root@OpenWrt:~# uname -a
Linux OpenWrt 2.4.30 #1 Sun Mar 26 19:02:04 CEST 2006 mips unknown
root@OpenWrt:~# free
              total         used         free       shared      buffers
  Mem:        14348         8280         6068            0            0
 Swap:            0            0            0
Total:        14348         8280         6068
root@OpenWrt:~# nvram
usage: nvram [get name] [set name=value] [unset name] [show]
root@OpenWrt:~# nvram get vlan1ports
0 5u
root@OpenWrt:~# nvram get wan_ifname
eth0
root@OpenWrt:~# nvram get lan_ifnames
vlan0 eth1
root@OpenWrt:~# nvram get lan_ifname
br0
root@OpenWrt:~# nvram get sdram_init
0x000b
root@OpenWrt:~# nvram get sdram_ncdl
0x309
root@OpenWrt:~# nvram set sdram_init=0x0009
root@OpenWrt:~# nvram set sdram_ncdl=0
root@OpenWrt:~# nvram commit
root@OpenWrt:~# reboot
[...]
root@OpenWrt:~# free
              total         used         free       shared      buffers
  Mem:        30556         7488        23068            0            0
 Swap:            0            0            0
Total:        30556         7488        23068
root@OpenWrt:~#

Now I’ll play around with OpenWrt. If you have suggestions for other firmware versions/variants that work as well and are worth a look please let me know. :)

kvm – Kernel-based Virtual Machine for Linux

February 9th, 2007

Virtualisierung ist ja in aller Munde. Xen, UML, vserver,… (einen schönen Überblick gibt es übrigens auf kernelnewbies.org). KVM (Kernel-based Virtual Machine) hat mit Kernel 2.6.20 Einzug in den Mainline-Linuxkernel gefunden und wer eine CPU mit VT-Support hat, kann das voll auskosten.

grml 0.9 bringt das Kernelmodul für kvm übrigens schon mit. Um das also mal auszuprobieren, muss man auf grml einfach nur folgendes ausführen:

apt-get update ; apt-get install kvm
modprobe kvm
kvm -cdrom $ISO

"$ISO" ersetzt man mit einem bootfähigen ISO. Für eine kurze Demo kann ich das nicht mal 4MB kleine ttylinux empfehlen, also einfach folgendes ausführen:

wget http://www.minimalinux.org/ttylinux/packages/bootcd-i386-5.3.iso.gz
gzip -d bootcd-i386-5.3.iso

Aja, kvm funktioniert auch ohne VT-Support seitens der CPU, dann läuft es halt einfach ohne Hardware-Beschleunigung. :-)

Ein stinkender USB-Stick

February 9th, 2007
# cfdisk /dev/sda

FATAL ERROR: Bad primary partition 0: Partition ends in the final partial cylinder

Huh?!

# sfdisk -d /dev/sda
# partition table of /dev/sda
unit: sectors

/dev/sda1 : start=       63, size=  2015168, Id= 6, bootable
/dev/sda2 : start=        0, size=        0, Id= 0
/dev/sda3 : start=        0, size=        0, Id= 0
/dev/sda4 : start=        0, size=        0, Id= 0

# fdisk -l /dev/sda

Disk /dev/sda: 1031 MB, 1031798272 bytes
255 heads, 63 sectors/track, 125 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1         126     1007584    6  FAT16
Partition 1 has different physical/logical endings:
     phys=(124, 254, 63) logical=(125, 112, 50)

Tsss…. Eine Behandlung mit fdisk hilft natürlich, aber das ist wohl die Strafe, wenn man USB-Sticks bei Peluga holt. (Disclaimer: ich war grad in der Nähe und hab Ersatz für meinen im NSLU2 verbauten gebraucht.)

Debian on the NSLU2

February 9th, 2007

NSLU2 - Image

I recently bought a NSLU2 featuring 1x ethernet port and 2x USB 2.0 ports – available for about 80 euro. My plan is to integrate the device in my network as backup system. The original firmware might be nice for John Doe User but I’d like to use Debian featuring stuff like rsync, dirvish,… on it. Thanks to current d-i and Martin Michlmayr’s webpage Debian on NSLU2 that’s pretty easy. I’m using a 1GB usb pen for the Debian system itself and an external usb disk as backup medium. JFTR some notes…

First of all get the firmware from slug-firmware.net, chose the ‘Debian/NSLU2 (debian-installer)’ version (debian-etch-rc1-20061102.zip, md5: de3821ee5d80d87541abdb47f5eae085). As described on Martins webpage go either to the firmware upgrade dialog within the webinterface or use upslug2. Using the webinterface I had to plug in the usb pen in port ‘disk 2’, otherwise upgrading the firmware fails with ‘not enough free memory’.

After firmware upgrade has finished and the box finished rebooting just ssh to the box (use an utf8-enabled terminal) and d-i starts up. I changed the network setup from static IP (192.168.1.77 by default) to DHCP within d-i and prepared my network setup on my laptop:

# cat /etc/network/interfaces
[...]
iface ap inet static
      address 192.168.10.1
      netmask 255.255.255.0
      network 192.168.10.0
      broadcast 192.168.10.255
[...]
# ifup b44=ap ; Start dnsmasq ; grml-router start
# ip route add 192.168.10.188 via 192.168.10.1

That’s it. Just ssh to the box again (‘uxterm -e ssh installer@192.168.10.188’) and continue the installation straight forward.

mika@NSLU:~$ uname -a
Linux NSLU 2.6.18-3-ixp4xx #1 Tue Dec 5 16:52:07 UTC 2006 armv5tel GNU/Linux
mika@NSLU:~$ cat /proc/cpuinfo 
Processor       : XScale-IXP42x Family rev 1 (v5l)
BogoMIPS        : 266.24
Features        : swp half fastmult edsp 
CPU implementer : 0x69
CPU architecture: 5TE
CPU variant     : 0x0
CPU part        : 0x41f
CPU revision    : 1
Cache type      : undefined 5
Cache clean     : undefined 5
Cache lockdown  : undefined 5
Cache format    : Harvard
I size          : 32768
I assoc         : 32
I line length   : 32
I sets          : 32
D size          : 32768
D assoc         : 32
D line length   : 32
D sets          : 32

Hardware        : Linksys NSLU2
Revision        : 0000
Serial          : 0000000000000000
mika@NSLU:~$ mount 
/dev/sda1 on / type ext3 (rw,noatime,errors=remount-ro)
tmpfs on /lib/init/rw type tmpfs (rw,nosuid,mode=0755)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
procbususb on /proc/bus/usb type usbfs (rw)
udev on /dev type tmpfs (rw,mode=0755)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=620)
mika@NSLU:~$ df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda1             773M  399M  335M  55% /
tmpfs                  15M     0   15M   0% /lib/init/rw
udev                   10M   32K   10M   1% /dev
tmpfs                  15M     0   15M   0% /dev/shm
mika@NSLU:~$ 

That’s it. :-)

bisect – Probleme Debuggen mit Binärer Suche

February 3rd, 2007

Absolut keine Neuheit, aber weil ich es gerade gebraucht habe und man die binäre Suche – die man zumindest aus der Datenstrukturen-Vorlesung kennen sollte ;-) – so schön in der Praxis anwenden kann und das eigentlich jeder kennen sollte, möchte ich das mal kurz erwähnen.

Problemstellung? Im aktuellem grml-Build habe ich festgestellt, dass es in der aktuellen udev-Version ein Problem mit der linux-raid-Erkennung via vol_id gibt. In irgendeiner Version von udev kam also ein Changeset hinzu, das dieses Problem verursacht. Durch die Verwendung von git-bisect war das Problem sehr schnell eingegrenzt und ich konnte Upstream das Changeset nennen, welches das Problem versursacht.

Der Ablauf:

Source holen:
% git clone git://www2.kernel.org/pub/scm/linux/hotplug/udev.git
% cd udev

bisect initialisieren:
% git bisect start
% make clean ; make ; $TESTEN

Der aktuelle Source (master-Branch) macht den Stress? Dann als böse markieren:
% git bisect bad

Auf eine funktionierende Version stellen (siehe 'git log', $commit-id auswählen und als $branch_name markieren):
% git checkout -b $branch_name $commit-id

Klappt das mit $commit-id noch? Testen und als gut markieren:
% make clean ; make ; $TESTEN
% git bisect good

Jetzt geht das Spiel mit “git bisect [good|bad] ; make clean ; make ; $TESTEN” so lange, bis man ein ‘$commit-id is first bad commit […]’ erhält. Das geht ziemlich schnell [O(log n)] und man hat dann auch schon den konkreten Übeltäter gefunden. :)

Ach ja, mein favorisiertes Versionkontrollsystem (mercurial) bietet ebenfalls eine Bisect-Extension.

Fluuuuuug

February 2nd, 2007

Mir war heute auf der Pack einfach zu viel Verkehr, darum hab ich heute halt mal den Flieger von Graz nach Klagenfurt genommen:

Mika im Flieger

Das Wetter in Kärnten war einfach spitze, hier die Sicht auf den Wörthersee Richtung Klagenfurt:

Bild: Flug über den Wörthersee

Der Pilot war übrigens einer meiner Brüder. Danke Ali, Luftlinie rockt. 8-)

Grml-Umfrage

January 28th, 2007

Was mögen grml-User eigentlich an grml? Stimmt die Richtung die grml geht? Was machen grml-User eigentlich mit grml? Das und einiges mehr möchten wir herausfinden. Genau darum gibt es die grml user survey. Und ich möchte all jene unter euch, die ebenfalls grml verwenden bitten, daran teilzunehmen!

Einfach grml.org/user-survey/grml.txt runterladen, ausfüllen und per Mail an mich. Danke!

Chemnitzer Linux-Tage 2007

January 24th, 2007

Die Chemnitzer LinuxTage finden heuer am 3. und 4. März statt. Das Vortrags-Programm ist soeben online gegangen. Ich bin heuer mit dem Vortrag "Erfolgreiche OpenSource Projekt-Maintenance" vertreten (der auf der Idee meines Blog-Artikels ‘Die Gesetze von OpenSource‘ basiert). Ich hoffe die Zusage für den grml-Stand trudelt auch noch ein.

Auf alle Fälle freue ich mich schon auf das Event. Nicht nur weil das Programm einige interessante Vorträge verspricht, auch weil wir ein grml-Entwicklertreffen haben werden und man viele bekannte Gesichter wieder mal sieht. Ach ja, und auch neue Gesichter: Alexander ‘formorer’ Wirt aus dem grml-Team treffe ich das erste Mal in RL. 8-)

Chemnitz, ich komme! :)

Zim – ein Desktop-Wiki

January 23rd, 2007

Zim ist ein Desktop-Wiki. Man braucht also keinen Webserver um sich eine "wiki-ähnliche Todo-Liste" auf den Desktop zu holen. Ein einfaches ‘aptitude install zim’ reicht auf Debian. So schaut das im Einsatz z.B. aus:

Screenshot of Zim

Das originale gtk-Theme gefällt mir übrigens kein bisschen *grusel*. Deshalb habe ich das Look’n’Feel jenem auf der Screenshot-Seite des Projektes angepasst. Dazu muss man unter Debian einfach nur die Pakete tango-icon-theme und gtk2-engines installieren und dann ~/.gtkrc-2.0 wie folgt ausstatten:

gtk-theme-name = "Clearlooks"
gtk-icon-theme-name = "Tango"

Zim scheint sich ganz schön in meine Arbeitsweise zu integrieren (nicht alles will ich in einem richtigen Wiki oder BTS verwalten). Zim selbst verwendet einfache Textdateien. Auf meiner Wunschliste steht deshalb noch Versionskontrolle vom zim-Projektverzeichnis (z.B. via mercurial). Also gleich mal auf die Todo-Liste setzen. ;-)

advchk – Sicherheit der installierten Software überprüfen (Update)

January 22nd, 2007

advchk ist ein Tool, das anhand einer definierten Software-Liste diverse (konfigurierbare) Security-Feeds (RSS/RDF/XML) abklappert und dann meldet, falls die installierte Softwareversion laut der bekannten Lücken verwundbar ist. Der Autor beschreibt es wie folgt:

Advchk (Advisory Check) reads security advisories so you don’t have to.

advchk is a tool for monitoring the security of installed software.
Advisory Check gathers security advisories using RSS / RDF / XML feeds,
compares them against a list of known software, and alerts you if
you’re vulnerable.

Das funktioniert nicht nur für Debians dpkg, sondern auch für pkginfo/pkg_info, rpm, lpp und portage. Hier ein Praxisbeispiel für Debian (Anmerkung: von Upstream wird addfeeds.sh geliefert, in meinem Debian-Paket heißt das advchk-addfeeds):

Eine vordefinierte Liste von Feeds der Datenbank von advchk hinzufügen:
% advchk-addfeeds

Paketliste erstellen:
% dpkg -l > $(hostname).list

Falls ein Feed ungewünscht ist (oder nicht funktioniert) einfach aus der Datenbank entfernen:
% advchk -r http://packetstormsecurity.org/advisories.xml

Und los geht's mit dem Check:
% advchk -c

Man kann advchk natürlich in cron integrieren (Details siehe manpage), durch den eingebauten ssh-Support lassen sich auch andere Rechner integrieren und überwachen. So wird das Paket speziell für jene Leute interessant, die einen heterogenen Rechnerpark zu verwalten haben.

Ich finde advchk auf alle Fälle interessant und habe daher ein Debian-Paket erstellt (wie immer in mercurial verwaltet). Das .deb befindet sich im grml-testing Pool. Den Upstream-Autor habe ich wegen der Lizenz kontaktiert (laut Homepage ‘2-clause-bsd’, aber eine Lizenz im Tarball selbst fehlt) Update: das Lizenz-Problem wurde gelöst, Upstream hat netterweise Version 1.03 mit Lizenzdatei veröffentlicht. Falls jemand Ideen bezüglich Features für das Debian-Paket haben sollte bitte her damit.

Cross compile the Linux kernel on Debian

January 21st, 2007

As my ppc-based efika system is quite slow at building kernel packages I decided to cross compile the kernel on my x86 box. JFTR the necessary steps on a Debian system:

Adjust $KERNELSOURCE/Makefile to:

ARCH            = powerpc
CROSS_COMPILE   = powerpc-linux-gnu-

Thanks to the Embedded Debian project you can easily get the necessary gcc as Debian package. Just add the Embedded Debian pool to your /etc/apt/sources.list:

deb http://www.emdebian.org/debian/ unstable main

… and install the package ‘gcc-4.1-powerpc-linux-gnu’.

Make sure that the environment variable ARCH is set to ‘powerpc’ if you are using a kernel >=2.6.16, otherwise use ‘ppc’ (or whatever you need).

export ARCH=powerpc

If you are using make-kpkg for building the kernel-package make sure to use the arch-option:

make-kpkg --arch powerpc ...

I had problems with getting the vmlinuz image. The relevant files (the /usr/lib/$KERNEL stuff) weren’t present in the kernel package but without the vmlinuz image my OpenFirmware based system doesn’t boot. Thanks to Sven Luther I could hack my own Makefile and finally got a vmlinuz image using mkvmlinuz:

/usr/sbin/mkvmlinuz -o /boot/vmlinuz-2.6.19-grml 2.6.19-grml

Now I’m running my first grml-kernel on ppc:

root@grmlppc ~ # uname -a
Linux grmlppc 2.6.19-grml #2 PREEMPT Sat Jan 20 20:26:15 CET 2007 ppc GNU/Linux

Debian on the Efika-Board

January 17th, 2007

I received an efika board at the end of 2006. Now I had some time to investigate on that. I want to use Debian on the board of course to be able to work on grml-ppc.

My setup involves the following hardware:

  • the efika board ;)
  • a 2.5" western digital harddisk
  • an ATX power supply
  • a nullmodem cable
  • an USB to IDE/SATA adapter
  • my laptop with ethernet cable plus USB to serial adapter running grml

First of all I downloaded d-i image from efika.de and copied it to the harddisk intended for use in the efika board. Then I connected the efika board with my laptop using the USB to serial adapter and the nullmodem cable. Giving power to the board using the ATX power supply and starting screen on my laptop then:

% screen -S console -m -c /dev/null /dev/ttyUSB0 115200

There we are – the board is booting:

screenshot of booting efika

The ‘ok’ is the bootprompt of the OpenFirmware. Using the command devalias I can figure out that the harddisk is accessible via hd:0 so my commandline looks like:

boot hd:0 di_efika root=/dev/sda1 console=ttyPSC0 rootdelay=20

And then we are booting into d-i:

screenshot of d-i at efika

Using grml-router I can use my laptop as gateway for setting up network stuff within a few seconds. So just stepping through d-i then. If you need further assistance take a look at Efika Install @ littlefe.net.

Then I downloaded kernel and modules from efika.de and installed them. After some more fine-tuning (installing ssh server package, activating network interface,…) I could boot into my Debian system using:

boot hd:1 /boot/kernel_efika root=/dev/sda2 console=ttyPSC0

If you notice any problems with your system the bootoptions ‘rootdelay=20 panic=10 init=/bin/sh’ might be useful for further investigation.

The last step included installing zsh and vim using grml’s configuration files of course. :-)

screenshot of login

Finally JFTR:

root@grmlppc ~ # cat /proc/cpuinfo
processor       : 0
cpu             : G2_LE
clock           : 396.000000MHz
revision        : 1.4 (pvr 8082 2014)
bogomips        : 65.53
timebase        : 33000000
platform        : Efika
machine         : EFIKA5K2 CHRP PowerPC System
revision        : 2B3
vendor          : bplan
root@grmlppc ~ # lspci
00:1c.0 Bridge: Motorola MPC5200B
root@grmlppc ~ # free
             total       used       free     shared    buffers     cached
Mem:        125080      29736      95344          0       2244      18408
-/+ buffers/cache:       9084     115996
Swap:       979956          0     979956

Useful resources: