$ uname -a
Linux knuckles 3.0.0-rc7 #1 SMP PREEMPT Wed Jul 13 14:10:27 CEST 2011 x86_64 Intel(R) Xeon(R) CPU W3550 @ 3.07GHz GenuineIntel GNU/Linux
Lustig, die 3 ist wirklich mehr als ungewohnt
$ uname -a
Linux knuckles 3.0.0-rc7 #1 SMP PREEMPT Wed Jul 13 14:10:27 CEST 2011 x86_64 Intel(R) Xeon(R) CPU W3550 @ 3.07GHz GenuineIntel GNU/Linux
Lustig, die 3 ist wirklich mehr als ungewohnt
Mich hat es ja schon immer gestoert das man bei Aufruf von dmesg nicht gleich sieht wann irgendwas passiert ist, sondern nur relativ zur uptime der Kiste.
Um das zu beheben hab ich heute ein kleines Script bei mir eingebaut.
dmesg.pl
#!/usr/bin/perl use strict; use warnings; my @dmesg_new = (); my $dmesg = "/bin/dmesg"; my @dmesg_old = `$dmesg`; my $now = time(); my $uptime = `cat /proc/uptime | cut -d"." -f1`; my $t_now = $now - $uptime; foreach my $line ( @dmesg_old ) { chomp( $line ); if( $line =~ m/\[\s*(\d+)\.(\d+)\](.*)/i ) { my $t_time = scalar localtime( $t_now + $1 ); push( @dmesg_new , "[ $t_time ] $3" ); } } print join( "\n", @dmesg_new ); print "\n";
Dann das Script noch ausfuehrbar machen und ausfuehren.
Ausgabe sieht z.B. so aus:
... [ Fri Apr 8 20:04:40 2011 ] usb 7-1: new full speed USB device using uhci_hcd and address 2 [ Fri Apr 8 20:04:40 2011 ] usbcore: registered new interface driver usbserial [ Fri Apr 8 20:04:40 2011 ] USB Serial support registered for generic [ Fri Apr 8 20:04:40 2011 ] usbcore: registered new interface driver usbserial_generic [ Fri Apr 8 20:04:40 2011 ] usbserial: USB Serial Driver core [ Fri Apr 8 20:04:40 2011 ] USB Serial support registered for pl2303 [ Fri Apr 8 20:04:40 2011 ] pl2303 7-1:1.0: pl2303 converter detected [ Fri Apr 8 20:04:40 2011 ] usb 7-1: pl2303 converter now attached to ttyUSB0 [ Fri Apr 8 20:04:40 2011 ] usbcore: registered new interface driver pl2303 [ Fri Apr 8 20:04:40 2011 ] pl2303: Prolific PL2303 USB to serial adaptor driver [ Fri Apr 8 20:17:50 2011 ] usb 7-1: USB disconnect, address 2 [ Fri Apr 8 20:17:50 2011 ] pl2303 ttyUSB0: pl2303 converter now disconnected from ttyUSB0 [ Fri Apr 8 20:17:50 2011 ] pl2303 7-1:1.0: device disconnected ...
Es empfiehlt sich uebrigens
[*] Show timing information on printks
im kernel zu aktivieren. (Unter Kernel hacking)
Beim rumstoebern hab ich ein nettes Video von Linbit ueber High Availability gefunden.
Wer noch gar nichts damit zu tun hatte bekommt hier einen kurzen Einblick.
Hier eine kleine Software Raid5 zu Raid6 Erfahrung von mir. Dafuer nehmen wir an, wir haben ein Raid5 mit 4 Platten:
Software Raid5 unter Linux mit 4 Platten. Angelegt mittels:
mdadm --create /dev/md0 --level=5 --raid-devices=4 /dev/sda1 /dev/sdb1 /dev/sdc1 /dev/sdd1
Jetzt werde ich zwei Varianten ansprechen: einmal die Vergroesserung eines raid5 um eine Platte und danach die Umstellung auf Raid6 (dazu wird dann die 2. neue Platte bzw. die 6. Platte eingebunden)
Erweiterung des Raid5 (neue Platte=/dev/sde)
Formatieren der Festplatte und Typ auf Linux Raid Autodetect (fd) wie bekannt.
Neue Festplatte hinzufuegen:
mdadm --add /dev/md0 /dev/sde1
Raid5 erweitern:
mdadm --grow /dev/md0 --raid-devices=5
Dateisystem je nach Dateisystem vergroessern … xfs_growfs etc …
Umwandlung von Raid5 zu Raid6 (neue Platte=/dev/sdf)
Seit Kernel 2.6.30 kann man Raid5 in Raid6 Umwandeln ohne groesseren Aufwand. Aktuell kann es mdadm noch nicht automatisiert, so dass man noch selbst Hand anlegen muss. Ab Version 3.1 soll mdadm das auch beherschen mittels der –grow Option.
Als erstes fuegen wir wieder die neue (partitionierte) Platte hinzu:
mdadm --add /dev/md0 /dev/sdf1
Dann erzwingen wir das neue Raid Level durch Aenderung des Raid Levels durch das /sys filesystems:
echo raid6 > /sys/block/md0/md/level
Direkt darauf beginnt die Umwandlung in Raid6 und die Erzeugung der der Q-Blocks.
Weitere Infos:
Wer mehr ueber Raid6 lesen will der kann die 2 Papers lesen:
The mathematics of RAID-6 (H. Peter Anvin)
Intelligent RAID 6 Theory (Intel)
So, ich hatte seit dem letzten Kernel Update auf 2.6.28 ein kleines Problem mit dem Sound. Und zwar kam trotz das ich den Kopfhoerer eingesteckt hatte weiterhin Sound aus dem eingebauten Lautsprecher. Dies ist ultra nervig, vor allem auf Arbeit
Ich dachte erst es sei eine Mixer Einstellung von ALSA, aber es lag dann doch an einem Kernel Modul, bei welchem man speziell das model angeben musste.
Fuer den Dell D620 das intel-hda Modul auswaehlen und die Hardware
— Intel HD Audio
[*] Build IDT/Sigmatel HD-audio codec support
Und dann trage in der Datei /etc/modprobe.d/alsa folgendes hinzu:
options snd-hda-intel model=dell-m22
Für andere Modelle schaut einfach in der ALSA Dokumentation nach dem model, welches ihr angeben muesst:
Heute bin ich auf ein Projekt gestossen was mich spontan sehr interessierte: ffmpeg-mt
ffmpeg-mt ist Projekt, was auf dem Google Summer-of-Code entstanden ist. Das “mt” steht dabei fuer multi threaded und ermoeglicht es auch langsameren dualcore Prozessoren einen h.264 dekodierten HD Film anzusehen.
Da Gentoo noch kein ebuild dafuer bereitgestellt hat habe ich es mir seperat quick and dirty einfach neben her installiert um es zu testen.
Beachtet: ffmpeg-mt befindet sich noch in einem experimentellen Stadium
Als erstes braucht ihr git:
emerge git
Danach legen wir uns einen neuen Test Ordner an: (oder je nachdem wo ihr die Dateien haben wollt…)
mkdir test
cd test
Danach git klonen und ./configure, make …
git clone git://repo.or.cz/mplayer
cd mplayer
git checkout origin/mt
git submodule init
git submodule update
./configure
make
Laut mplayer homepage wuerde jetzt noch ein make install folgen. Da ich jedoch nicht meine vorhandene installation und die verlinkten bins ueberschreiben will, lass ich dies und lege mir ein kleines bash script an:
/path-to-mplayer/mplayer -lavdopts threads=2 $1
-lavdopts threads bitte anpassen. Bei einem Quadcore empfiehlt sich 4 threads zu verwenden.
Benchmark folgt.
So eben sind meine neuen x86 stage archive fertig hochgeladen.
Ihr findet sie hier:
http://sonic-lux.de/home/projekte/software/gentoo-stages/stages/x86/
Ich habe meine Planung fuer meine Gentoo Stages noch einmal ueberarbeitet und mich nocheinmal genauer informiert.
Fakt ist folgendes:
-Gentoo supportet keine stage1 und stage2 Installationen mehr
-Gentoo bietet keine stage2 archive mehr an
-stage1 archive architektur optimiert macht keinen sinn
-Gentoo hat (noch) keine offiziellen core2 stage3 archive
Daher nun mein aktueller Plan fuer die Gentoo Stages:
-generisches x86 stage1 archiv
-stage3 archiv fuer x86, prescott, core2
-stage4 in Planung: vixie-cron, syslog-ng, dhcpc, xfsprogs, gentoolkit, …
Die Releaseabstaende werden ich nicht festlegen, geplant ist aller 1-2 Wochen ein neues Paket, kann aber auch gut sein das es schneller geht. Ich werde jedes neue release in meinem blog ankuendigen.
So es ist soweit,
nach weiteren test kann ich nun sagen das die stage1 – stage3 archive fuer x86 auch funktionieren.
Viel Spass beim installieren!
Download unter: http://sonic-lux.de/home/projekte/software/gentoo-stages/stages/x86/
Die core2 stages verspaeten sich noch etwas, aktuell schlaegt der catalyst bei mir immer fehl. Ich muss noch herausfinden wieso. Aber es wird sicher auch eine Loesung dafuer geben.
Habe eben meine ersten x86 Stages auf den Server geladen.
Ihr findet sie unter:
http://sonic-lux.de/home/projekte/software/gentoo-stages/stages/x86/
Aktuell noch als “-beta” getagged, wird sich aber bald aendern.
Core2 Stages folgen
So, nachdem lange Zeit keine offiziellen Stages mehr von Gentoo Seite kamen und die Autobuilds nur Stage3 sind habe ich mich ran gesetzt und mich mit dem Tool zur Erstellung von Stages und LiveCDs – Catalyst – beschäftigt.
Ziel des Projektes ist es Stage1 – 3 Pakete fuer x86 und Core2 anzubieten.
x86 wegen der Allgemeinheit
core2, weil ich aktuell eine Quad Core zu Hause habe und denke es auch genuegend Leute gibt, die eine Core Duo oder Quad besitzen und Gentoo nicht x86 benutzen wollen.
Des weiteren wird es eine Live CD geben, bei der ich versuchen werde einen stabilen Kernel von den gentoo-sources und einen experimentellen aus den vanilla-sources einzubauen. Die vanilla-sources beinhalten dann ext4 und btrfs und andere Neuerungen aus dem jeweiligen aktuellen Linux Kernel.
Geplant ist weiterhin auch ein stage4 Paket mit xorg und kde und vllt. weiteren Paketen.
Mein Autoradio, das Sony MP-40 kann leider nicht mir mp3s mit einer bitrate von 320kbit/s umgehen, daher musste ich ein Script schreiben was die mp3s vorher konvertiert.
#!/bin/sh
IFS=”
”for i in $(find $1 -depth -name “*.mp3″ ); do ffmpeg -i “$i” -ab 192k “$i.new.mp3″; rm -f “$i”; done
Jetzt noch nach /usr/bin/ kopieren und die richtige Rechte setzen und jeder kann es benutzen.
Benutzung mit: car-mp3 ordner
Heute hatte ich auch ein wiederliches “Problem. Und zwar eine Schleife mit find, und was bekommt man, jedes mal ein neues result nach einem Leerzeichen im Dateinamen. Nach ewigen rumgemache bin ich dann zum Gkück auf die Seite gekommen:
http://www.denkweite.de/…en-in-dateinamen/trackback/
Lösung ist also die Variable IFS auf einen Zeilenumbruch zu setzen
IFS=”
“
danach ging es dann auch
Das lange warten hat ein Ende, den bald ist es soweit und das neue Model names “Freerunner”, dem Nachfolger des Neo1973, wird im Handel erhältlich sein.
Der Preis soll bei 399 USD liegen.
Hier noch ein paar Informationen:
http://wiki.openmoko.org/wiki/Neo_FreeRunner
http://wiki.openmoko.org/wiki/Neo1973:_GTA01Bv4_versus_GTA02_comparison