<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Hanfis Weg in die Hölle &#187; hanfi</title>
	<atom:link href="http://blog.spahan.ch/author/hanfi/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.spahan.ch</link>
	<description>oder zumindest in deren Nähe</description>
	<lastBuildDate>Sun, 25 Dec 2011 23:31:14 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>rootserver mit verschlüsseltem root auf debian</title>
		<link>http://blog.spahan.ch/2011/12/rootserver-mit-verschlusseltem-root-auf-debian/</link>
		<comments>http://blog.spahan.ch/2011/12/rootserver-mit-verschlusseltem-root-auf-debian/#comments</comments>
		<pubDate>Fri, 23 Dec 2011 20:33:11 +0000</pubDate>
		<dc:creator>hanfi</dc:creator>
				<category><![CDATA[Maschienenraum]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[boot]]></category>
		<category><![CDATA[dropbear]]></category>
		<category><![CDATA[luks]]></category>
		<category><![CDATA[lvm]]></category>
		<category><![CDATA[mdadm]]></category>
		<category><![CDATA[ssh]]></category>

		<guid isPermaLink="false">http://blog.spahan.ch/?p=338</guid>
		<description><![CDATA[Auf meinem neuen rootserver wollte ich die Root-Partition LUKS-verschlüsseln.
Debian unterstützt dieses vorgehen fast ohne manuelle eingriffe, wobei ein paar Details zu beachten sind.

In meinem Fall sind die beiden 3TB Festplatten in 2 Partitionen unterteilt, einmal eine kleine (1GB) /boot partition und eine LUKS-verschlüsselte LVM für alles andere.
Das LVM erlaubt es mir, Partitionen einfach anzupassen ...]]></description>
			<content:encoded><![CDATA[<p>Auf meinem neuen rootserver wollte ich die Root-Partition LUKS-verschlüsseln.<br />
Debian unterstützt dieses vorgehen fast ohne manuelle eingriffe, wobei ein paar Details zu beachten sind.</p>
<p>In meinem Fall sind die beiden 3TB Festplatten in 2 Partitionen unterteilt, einmal eine kleine (1GB) /boot partition und eine LUKS-verschlüsselte LVM für alles andere.<br />
Das LVM erlaubt es mir, Partitionen einfach anzupassen wenn es irgendwo knapp wird (die betrifft vor allem die Home-partitionen).<br />
Das setup habe ich vor dem installieren aus dem rescue-system meines ISPs eingerichtet, die Anleitung im <a href="http://www.debian.org/releases/stable/amd64/apds03.html.en">Debian-Handbuch</a> ist dabei hilfreich (suche nach debootstrap).</p>
<p>Das Problem mit LUKS ist, dass das Passwort/Keyfile im initramfs vorhanden sein muss, sonst kann die HD nicht entschlüsselt werden. Normalerweise fragt das initramfs beim booten nach dem Passwort, was aber bei einem headless rootserver im Rechenzentrum nicht geht.<br />
Der Trick besteht darin, einen ssh-server ins initramfs einzubauen, und den key dann über ein keyscript an cryptsetup weiterzureichen. Der normale openssh ist dafür etwas zu gross, daher verwende ich den dropbear sshd. Dieser ist Bestandteil vieler busybox-installationen auf (zum Beispiel) Routern und das von debian verwendete update-initramfs-script benützt es automatisch wenn eine verschlüsselte root-partition gefunden wird (man kann es aber auch in /usr/share/initramfs-tools/conf-hooks/dropbear erzwingen).</p>
<p>Dann muss man noch die /etc/crypttab anpassen.</p>
<pre>md1_crypt /dev/md1 none luks,tries=0,keyscript=/lib/cryptsetup/keyscript</pre>
<p>Den Key auf &#8220;none&#8221; setzten; tries=0 erzwingt ewiges warten im initramfs bis das keyscript den korrekten Key liefert.<br />
Das Keyscript prüft ob der key existiert, und falls ja gibt es ihn zurück</p>
<pre>if [ -f /lib/cryptsetup/passfifo ]; then
    cat /lib/cryptsetup/passfifo
fi</pre>
<p>Das Keyscript wird am einfachsten auf dem host in /lib/cryptsetup/ abgelegt, damit die initramfs-tools es automatisch finden.</p>
<p>Um einfach einzuloggen (ohne passwort) ist es ratsam, den eigenen public key in /etc/initramfs-tools/root/.ssh/authorized-keys anzugeben. Falls die Datei nicht existiert erzeugt initramfs ein eigenes Key-paar, und hinterlegt es im initramfs (schlechte Idee).</p>
<p>Damit ist man fast fertig. Erhält der Server seine IP per DHCP, kann man das interface einfach in /etc/initramfs-tools/initramfs.conf als DEVICE angeben. Will man eine statische öffentliche IP vergeben, so muss man die parameter als kernel-boot-parameter übergeben. In meinem Fall (Grub2, hetzner setup) füge ich also</p>
<pre>GRUB_CMDLINE_LINUX="ip=88.198.59.12::88.198.59.1:255.255.255.224:::none"</pre>
<p>zu /etc/default/grub hinzu. Die parameter kann man in der Linux-Dokumentation unter /usr/src/linux/Documentation/filesystems/nfs/nfsroot nachlesen (das ganze ist dafür gedacht nfs-Volumes als root einzubinden, aber es funktioniert auch für andere Dinge). Die leeren Parameter werden für nfs-boot gebraucht.<br />
Falls dass nicht klappt, kann man auch ein simples script in /etc/initramfs-tools/scripts/init-premount/mount-boot hinterlegen:</p>
<pre>PREREQ="udev devpts"
prereqs() {
    echo "$PREREQ"
}
case "$1" in
    prereqs)
        prereqs
        exit 0
    ;;
esac
. /scripts/functions
ifconfig eth0 inet pointopoint 88.198.59.1 88.198.59.12/32</pre>
<p>Damit ist alles bereit und der Server hält beim booten an, bis in der Datei /lib/cryptsetup/passfifo der Korrekte Key hinterlegt wird.<br />
Der Key muss nach dem booten nicht gelöscht werden da initramfs eh nur im RAM liegt und bald überschrieben sein sollte.</p>
<p>Um sich einzuloggen verwendet man dann etwas in der Art</p>
<pre># ssh -o "UserKnownHostsFile=~/.ssh/known_hosts.initramfs" \
	-i "~/id_rsa.initramfs" root@initramfshost.example.com \
	"echo -ne \"secret\" &gt;/lib/cryptsetup/passfifo"</pre>
<p>Weitere Details findet man unter /usr/share/doc/cryptsetup/README.remote auf der Festplatte von Debian.<br />
Viel Spass beim basteln und immer schön lange Passwörter verwenden.</p>
<p>DISCLAIMER: Das obige setup ist nicht 100% sicher. ein lokaler Angreifer kann immer noch böse Dinge tun. Ich habe daher (als zusätzliche Hürde) bei mir die /boot partition im normalbetrieb nur read-only gemounted. Kann ein Angreifer aber unbemerkt darauf rumschreiben, wird Sicherheit schwierig. Man könnte im ssh noch den hash des initramfs-images prüfen, aber auch das ist nicht sicher, da der Angreifer ja das hash-tool ersetzten könnte. Aber alles in allem muss der Angreifer mit diesen Massnahmen sehr viel wissen mitbringen, und auch entsprechend vorbereitet sein. Ein Fehler, und der Angriff wird erkannt.</p>
<p class="wp-flattr-button"></p> <p><a href="http://blog.spahan.ch/?flattrss_redirect&amp;id=338&amp;md5=20a3be78159a13447e93f39e01e80233" title="Flattr" target="_blank"><img src="http://blog.spahan.ch/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://blog.spahan.ch/2011/12/rootserver-mit-verschlusseltem-root-auf-debian/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Ruhestand</title>
		<link>http://blog.spahan.ch/2011/12/ruhestand/</link>
		<comments>http://blog.spahan.ch/2011/12/ruhestand/#comments</comments>
		<pubDate>Thu, 22 Dec 2011 13:37:27 +0000</pubDate>
		<dc:creator>hanfi</dc:creator>
				<category><![CDATA[Maschienenraum]]></category>

		<guid isPermaLink="false">http://blog.spahan.ch/?p=334</guid>
		<description><![CDATA[Mein guter alter root-server hat schon ein paar jährchen auf dem Buckel. Und so langsam wird er langsam. Daher ist die NAchfolgergeneration angetreten, und die kann sich sehen lassen:
# free
             total       used       free     shared    buffers     cached
Mem:      16383360     118592   16264768          0       3908      18624
-/+ buffers/cache:      96060   16287300
Swap:     33553328          0   33553328

# df -h
Filesystem            Size  Used Avail Use% ...]]></description>
			<content:encoded><![CDATA[<p>Mein guter alter root-server hat schon ein paar jährchen auf dem Buckel. Und so langsam wird er langsam. Daher ist die NAchfolgergeneration angetreten, und die kann sich sehen lassen:</p>
<pre># free
             total       used       free     shared    buffers     cached
Mem:      16383360     118592   16264768          0       3908      18624
-/+ buffers/cache:      96060   16287300
Swap:     33553328          0   33553328

# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/md2             1016G  706M  965G   1% /
tmpfs                 7.9G     0  7.9G   0% /lib/init/rw
udev                  7.9G  164K  7.9G   1% /dev
tmpfs                 7.9G     0  7.9G   0% /dev/shm
/dev/md1              496M   31M  440M   7% /boot
/dev/md3              1.7T  196M  1.6T   1% /home

processor    : 7
vendor_id    : GenuineIntel
cpu family    : 6
model        : 42
model name    : Intel(R) Core(TM) i7-2600 CPU @ 3.40GHz
stepping    : 7
cpu MHz        : 1600.000
cache size    : 8192 KB
physical id    : 0
siblings    : 8
core id        : 3
cpu cores    : 4
apicid        : 7
initial apicid    : 7
fpu        : yes
fpu_exception    : yes
cpuid level    : 13
wp        : yes
flags        : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts
acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good
xtopology nonstop_tsc aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr
pdcm sse4_1 sse4_2 x2apic popcnt aes xsave avx lahf_lm ida arat tpr_shadow vnmi flexpriority ept vpid
bogomips    : 6822.88
clflush size    : 64
cache_alignment    : 64
address sizes    : 36 bits physical, 48 bits virtual
power management:
</pre>
<p>Also nicht wundern wenn es mal etwas holprig wird, ich bin am Zügeln <img src='http://blog.spahan.ch/wp-includes/images/smilies/icon_biggrin.gif' alt=':-D' class='wp-smiley' /> </p>
<p class="wp-flattr-button"></p> <p><a href="http://blog.spahan.ch/?flattrss_redirect&amp;id=334&amp;md5=d1330de5da373e9621961ec4ad0cde72" title="Flattr" target="_blank"><img src="http://blog.spahan.ch/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://blog.spahan.ch/2011/12/ruhestand/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>dyndns auf häm.ch</title>
		<link>http://blog.spahan.ch/2011/09/dyndns-auf-ham-ch/</link>
		<comments>http://blog.spahan.ch/2011/09/dyndns-auf-ham-ch/#comments</comments>
		<pubDate>Sun, 18 Sep 2011 19:30:09 +0000</pubDate>
		<dc:creator>hanfi</dc:creator>
				<category><![CDATA[Maschienenraum]]></category>
		<category><![CDATA[dyndns]]></category>
		<category><![CDATA[häm.ch]]></category>
		<category><![CDATA[server]]></category>

		<guid isPermaLink="false">http://blog.spahan.ch/?p=321</guid>
		<description><![CDATA[häm.ch bietet ab sofort einen dynamischen DNS Dienst an. Wobei anbieten ja etwas zu viel gesagt ist, da ich alles noch sehr manuell mache. Wer eine domain der Art xyz.häm.ch will meldet sich bei mir . Details dazu findet man im devwiki.

Dazu gehöhrt auch das IP-script welches auch in anderen Fällen brauchbar sein kann. ...]]></description>
			<content:encoded><![CDATA[<p>häm.ch bietet ab sofort einen dynamischen DNS Dienst an. Wobei anbieten ja etwas zu viel gesagt ist, da ich alles noch sehr manuell mache. Wer eine domain der Art xyz.häm.ch will meldet sich <a href="mailto://admin@spahan.ch">bei mir</a> . Details dazu findet man im <a href="https://dev.spahan.ch/trac/wiki/server/services">devwiki</a>.</p>
<p>Dazu gehöhrt auch das <a href="http://häm.ch/ip.php">IP-script</a> welches auch in anderen Fällen brauchbar sein kann. Für clients die kein punycode können ist die domain etwas länger <a href="http:// xn--hm-via.ch/ip.php">http:// xn--hm-via.ch/ip.php</a></p>
<p class="wp-flattr-button"></p>]]></content:encoded>
			<wfw:commentRss>http://blog.spahan.ch/2011/09/dyndns-auf-ham-ch/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>User</title>
		<link>http://blog.spahan.ch/2011/08/user/</link>
		<comments>http://blog.spahan.ch/2011/08/user/#comments</comments>
		<pubDate>Fri, 26 Aug 2011 12:06:31 +0000</pubDate>
		<dc:creator>hanfi</dc:creator>
				<category><![CDATA[fun]]></category>
		<category><![CDATA[Tales from work]]></category>
		<category><![CDATA[DAU]]></category>
		<category><![CDATA[User]]></category>

		<guid isPermaLink="false">http://blog.spahan.ch/?p=317</guid>
		<description><![CDATA[Manchmal ist man als Helpdesk Mitarbeiter mit dem Hauptproblem der IT konfrontiert. Dem User

Sali zämme

Wir hatten jetzt öfters Leute die sich beim ServiceDesk melden
und sich nicht in XXXX anmelden können. Das Problem war, dass sie
offensichtlich den Musteraccount beim Benutzernamen eingegeben haben und
nicht ihren wirklichen Accountnamen.

Also, bei Leuten die behaupten, dass sie sich kein Passwort ...]]></description>
			<content:encoded><![CDATA[<p>Manchmal ist man als Helpdesk Mitarbeiter mit dem Hauptproblem der IT konfrontiert. Dem User</p>
<blockquote>
<pre>Sali zämme

Wir hatten jetzt öfters Leute die sich beim ServiceDesk melden
und sich nicht in XXXX anmelden können. Das Problem war, dass sie
offensichtlich den Musteraccount beim Benutzernamen eingegeben haben und
nicht ihren wirklichen Accountnamen.

Also, bei Leuten die behaupten, dass sie sich kein Passwort setzen
können einfach mal
den Anmeldevorgang wiederholen lassen und sagen sie sollen explizit
ihren Benutzernamen
eingeben.

Dann klappts nämlich.

Gruss XXXX

@XXXX: kann man den Brief anders formulieren dass es klarer wird welchen
Benutzernamen man
im Benutzerfeld eintragen muss?</pre>
</blockquote>
<p>*Facepalm*</p>
<p class="wp-flattr-button"></p>]]></content:encoded>
			<wfw:commentRss>http://blog.spahan.ch/2011/08/user/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Me haz ipv6 Traffic!</title>
		<link>http://blog.spahan.ch/2011/07/me-haz-ipv6-traffic/</link>
		<comments>http://blog.spahan.ch/2011/07/me-haz-ipv6-traffic/#comments</comments>
		<pubDate>Thu, 28 Jul 2011 19:18:32 +0000</pubDate>
		<dc:creator>hanfi</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[Maschienenraum]]></category>
		<category><![CDATA[ipv6]]></category>
		<category><![CDATA[server]]></category>

		<guid isPermaLink="false">http://blog.spahan.ch/?p=312</guid>
		<description><![CDATA[Auch meine Wenigkeit trägt ein bisschen zur Verbreitung von ipv6 zu:
Jul 28 21:02:45 spahan postfix/smtpd: connect from liszt.debian.org
Jul 28 21:02:45 spahan postfix/smtpd: 788D1716038: client=liszt.debian.org
Jul 28 21:02:45 spahan postfix/cleanup: 788D1716038: message-id=&#60;0LP2006KE4RM5660@mta3.srv.hcvlny.cv.net&#62;]]></description>
			<content:encoded><![CDATA[<p>Auch meine Wenigkeit trägt ein bisschen zur Verbreitung von ipv6 zu:</p>
<pre>Jul 28 21:02:45 spahan postfix/smtpd[2498]: connect from liszt.debian.org[2001:41b8:202:deb:213:21ff:fe20:1426]
Jul 28 21:02:45 spahan postfix/smtpd[2498]: 788D1716038: client=liszt.debian.org[2001:41b8:202:deb:213:21ff:fe20:1426]
Jul 28 21:02:45 spahan postfix/cleanup[2501]: 788D1716038: message-id=&lt;0LP2006KE4RM5660@mta3.srv.hcvlny.cv.net&gt;</pre>
<p class="wp-flattr-button"></p>]]></content:encoded>
			<wfw:commentRss>http://blog.spahan.ch/2011/07/me-haz-ipv6-traffic/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>cpuinfo</title>
		<link>http://blog.spahan.ch/2011/05/301/</link>
		<comments>http://blog.spahan.ch/2011/05/301/#comments</comments>
		<pubDate>Mon, 02 May 2011 22:05:02 +0000</pubDate>
		<dc:creator>hanfi</dc:creator>
				<category><![CDATA[kernel]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://blog.spahan.ch/?p=301</guid>
		<description><![CDATA[Was bedeuted nochmal vnmi? Und wie war das Kürzel für die cryptoextension?

Da ich des öfteren mal eine /proc/cpuinfo angucken muss, habe ich mir ein kleines Parser-Skript gebastelt.

Einfach den Inhalt von /proc/cpuinfo reinpasten, und schon sieht man schön was die CPU kann oder eben nicht.

Edit: Woaaa, und schon hab ich die ersten Features entdeckt von ...]]></description>
			<content:encoded><![CDATA[<p>Was bedeuted nochmal vnmi? Und wie war das Kürzel für die cryptoextension?</p>
<p>Da ich des öfteren mal eine /proc/cpuinfo angucken muss, habe ich mir ein kleines <a href="https://dev.spahan.ch/cpuinfo/cpu.php">Parser-Skript</a> gebastelt.</p>
<p>Einfach den Inhalt von /proc/cpuinfo reinpasten, und schon sieht man schön was die CPU kann oder eben nicht.</p>
<p>Edit: Woaaa, und schon hab ich die ersten Features entdeckt von denen ich dachte ich habe sie nicht.  Meine CPU unterstützt VMs?!? Geil!</p>
<p>Edit2: Some deeper Description are linked <a href="http://blog.bradiceanu.net/2009/07/20/linux-proccpuinfo-flags/">here</a></p>
<p class="wp-flattr-button"></p>]]></content:encoded>
			<wfw:commentRss>http://blog.spahan.ch/2011/05/301/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Eat that Kernel!</title>
		<link>http://blog.spahan.ch/2011/04/eat-that-kernel/</link>
		<comments>http://blog.spahan.ch/2011/04/eat-that-kernel/#comments</comments>
		<pubDate>Wed, 20 Apr 2011 13:54:23 +0000</pubDate>
		<dc:creator>hanfi</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.spahan.ch/?p=298</guid>
		<description><![CDATA[My Computer is my Castle!
Ich lass mir doch von so einem Stück Software nicht vorschreiben was es kann oder nicht!
Nene; wenn der mein vbios nicht findet, dann Würg ich einfach eins aus dem RAM rein.
Klappt! der nouveauFB ist VIEL schneller als der efifb. Great.
Nur leider mag X das vbios nicht. liegt wohl an den ...]]></description>
			<content:encoded><![CDATA[<p>My Computer is my Castle!</p>
<p>Ich lass mir doch von so einem Stück Software nicht vorschreiben was es kann oder nicht!<br />
Nene; wenn der mein vbios nicht findet, dann Würg ich einfach eins aus dem RAM rein.</p>
<p>Klappt! der nouveauFB ist VIEL schneller als der efifb. Great.</p>
<p>Nur leider mag X das vbios nicht. liegt wohl an den fehlenden init tables. Aber dass krieg ich auch noch hin. Und dann gibts auch hier endlich 3D und eventuell läuft irgendwann sogar mal gnome3 :-p</p>
<p>[drm] Initialized drm 1.1.0 20060810<br />
nouveau 0000:01:00.0: enabling device (0002 -> 0003)<br />
nouveau 0000:01:00.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16<br />
nouveau 0000:01:00.0: setting latency timer to 64<br />
[drm] nouveau 0000:01:00.0: Detected an NV50 generation card (0x084700a2)<br />
checking generic (80060000 960000) vs hw (80000000 10000000)<br />
fb: conflicting fb hw usage nouveaufb vs EFI VGA &#8211; removing generic driver<br />
Console: switching to colour dummy device 80&#215;25<br />
[drm] nouveau 0000:01:00.0: Starting with nouveau_vbios<br />
[drm] nouveau 0000:01:00.0: looping trough vbios methodes<br />
[drm] nouveau 0000:01:00.0: Attempting to load BIOS image from PRAMIN<br />
[drm] nouveau 0000:01:00.0: &#8230; BIOS signature not found<br />
[drm] nouveau 0000:01:00.0: Attempting to load BIOS image from PROM<br />
[drm] nouveau 0000:01:00.0: &#8230; BIOS signature not found<br />
[drm] nouveau 0000:01:00.0: Attempting to load BIOS image from PCIROM<br />
nouveau 0000:01:00.0: Invalid ROM contents<br />
[drm] nouveau 0000:01:00.0: &#8230; BIOS signature not found<br />
[drm] nouveau 0000:01:00.0: Attempting to load BIOS image from ACPI<br />
failed to evaluate ROM got AE_BAD_PARAMETER<br />
[drm] nouveau 0000:01:00.0: have read junk no. 0, error code was -19<br />
[drm] nouveau 0000:01:00.0: &#8230; BIOS signature not found<br />
[drm] nouveau 0000:01:00.0: Attempting to load BIOS image from HANFI<br />
[drm] nouveau 0000:01:00.0:  -;<br />
[drm] nouveau 0000:01:00.0: what did you expect? magic?<br />
[drm] nouveau 0000:01:00.0: &#8230; appears to be valid<br />
[drm] nouveau 0000:01:00.0: BIT BIOS found<br />
[drm] nouveau 0000:01:00.0: Bios version 60.84.49.03<br />
[drm] nouveau 0000:01:00.0: TMDS table version 2.0<br />
[drm] nouveau 0000:01:00.0: BIT table &#8216;d&#8217; not found<br />
[drm] nouveau 0000:01:00.0: Found Display Configuration Block version 4.0<br />
[drm] nouveau 0000:01:00.0: Raw DCB entry 0: 01000123 00010034<br />
[drm] nouveau 0000:01:00.0: Raw DCB entry 1: 02011210 00000028<br />
[drm] nouveau 0000:01:00.0: Raw DCB entry 2: 02011212 00000030<br />
[drm] nouveau 0000:01:00.0: Raw DCB entry 3: 01011211 0080c070<br />
[drm] nouveau 0000:01:00.0: DCB connector table: VHER 0&#215;40 5 14 2<br />
[drm] nouveau 0000:01:00.0:   0: 0&#215;00000040: type 0&#215;40 idx 0 tag 0xff<br />
[drm] nouveau 0000:01:00.0:   1: 0&#215;00001120: type 0&#215;20 idx 1 tag 0&#215;07<br />
[drm] nouveau 0000:01:00.0: unknown type, using 0&#215;30<br />
[drm] nouveau 0000:01:00.0: Parsing VBIOS init table 0 at offset 0xB06B<br />
[drm] nouveau 0000:01:00.0: No pointer to DisplayPort table<br />
[drm] nouveau 0000:01:00.0: 0xB06B: INIT_3A: no encoder table!!<br />
[drm] nouveau 0000:01:00.0: 0xB06E: Init table command not found: 0&#215;00<br />
[drm] nouveau 0000:01:00.0: Parsing VBIOS init table 1 at offset 0xB3B8<br />
[drm] nouveau 0000:01:00.0: 0xB3B8: Init table command not found: 0&#215;18<br />
[drm] nouveau 0000:01:00.0: Parsing VBIOS init table 2 at offset 0xBE05<br />
[drm] nouveau 0000:01:00.0: 0xBE05: Init table command not found: 0xFF<br />
[drm] nouveau 0000:01:00.0: Parsing VBIOS init table 3 at offset 0xBEF7<br />
[drm] nouveau 0000:01:00.0: 0xBEF7: Init table command not found: 0xFF<br />
[drm] nouveau 0000:01:00.0: Parsing VBIOS init table 4 at offset 0xC12A<br />
[drm] nouveau 0000:01:00.0: 0xC12A: Init table command not found: 0xFF<br />
[drm] nouveau 0000:01:00.0: Parsing VBIOS init table at offset 0xC18F<br />
[drm] nouveau 0000:01:00.0: 0xC18F: Init table command not found: 0xFF<br />
[drm] nouveau 0000:01:00.0: voltage table 0&#215;66 unknown<br />
[drm] nouveau 0000:01:00.0: memory timing table 0xc6 unknown<br />
[drm] nouveau 0000:01:00.0: 0 available performance level(s)<br />
[drm] nouveau 0000:01:00.0: c: memory 302MHz core 275MHz shader 550MHz<br />
[TTM] Zone  kernel: Available graphics memory: 1027024 kiB.<br />
[TTM] Initializing pool allocator.<br />
[drm] nouveau 0000:01:00.0: Detected 512MiB VRAM<br />
[drm] nouveau 0000:01:00.0: 512 MiB GART (aperture)<br />
[drm] nouveau 0000:01:00.0: DCB encoder 1 unknown<br />
[drm] Supports vblank timestamp caching Rev 1 (10.10.2010).<br />
[drm] No driver support for vblank timestamp query.<br />
[drm] nouveau 0000:01:00.0: allocated 1920&#215;1200 fb: 0&#215;40000000, bo ffff88007afc8c00<br />
Console: switching to colour frame buffer device 240&#215;75<br />
fb0: nouveaufb frame buffer device<br />
drm: registered panic notifier<br />
[drm] Initialized nouveau 0.0.16 20090420 for 0000:01:00.0 on minor 0 </p>
<p class="wp-flattr-button"></p>]]></content:encoded>
			<wfw:commentRss>http://blog.spahan.ch/2011/04/eat-that-kernel/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Arbeiterrechte zerstört, Flugbetrieb normal</title>
		<link>http://blog.spahan.ch/2010/12/arbeiterrechte-zerstort-flugbetrieb-normal/</link>
		<comments>http://blog.spahan.ch/2010/12/arbeiterrechte-zerstort-flugbetrieb-normal/#comments</comments>
		<pubDate>Mon, 06 Dec 2010 13:06:53 +0000</pubDate>
		<dc:creator>hanfi</dc:creator>
				<category><![CDATA[Politik]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[arbeiterrechte]]></category>
		<category><![CDATA[kampf]]></category>
		<category><![CDATA[spanien]]></category>
		<category><![CDATA[streik]]></category>

		<guid isPermaLink="false">http://blog.spahan.ch/?p=292</guid>
		<description><![CDATA[Am Sonntag wurde in Spanien ein Notstandsgesetz ausgerufen. Das erste mal seit der Franco-Diktatur vor 30 Jahren.

Gleichzeitig wurden die streikenden Fluglotsen dem Militärrecht unterstellt, welches erlaubt diese in Sondergerichten ab-zu urteilen.

Und wie reagiert das "soziale" Europa auf diese Nachricht? Es freut sich, dass der Flugbetrieb wieder normalisiert wird. Toll findet man auch, dass die ...]]></description>
			<content:encoded><![CDATA[<p>Am Sonntag wurde in Spanien ein Notstandsgesetz ausgerufen. Das erste mal seit der Franco-Diktatur vor 30 Jahren.</p>
<p>Gleichzeitig wurden die streikenden Fluglotsen dem Militärrecht unterstellt, welches erlaubt diese in Sondergerichten ab-zu urteilen.</p>
<p>Und wie reagiert das &#8220;soziale&#8221; Europa auf diese Nachricht? Es freut sich, dass der Flugbetrieb wieder normalisiert wird. Toll findet man auch, dass die Maassnahmen bis im Januar verlängert wurde, damit man ja auch schön in die Weihnachtsferien nach Spanien kann.</p>
<p>Ob die Spanischen Fluglotsen &#8220;im Recht&#8221; sind ist hier mittlerweile Egal. Wenn eine Europäische Regierung mit militärischer Gewalt gegen Streikende Vorgeht gibt es seitens der Arbeiterbewegung in Europa eigentlich nur eine Antwort: Generalstreik! Sowas darf nicht geschehen! Niemals!</p>
<p>Bleibt diese Antwort aus, so lässt das nur einen Schluss zu: Die Arbeiterbewegung in Europa ist Tot.</p>
<p>Und noch was, wenn in Zukunft Horrormeldungen aus China wegen des Vorgehens gegen Streikende kommen, dann soll sich hier in Europa aber keiner der lahmen Ärsche darüber mokieren die jetzt in der Weihnachtszeit fett in ihr Flugzeug steigen.</p>
<p>Aber das letzte Wort ist noch nicht gesprochen. Die Arbeiterbewegung wurde immer wieder marginalisiert, kriminalisiert, versklavt, getötet. Und noch immer haben wir am Ende gesiegt. Die Europäischen Politiker (und an ihrer Spitze die &#8220;sozialistischen Parteien&#8221;) müssen wohl mal wieder erfahren, was der Sinn des Spruches &#8220;Wenn dein starker Arm es will, stehen alle Räder still&#8221; ist. Europa verlässt gerade den bisher so sicher geglaubten Hafen des &#8220;sozialen Staates&#8221;. Offensichtlich sind sich die Manager und Funktionäre nicht im klaren was sie da auslösen, wenn sie uns mit sowas um etwa 100 Jahre in der Arbetiergeschichte zurückschicken.</p>
<p>Ihr werdet es lernen.</p>
<p class="wp-flattr-button"></p>]]></content:encoded>
			<wfw:commentRss>http://blog.spahan.ch/2010/12/arbeiterrechte-zerstort-flugbetrieb-normal/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>update</title>
		<link>http://blog.spahan.ch/2010/12/update/</link>
		<comments>http://blog.spahan.ch/2010/12/update/#comments</comments>
		<pubDate>Sun, 05 Dec 2010 11:19:53 +0000</pubDate>
		<dc:creator>hanfi</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[Maschienenraum]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[squeeze]]></category>
		<category><![CDATA[update]]></category>

		<guid isPermaLink="false">http://blog.spahan.ch/?p=290</guid>
		<description><![CDATA[Der Server war Gestern etwas holprig, der Grund ist einfach:
spahan:/www# lsb_release -a
LSB Version:    core-2.0-amd64:core-2.0-noarch:core-3.0-amd64:core-3.0-noarch:core-3.1-amd64:core-3.1-noarch:core-3.2-amd64:core-3.2-noarch
Distributor ID:    Debian
Description:    Debian GNU/Linux testing (squeeze)
Release:    testing
Codename:    squeeze

Lenny ist ja schön und gut, aber ich benötigte ein paar modernere Libs und Tools für meine Webarbeiten. Ich habe bisher @home nur gute Erfahrung mit squeeze gemacht, daher wage ich es mal ...]]></description>
			<content:encoded><![CDATA[<p>Der Server war Gestern etwas holprig, der Grund ist einfach:</p>
<pre>spahan:/www# lsb_release -a
LSB Version:    core-2.0-amd64:core-2.0-noarch:core-3.0-amd64:core-3.0-noarch:core-3.1-amd64:core-3.1-noarch:core-3.2-amd64:core-3.2-noarch
Distributor ID:    Debian
Description:    Debian GNU/Linux testing (squeeze)
Release:    testing
Codename:    squeeze
</pre>
<p>Lenny ist ja schön und gut, aber ich benötigte ein paar modernere Libs und Tools für meine Webarbeiten. Ich habe bisher @home nur gute Erfahrung mit squeeze gemacht, daher wage ich es mal auch den Server auf squeeze upzudaten. Das update lief soweit Problemlos. Die beiden Probleme mit Grub2 und postfix sind mir anzulasten, ich sollte mal öfters alte Konfigs aufräumen&#8230; (note @me: Den Server IMMER in einem bootbaren Zustand verlassen! Grr..)</p>
<p>Zuhause hab ich lenny schon auf einem Desktop-G5, und einem Server-MacMini-G4 getestet und keine Probleme festgestellt. Dort läuft aber kein TOR-Exit-Node, daher ist dies auch gleich mal ein Belastungstest.</p>
<p class="wp-flattr-button"></p>]]></content:encoded>
			<wfw:commentRss>http://blog.spahan.ch/2010/12/update/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>einfache Webinterfaces mit apache &amp; mod_autoindex</title>
		<link>http://blog.spahan.ch/2010/11/einfache-webinterfaces-mit-apache-mod_autoindex/</link>
		<comments>http://blog.spahan.ch/2010/11/einfache-webinterfaces-mit-apache-mod_autoindex/#comments</comments>
		<pubDate>Wed, 03 Nov 2010 12:04:26 +0000</pubDate>
		<dc:creator>hanfi</dc:creator>
				<category><![CDATA[Maschienenraum]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[dmp]]></category>
		<category><![CDATA[mod_autoindex]]></category>
		<category><![CDATA[wep]]></category>

		<guid isPermaLink="false">http://blog.spahan.ch/?p=285</guid>
		<description><![CDATA[Wenn ich eine dynamische Webseite aufbaue, verwende ich meist php oder python. Dies erlaubt es Inhalte in Datenbanken zu speichern, und frei formatiert wieder auszugeben. Das ist einfach und stabil.

Aber es geht noch einfacher. Als Datenbank kann man auch das Filesystem verwenden. mod_autoindex erzeugt dann automatisiert eine index Datei. Dabei kann man die exakte ...]]></description>
			<content:encoded><![CDATA[<p>Wenn ich eine dynamische Webseite aufbaue, verwende ich meist php oder python. Dies erlaubt es Inhalte in Datenbanken zu speichern, und frei formatiert wieder auszugeben. Das ist einfach und stabil.</p>
<p>Aber es geht noch einfacher. Als Datenbank kann man auch das Filesystem verwenden. mod_autoindex erzeugt dann automatisiert eine index Datei. Dabei kann man die exakte Darstellung über die <em>.htaccess</em> Datei steuern. Ich habe diese Tehnik verwendet um das <a href="http://dmp.spahan.ch">Digital Mayhem Archiv</a> einfach und schnell in einem anschaubaren Format zu veröffentlichen.</p>
<p>Die primäre Idee ist es, per <em>HeaderName</em> und <em>ReadmeName</em> einen Kopftext und einen Fusstext einzubinden. Beim <a href="http://dmp.spahan.ch/">Digital Mayhem Archiv</a> binde ich im Kopf jeweils ein Bild ein (Flyer zum jeweiligen Event). Die Fusszeile ist Konstant und verlinkt auf einen zurück-Button sowie auf den Radio-Stream. Dank <em>IndexStyleSheet</em> wird auch noch die Darstellung der Liste angepasst. Die eingebundenen Dateien habe ich mit dem alten Unix-Trick des vorangestellten &#8220;.&#8221; gelöst, Apache ignoriert diese Dateien ebenfalls bei der Listengenerierung, wobei die Datei selbst aufrufbar bleibt (was zum Einbinden von Bildern/css/etc wichtig ist). Weitere Dateien welche nicht gelistet werden sollen können mit der <em>IndexIgnore</em> Direktive bestimmt werden.</p>
<p>Mit <em>AddDescription</em> kann ich nun jeder Datei/jedem Ordner einen zusätzlichen Text zuweisen, was jedoch <em>FancyIndexing</em> benötigt. <em>SuppressColumnSorting,</em> <em>SuppressLastModified</em> und <em>SuppressRules</em> verhindern, dass unnötige Felder Dargestellt werden.</p>
<p>Das tolle an der ganzen Sache ist aber, dass ich die Einstellungen global im Root-Ordner einbinden kann, da sich die .htaccess-Einstellungen vererben. Die Einbindung der Bilder kann also nur einmal im root-directory spezifiziert werden, wirkt dann aber überall.</p>
<p>mod_autoindex ist eine einfache und schnelle Möglichkeit Hierarchische Datei-Ordnungen schnell und effektiv zu veröffentlichen. Da es mit dem Apache per default installiert wird, ist es eigentlich immer Vorhanden, und man braucht kein php/python/whatever um es zu benützen.</p>
<p class="wp-flattr-button"></p>]]></content:encoded>
			<wfw:commentRss>http://blog.spahan.ch/2010/11/einfache-webinterfaces-mit-apache-mod_autoindex/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

