VMWare: Uhrzeit hinkt hinterher oder laeuft voraus
Ich bin ja gar kein Fan von VMWare (mir ist die KVM tausend mal lieber...), aber nachdem alle Welt das Teil benutzt, kommt man nicht drum rum :-( Kürzlich hatte ich das Problem, das in einem Gentoo Linux Host ein Red Hat Enterprise 5.2 Gast lief und im Gast ständig die Uhrzeit dem Hostsystem hinterherlief. Da dauerte dann eine Sekunde schon mal zwei oder so ;-)
Nun... Ganz hab ich das Problem noch nicht gelöst aber ansatzweise. Zum einen war die Kernel-Timer-Frequenz unterschiedlich. Gentoo lief mit 250 Hz (wie das für ein Server-System angebracht ist) und RHEL mit 1000 Hz. Was eingestellt ist, sieht man unter Gentoo, wenn man nach /usr/src/linux wechselt (ja, es gibt noch andere Möglichkeiten...) und dort
linux # cat .config | grep CONFIG_HZ
# CONFIG_HZ_100 is not set
# CONFIG_HZ_250 is not set
# CONFIG_HZ_300 is not set
CONFIG_HZ_1000=y
CONFIG_HZ=1000
eingibt. Unter RHEL 5.2 geht man unter /usr/src/kernels/2.6.18-92.el5-x86_64/ rein und mancht das Gleiche. Nachdem das eingestellt war unter Gentoo, Kernel neu kompiliert und durchgestartet. Das war dann schon besser. Aber immer noch lief die Zeit langsam auseinander.
Ich habe dann im zugehörigen .vmx-File noch folgende Option eingetragen:
tools.syncTime = "TRUE"
Das sollen angeblich auch die VMWare Tools machen. Das half aber auch nicht so richtig weiter. Jetzt könnte man natürlich auch ein ntpdate pool.ntp.org jede Minute per Cron laufen lassen, aber das ist auch Schwachsinn.
Also hab ich mir die open-vm-tools installiert. Das sind die VMWare Tools nur als Opensource. Diese Tools müssen im Gast-System installiert werden. Man lädt sich dazu das .tar.gz-File runter. Den configure hab ich mit
./configure --without-x --without-procps --without-dnet --without-icu
aufgerufen. Dann make; make install. Jetzt kann man mit
vmware-guestd --background /tmp/ovm.pid
den VMWare Guest-Daemon starten. Anschließend kann man mit
vmware-toolbox-cmd timesync enable
die Zeitsyncronisierung einschalten und mit
vmware-toolbox-cmd timesync enable
abfragen. Mit
vmware-toolbox-cmd stat hosttime
kann man dann noch die Host-Zeit abfragen. Die Zeit der beiden System läuft jetzt zwar immer noch nicht ganz syncron, aber es ist akzeptabel.
Freie IP finden mit fping
Man kennt das Problem: Man braucht eine freie IP in einem Class C Netz. Praktisch wäre jetzt mal kurz alle IP-Adressen durchzutesten. Da hilft fping:
fping -g 172.18.72.0/24
Wenige Sekunden später sieht man dann, was noch frei ist. Unter Gentoo einfach mit
emerge fping
installieren. Ich vermute, andere Distributionen haben das Tool auch an Board.
Dell Laptop 630, Gentoo, X Server und Compiz
Ich bin ja eigentlich kein Fan von Dell Rechnern, aber manchmal hat man einfach keine Wahl ;-) Nun, als alter Gentoo Fan musste das natürlich drauf. Gesagt, getan. Im Internet finden sich ja einige Quellen, die besagen, das der Latitute D630 mit Linux ganz gut läuft und das Ubuntu 8.04 damit gut funktioniert, wusste ich.Also fröhlich losinstalliert nach der bewährten und sehr guten Gentoo Installationsanleitung. Das Stage3 Archive hab ich mir von funtoo.org gezogen. Dann muss man nach der Basisinstallation nicht mehr soviele Pakete auf den aktuellsten Stand bringen. Alles kein Thema bis ich dann nach dem ersten booten schließlich den X Server installieren wollte. Da der Laptop eine Intel Grafikkarte vom Typ GM965 drin hatte und es dafür OpenSource-Treiber gibt, die bei aktuellen Kernels (für Framebuffer u.a.) und X.org schon dabei sind, sollte das alles ja kein Thema sein. Ja genau... Soweit so schlecht.
Also also im Kernel schön konfiguriert, /dev/agpgart Support nicht vergessen, I2C auch mit rein (da bin ich schon mal bei einem anderen Treiber auf die ... gefallen) und schließlich die Inteltreiber als Modul. Zur Sicherheit den i810 und den i915 kompiliert, damit man später auch eine Auswahl hat. Naja. Pustekuchen. Egal was ich eingestellt hab, beim Starten des X-Servers immer ein schöner schwarzer Bildschirm. Ich weiß bis heute nicht, welche Option im Kernel dieser Intel-Treiber braucht... Eigentlich hatte ich die Abhängigkeiten alle eingeschaltet.
Aber da gibt's ja noch eine Distribution, die sich Sabayon nennt. Die basiert auf Gentoo, liefert aber eine DVD mit Binär-Paketen aus. Die haben eine sehr gute Live-DVD (da ist die ganze Distribution ziemlich gut...). Dort habe ich mir die aktuelle Beta Sabayon 3.5 runtergeladen, gebrannt und gestartet. Diese Live-Distribution startet gleich ein komplettes KDE mit Compiz-Fusion (wenn man will). Dort lief X auf jeden Fall ohne Probleme. Also war klar, das irgendwas im Kernel, Kernel-Modul oder einer Kernel-AbhängigkeKonit nicht stimmte, da mit VESA-Treiber X einwandfrei lief.
Das Schöne ist, das man die aktuelle Konfiguration eines gestarteten Kernels unter /proc/config.gz rausziehen. Sabayon 3.5 läuft mit Kernel 2.6.25. Also die Sabayon Konfiguration mit cat /proc/config.gz | gunzip - > .config rausgezogen und auf einen USB-Stick kopiert. Gentoo wieder gestartet, die Sabayon .config nach /usr/src/linux/.config kopiert und dann mit genkernel --menuconfig --oldconfig all den neuen Kernel kompiliert. Rechner durchgestartet und tata, schon lief auch X und KDE. Moral von der Geschicht: Klappt was mit dem Kernel unter Gentoo nicht, gugg auch mal bei der Konkurrenz nach. ;-)
( Jul 21 2008, 06:00:00 PM CEST ) Permalink Comments [0]
Weekly Links 20070208
BR Online Sterngucker - Eine schöne Seite für Astronomie-Einsteiger. Erklärt anschaulich Begrifflichkeiten der Astronomie mit div. Hintergrundwissen.
Messenger Web Site - Am 14.1.2008 passierte die Raumsonde Messenger den Planeten Merkur - fast 34 Jahre nach Mariner 10. Hier findet man alle Infos über die Mission.
Alpine Messaging System - Alpine basiert auf einem der wohl bekanntesten Mail-Client Pine. Wer gerne auf der Kommandozeile arbeitet und Pine schon immer mochte, dem dürfte Alpine gefallen.
Using a Bluetooth phone with Linux
A history of the Amiga - Part 1
A history of the Amiga - Part 2
A history of the Amiga - Part 3
A history of the Amiga - Part 4
A history of the Amiga - Part 5
A history of the Amiga - Part 6
Top 10 Free Linux 3D Games
Linux Traffic Control HOWTO
Gentoo HOWTO Packet Shaping - Das vorhergende und dieses Tutorial zeigen, wie man TCP-Traffic begrenzt. Das ist manchmal ganz praktisch,wenn man über eine DSL-Leitung bzw. DSL-Modem viele Dateien hochlädt und nebenbei noch mit SSH arbeitet.
Gentoo HOWTO Road Warriors with OpenVPN
Linowsat Settings - Hier kann man sich für den VDR die neueste channels.conf erzeugen lassen u.a. für Astra und Eutelsat.
Tovid - Eine OpenSource Kollektion von Kommandozeilentools mit der man u.a. seine eigenen DVDs basteln kann. Wer die Kommandozeile nicht mag, nimmt das GUI.
Technorati Tags: sterngucker, astronomie, messenger, alpine, pine, mail, linux, bluetooth, amiga, history, gentoo, traffic, control, shaping, vdr, linowsat
Today's Links
Eclipse Plugin JMXplorer - Ein Management und Monitoring Tool für JMX realisiert als Eclipse Plugin. Das Plugin kann auch Graphen von nummerischen Werten zeichenen.
Sabayon Linux - Diese Distriution basiert auf Gentoo Linux, ist aber eher für den Desktop gedacht. Es hat z.B. schon Binary ATI- und Nvidia-Treiber dabei und noch einige andere Multimedia Goodies :-)
Funtoo - Daniel Robbins stellt hier neuere Stage3 Gentoo Tarballs bereit. Wer also nicht gleich nach der Installation von Gentoo 2007 eine Updateorgie hinlegen möchte, sollte sich vielleicht einen solchen Tarball ziehen. Weiterhin findet man hier OpenVZ Templates für Gentoo.
Python Package Index - Wer auf der Suche nach einer Python Bibliothek für bestimmte Zwecke ist, sollte mal hier einen Blick reinwerfen.
astromeeting.de - Einige wunderschöne Astroaufnahmen von Stefan Seip. Er hat auch ein Buch über Astrophotografie geschrieben, das bei OReilly erschienen ist: Digital Astrophotography
Technorati Tags: astronomy, distribution, eclipse, funtoo, gentoo, jmx, jmxexplorer, linux, packages, photo, python, sabayon
Today's Links
Eee PC Tips: A crash course in Linux - Der Eee PC ist ein kleiner, witziger Laptop von Asus. Kein Leistungswunder aber für manche Sachen ganz praktisch.
Fawnt - Eine Seite mit freien Fonts.
Customizing X Window: An Introduction - Ein Einführung in die xorg.conf und Fontkonfiguration
TDA - Thread Dump Analyzer - Der TDA ist ein kleines Swing GUI um von der Java VM erzeugte Thread Dumps und Heap Informationen analysieren zu können.
LDAP browsing with Luma
Gentoo berkano-overlay - Eines der wichtigsten Overlays für Gentoo wenn es um die neueste Multimedia-Software geht. Hier findet man z.B. den SMPlayer, Last.FM-Proxy, avidemx, usw.
Technorati Tags: eee_pc, linux, laptop, asus, fawnt, font, xorg, tda, thread, analyzer, java, ldap, luma, gentoo, overlay, berkano
Dateiduplikate finden: fdupes
Man kennt das Problem: Jede Menge Dateien auf der Platte und jede Menge davon unnütz, weil doppelt. Um doppelte Dateien zuverlässig zu finden, gibt es fdupes. Unter Gentoo oder Ubuntu installiert sich das recht einfach:
Gentoo: emerge -av fdupes
Ubuntu: apt-get install fdupes
fdupes vergleicht Dateien anhand von MD5 Prüfsummen und Dateigrößen. Sucht man z.B. doppelte Dateien in einem Verzeichnis inkl. Unterordner, gibt man einfach
fdupes -r /zu/durchsuchender/pfad
ein. Doppelte Dateien werden dann paarweise angezeigt.
Technorati Tags: fdupes, duplicate, gentoo, ubuntu, opensource, doppelt
LIRC, VDR, Gentoo und Streamzap
Lange hat's gedauert, aber letztendlich habe ich jetzt endlich eine Fernbedienung für meinen VDR gefunden, die nicht über den seriellen Anschluss angeschlossen wird. Die neuen Rechner haben sowas ja kaum noch und mit einem USB/Serial-Adapter habe ich es schon probiert. Das klappte aber irgendwie nicht, obwohl der Treiber im Kernel war.
Jetzt habe ich endlich eine Fernbedienung, die über USB angeschlossen wird und für die es einen LIRC-Treiber gibt :-) Das Teil heißt Streamzap. Zu kaufen gibt's das Ganze z.B. bei Centarea. Heißt dort Sceneo Master Remote. Die Installation unter Gentoo ist relativ einfach.
Zuerst müssen wir in die /etc/make.conf folgende zwei Einträge hinzufügen:
USE="lirc streamzap"
LIRC_DEVICES="streamzap"
Das sollte man eigentlich schon gemacht haben, damit VDR mit LIRC-Support kompiliert ist. Wenn nicht, VDR am besten auch noch mal emerge'n. Dann installieren wir LIRC und starten den Treiber:
emerge -av lirc
modprobe lirc_streamzap
Dann brauchen wir eine remote.conf und eine lircd.conf. Man findet diese Konfigurationsdateien auch in diesem Thread in vdr-portal.de. Die remote.conf kopieren wir nach /etc/vdr/ und die lircd.conf nach /etc/. Anschließend lircd starten (/etc/conf.d/lircd auch prüfen):
/etc/init.d/lircd start
Nun kann man mit dem Kommando irw testen, ob alles funktioniert. Einfach etwas auf der Fernbedienung rumdrücken und dann sollten auf der Kommandozeile entsprechende Meldungen kommen. Wenn das tut, kann man mit CTRL+C abbrechen. Damit der Treiber beim Hochfahren des Rechners wieder gestartet wird macht man Folgendes:
echo lirc_streamzap >> /etc/modules.autoload.d/kernel-2.6
Nun passt man noch /etc/conf.d/vdr an. Dort stellt man dann
IR_CTRL="lirc"
ein. Zu guter Letzt fügen wir lircd noch dem default Runlevel hinzu, damit das automatisch gestartet wird:
rc-update add lircd default
Nun noch VDR durchstarten und dann tut's hoffentlich ;-)
Interessante Links:
Gentoo Wiki: HOWTO LIRC
Using the Streamzap USB remote with vdr on Fedora Core 5
Gentoo Wiki: HOWTO USB LIRC streamZap
vdr-portal.de: lircd.conf und remote.conf gesucht
Technorati Tags: lirc, vdr, gentoo, streamzap, remote, fernbedienung, vdr
Tor, Privoxy, Firefox, Gentoo und anonym surfen
Naja... Anonym surfen ist ja etwas Augenwischerei im Internet. Google, CIA, NSA, BND, Innenministerium und das Finanzamt sitzen ja eh schon überall drin - ok, kleiner Scherz am Rande ;-) Ich hab nix zu verbergen! Genau - solange, bis mal jemand bei der Schufa die Datensätze durcheinander bringt. Dann wird aus dem unschuldigen Bürger plötzlich der Kreditpreller. Ok, das wird natürlich nie passieren, auch klar oder? Schöne Aussichten. Ein bißchen Sarkamus muss ja auch mal sein ;-) Aber zurück zum Thema... Es gibt Seiten, da ist es wohl besser, wenn man sich etwas unauffälliger verhält, welche Gründe man auch immer haben mag dafür. Dafür ist das Gespann Tor, Privoxy und Firefox ideal.
Nun... Unter Gentoo ist das auch relativ schnell installiert. Zuerstmal die Software:
emerge -av tor
emerge -av privoxy
Firefox wird ja wohl jeder schon irgendwo rumliegen haben ;-) Was ist nun Tor eigentlich? Tor ist ein ganzes Netzwerk von Rechnern. Damit kann man ganz gut seine eigene IP-Adresse gegenüber der Seite verstecken, auf die man zugreifen möchte. Dazu wird der ganze Verkehr verschlüsselt (schon vom Client weg) durch das Tor-Netzwerk geschickt und das über mehrere Tor-Server hinweg. Der Weg ändert sich von Zeit zu Zeit, damit einem Angreifer es nicht zu leicht gemacht wird, den Weg zurück zu verfolgen. Was Tor allerdings nicht verbergen kann, ist alles, was der Browser mitschickt also z.B. Cookies oder Informationen, die über JavaScript ausgelesen werden. Dafür gibt's den Proxy Privoxy. Das Teil ist so mächtig, das ich mir eine genaue Beschreibung spare ;-) Wir wollen momentan nur erreichen, das der Browser möglichst wenig Informationen über uns rausrückt und das tut Privoxy schon sehr gut in der Defaulteinstellungen.
Eine Beispielkonfiguration von Tor liegt in /etc/tor. Dort kopieren wir die Datei torrc.sample nach torrc. Dort drin muss man eigentlich nicht viel umstellen. Die Defaulteinstellungen sind eigentlich ok. Tor startet man dann einfach mit
/etc/init.d/tor start
Damit der Service nach dem Rechner-Reboot wieder startet, führen wir noch
rc-update add tor default
aus. Dann wechseln wir zur Konfiguration von Privoxy nach /etc/privoxy. Dort müssen wir Privoxy in der Datei config mitteilen, das alle Anfragen über das Tor-Netzwerk laufen sollen. Also fügen wir am Besten (ist aber eigentlich egal) unter forward-socks4 and forward-socks4a Folgendes hinzu (wenn man die torrc nicht verändert hat diesbzgl.):
forward-socks4a / localhost:9050 .
Privoxy hat einen sehr großen Regelsatz. Da steht z.B. drin, das Anfragen an bestimmte Ad-Server (da wo die Werbung herkommt) rausgefiltert werden, Kommandos seitens des Servers zum Setzen eines Cookies entfernt werden, usw. Die Regeln und Aktionen findet man in den Dateien, die mit action oder filter enden. Die Dateien sollte man sich wirklich einmal genauer ansehen, aber Änderungen nimmt man nur in der user.action vor. Da diese Datei als Letztes eingelesen wird, überschreibt diese Datei Regeln, die in den davor genannten Dateien definiert wurden. Möchte man z.B. von bestimmten Seiten doch Cookies zulassen, fügt man diese Seiten einfach unter dem Abschnitt { allow-all-cookies } ein. Die Dateien sind sehr gut dokumentiert und es sind viele Beispiele drin. Einfach mal anschauen. Passt hier dann alles, starten wir Privoxy:
/etc/init.d/privoxy start
Auch hier wollen wir, das Privoxy beim Starten des Rechners ebenfalls hochkommt:
rc-update add privoxy default
Wenn man nun im Firefox unter den Verbindungseinstellungen angibt, das man über den Proxy localhost:8118 surfen möchte, schickt Firefox alle Anfragen an Privoxy, welcher dort alle sicherheitsrelevanten Angaben entfernt (wir wollen ja möglichst unerkannt bleiben) und leitet es an den Tor-Daemon weiter, welcher die Daten dann verschlüsselt und sie an's Tor-Netzwerk durchreicht. Man darf sich vom Tornetzwerk nicht allzu viel Performance erwarten. Das Ganze ist relativ langsam, aber man kann damit leben.
Wir können nun aber in den Firefox ein Skript laden, das genau definiert, welche Seiten wir über das Tor-Netzwerk besuchen wollen und welche Seiten direkt angefragt werden sollen. Das Ganze ist JavaScript sehr ähnlich und sieht z.B. so aus:
function FindProxyForURL(url, host) {
if (isInNet(host, "193.222.168.0.", "255.255.255.0") ||
dnsDomainIs(host, ".boeseseite.de") ||
return "PROXY localhost:8118";
} else {
return "DIRECT";
}
}
Hier legen wir also fest, das Anfragen an das komplette Class-C Netz 193.222.168.0/24 und an boeseseite.de über Privoxy und damit über das Tor-Netzwerk laufen und der Rest ganz normal direkt angefragt wird. Man kann damit noch viel mehr machen. Genaueres gibt es hier nachzulesen: Navigator Proxy Auto-Config File Format
Diese Datei muss beim Firefox dann nur noch in den Einstellungen/Erweitert/Netzwerk angegeben werden z.B. file:///home/user/proxy/proxy.pac und schon werden die Einstellungen aktiv. In diesem Sinne...
( Aug 21 2007, 06:00:00 AM CEST ) Permalink Comments [0]
QEMU: Netzwerkanbindung
Nachdem ich kürzlich beschrieben habe, wie man Qemu mit Hardwarevirtualisierung unter Gentoo zum Laufen bringt, geht's dieses Mal um die Netzwerkanbindung von Qemu. Grundsätzlich ist das für eine Qemu-Instanz kein Problem. Man startet die VM einfach mit der Option -net nic -net user (was aber sowieso Default ist). Der Nachteil an der ganzen Sache hier ist allerdings, das nur TCP/IP-Verbindungen funktionieren. Ein ping z.B. funktioniert nicht. Wenn man allerdings eine vollständige Netzanbindung haben möchte, muss man etwas mehr tun. Grundsätzlich gibt es mehrere Möglichkeiten. Ich beschreibe hier die Möglichkeit über TAP und VDE (Virtual Distributed Ethernet). Diese erscheint mir recht sinnvoll und relativ schnell einzurichten. VDE stellt eine Art virtuellen Switch zur Verfügung, an dem mal einfach eine oder mehrere virtuelle Maschinen an
Zunächst brauchen wir TUN/TAP-Unterstützung im Kernel. Ich schätze, das dürfte so ziemlich jeder schon haben. Wenn man's nicht im Kernel einkompiliert hat (dann weiss man sicherlich, das man das gemacht hat ;-) ), kann man einfach mal
modprobe tun
eingeben. Wenn keine Fehlermeldung kommt, ist das Modul geladen (prüfen mit lsmod). Wenn das nicht klappt, muss man in die Kernelsources guggen und das TUN/TAP-Modul aktivieren. Dazu wechselt man nach /usr/src/linux und tippt make menuconfig ein. Unter
Device Drivers -> Network device support
aktiviert man Universal TUN/TAP device driver support als Kernelmodul. Als nächstes installieren wir VDE:
emerge -av vde
Dann erzeugen wir uns ein TAP-Device:
cd /etc/init.d/
ln -s net.lo net.tap0
Unter /etc/conf.d/net fügen wir Folgendes ein (eventl. passt man noch die IP-Adresse an):
config_tap0=( "10.0.2.1 netmask 255.255.255.0 " )
Um das Interface zu starten, gibt man Folgendes ein:
/etc/init.d/vde start
/etc/init.d/net.tap0 start
Damit VDE beim Start des Rechners automatisch startet, aktivieren wir das Start-Skript entsprechend:
rc-update add vde default
Mit ifconfig müsste man jetzt das tap0 Device sehen. Nun können wir die verschiedenen Qemu-Instanzen starten. Wichtig ist, das man jeder Qemu-VM eine eigene MAC-Adresse zuteilt. Qemu vergibt per Default immer die gleiche MAC-Adresse. So können sich die verschiedenen Qemu-Instanzen aber nicht über den virtuellen Switch unterhalten.
Nun kann man eine Qemu-Instanz starten. Ich habe Qemu unter /opt/kvm installiert. Das sieht dann so aus:
vdeq /opt/kvm/bin/qemu-system-x86_64 -net vde,vlan=0,sock=/var/run/vde.ctl -net nic,vlan=0,macaddr 52:54:00:00:AA:02 -hda disk.img -m 128 -localtime
vdeq ist ein Wrapper der Qemu startet und das Qemu-Gastsystem mit dem VDE Switch verbindet. Wenn man keine grafische Ausgabe möchte, weil das System z.B. auf einem Server läuft, gibt man einfach noch zusätzlich z.B. noch -vnc :2 an. Dann kann man sich mit dem vncclient mit dem Qemu-Gast verbinden. Was man nicht tun sollte, so logisch es klingen mag, -nographic anzugeben. Da geht bei mir die CPU Last ganz mächtig nach oben. Wieso ist mir allerdings etwas schleierhaft und das ist vielleicht auch nicht überall so.
Noch ein Tipp: Wenn ihr meint, ihr habt alles richtig gemacht, startet Qemu und setzt dann einen einfachen ping ab und es kommt die Meldung bad file descriptor, dann stoppt die VM, beendet VDE, stoppt das TAP-Device, löscht alles was irgendwie nach vde klinkt unter /var/run raus, startet das TAP-Device wieder, konfiguriert es (IP, Netmask, usw.), startet VDE wieder und anschließend Qemu. Bei mir hat's geholfen ;-) Hat mich auch blos 10 Jahre meines Lebens gekostet...
Ein paar Links:
Qemu - How to use Network
VDE Basic Networking
Using VDE with QEMU HOWTO
Gentoo HowTo: Qemu
Qemu / KVM - Ein grosses HowTo
Gentoo Wiki - KVM
OS on QEMU
Ubuntu - The Kernel Virtual Machine
QEMU Notes
QEMU - Debian - Linux - TUN/TAP - network bridge
QEMU, VDE and Dnsmasq
VDE, Dnsmasq SystemV Init-Skript
QEMU host <-> guest network bridging
Technorati Tags: gentoo, network, qemu, tap, tun, vde, dnsmasq, howto, debian, bridge
GENTOO: 32bit Firefox Flash Plugin unter AMD64
Es ist schon faszinierend, das Adobe es immer noch nicht geschafft hat, einen 64Bit Flashplayer auf die Beine zu stellen... Nun das soll uns unter Gentoo aber nicht daran hindern, unseren tollen mit
emerge -av firefox
gebauten 64bit Firefox 2 nicht mit einem 32bit Flash-Plugin ans Laufen zu bekommen :-) Zunächst lädt man sich mal von der Adobe Webseite das 32bit Flash-Plugin (64bit gibt's eh nicht...) runter. Das entpackt man dann z.B. nach /opt/flash/9. Dann brauchen wir einen kleinen Wrapper:
emerge -av nspluginwrapper
Den nspluginwrapper kann man sich auch von der Homepage runterladen. Funkt auch mit anderen AMD64/EMT64 Linuxversionen wie etwa Debian. Dann übergibt man einfach den vollen Pfad an diesen Wrapper:
nspluginwrapper -i /opt/flash/9/libflashplayer.so
Den Rest erledigt der Wrapper für uns. Wenn wir Firefox nun durchstarten, sollten wir auf youtube.com schon mal die Videos anguggen können - und wenn man Glück hat, auch mit Sound. Das hat bei mir nicht funktioniert. Ich sah das erste Mal die Videos ohne Sound. Aber auch hier gibt es Abhilfe:
emerge -av esound
/etc/init.d/esound start
rc-update add esound default
Ich hab sicherheitshalber dann den Rechner durchgestartet. Und dann liefen die Flash-Videos auch mit Sound :-))
Technorati Tags: firefox, plugin, flash, gentoo( Jul 28 2007, 01:00:00 AM CEST ) Permalink Comments [0]
COMPIZ-FUSION: Ein paar Tipps unter Gentoo
Ein bisschen hat's jetzt schon gedauert, aber nun läuft Compiz-Fusion endlich unter KDE. Vielleicht helfen die Tipps hier dem Einen oder Anderen weiter.
Als erstes Problem hatte ich Schwierigkeiten beim emerge -av compiz-fusion der mit folgendem Fehler abbrach:
MF .deps/scalefilter.Tpo -c scalefilter.c -fPIC -DPIC -o .libs/scalefilter.o
scalefilter.c:39:18: error: text.h: No such file or directory
scalefilter.c: In function 'scalefilterRenderFilterText':
scalefilter.c:120: error: 'CompTextAttrib' undeclared (first use in this function)
scalefilter.c:120: error: (Each undeclared identifier is reported only once
scalefilter.c:120: error: for each function it appears in.)
scalefilter.c:120: error: expected ';' before 'tA'
scalefilter.c:160: error: 'tA' undeclared (first use in this function)
scalefilter.c:169: error: 'TEXT_STYLE_BOLD' undeclared (first use in this function)
scalefilter.c:169: error: 'TEXT_STYLE_NORMAL' undeclared (first use in this function)
scalefilter.c:174: error: 'TextRenderNormal' undeclared (first use in this function)
scalefilter.c:177: error: 'TEXT_ID' undeclared (first use in this function)
scalefilter.c: At top level:
scalefilter.c:323: warning: no previous prototype for 'scalefilterUpdateFilter'
make[3]: *** [scalefilter.lo] Error 1
make[3]: Leaving directory `/var/tmp/portage/x11-plugins/compiz-fusion-plugins-extra-9999/work/plugins-extra/src/scalefilter'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/var/tmp/portage/x11-plugins/compiz-fusion-plugins-extra-9999/work/plugins-extra/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/var/tmp/portage/x11-plugins/compiz-fusion-plugins-extra-9999/work/plugins-extra'
make: *** [all] Error 2
!!! ERROR: x11-plugins/compiz-fusion-plugins-extra-9999 failed.
Call stack:
ebuild.sh, line 1621: Called dyn_compile
ebuild.sh, line 973: Called qa_call 'src_compile'
ebuild.sh, line 44: Called src_compile
compiz-fusion-plugins-extra-9999.ebuild, line 48: Called die
!!! make failed
!!! If you need support, post the topmost build error, and the call stack if relevant.
!!! A complete build log is located at '/var/tmp/portage/x11-plugins/compiz-fusion-plugins-extra-9999/temp/build.log'.
!!! This ebuild is from an overlay: '/opt/layman/xeffects'
Nachdem ich eine Weile rumgebastelt habe, habe ich mich vertrauensvoll an das Gentoo Forum gewendet. Die Lösung:
emerge compiz-fusion --skipfirst
emerge -1 compiz-fusion-plugins-extra
D.h. wir überspringen soz. den ersten Fehler und damit das compiz-fusion-plugins-extra Paket und installieren es hinterher erst. Das sorgt dann dafür, das die fehlende Datei dann zum Schluss vorhanden ist.
Meinen ersten Test hab ich dann gemacht, in dem ich compiz-start eingegeben habe. Das ist mir dann um die Ohren geflogen mit:
Xlib: extension "GLX" missing on display ":0.0"
Dabei hab ich dann festgestellt, das die GLX Extension nicht geladen werden konnte. Das sieht man in der /var/log/Xorg.0.log. Lösung war, den Nvidia Grafiktreiber neu zu installieren.
Als Nächstes ging dann der CompizConfig Settings Manager nicht. Beim Start von ccsm brach das Ganze mit
Traceback (most recent call last):
File "/usr/bin/ccsm", line 23, in ?
import compizconfig
ImportError: /usr/lib/python2.4/site-packages/compizconfig.so: undefined symbol: ccsLoadPlugin
ab. Lösung von dem Ganzen:
emerge -av libcompizconfig
Ansonsten lief die Installation wie unter Gentoo Xeffects beschrieben ganz gut.
Technorati Tags: gentoo, compiz, kde, xeffects, ccsm, nvidia, fusion
KVM - Kernel based Virtual Machine - unter Gentoo installieren
Nachdem ich mich gegen XEN und für die Kombination KVM/Qemu entschieden habe, habe ich in letzter Zeit damit etwas beschäftigt. Aufgrund meiner aktueller Hardware musste auch ein relativ aktueller Kernel her, der mindestens 2.6.20 sein musste. Das hatten vor ein paar Wochen noch nicht viele Distributionen. Ausserdem war es für mich wichtig, das ich jederzeit meinen eigenen Kernel kompilieren kann. Und damit sieht's dann mit XEN ganz schlecht aus. Man braucht eigentlich immer einen Kernel, der bei der Distribution dabei ist. Wenn man auf die Sourcen von der xensource.com Seite angewiesen ist, ist man eh verloren. Mich würd das einfach aufregen, immer darauf angewiesen zu sein, wann eine Distribution mal wieder einen Kernel mit XEN rausbringt oder XEN selbst mal wieder eine Anpassung an irgendeinen Kernel macht. Also was liegt näher, gleich die KVM zu verwenden, die seit 2.6.20 sowieso in jedem Kernel ist? Soweit ich das bis jetzt beurteilen kann, läuft das wirklich gut. Nur einen Nachteil gegenüber XEN habe ich bisher gefunden (ok man braucht noch einen Prozessor, der Hardwarevirtualisierung unterstützt, den XEN auch nicht braucht...), der schon etwas schade ist: Man kann keine PCI Geräte in die KVM einblenden. Bei XEN kann man z.B. eine TV-Karte aus der Dom0 ausblenden und in eine DomU einblenden. Bei der KVM ist man auf die Geräte beschränkt, die der Emulator mitliefert. Auf jeden Fall bin ich mit der Geschwindigkeit der KVM bisher sehr zufrieden.
Zunächst guggt man, ob man einen Prozessor mit Hardwarevirtualisierung (HVM) hat:
egrep '^flags.*(vmx|svm)' /proc/cpuinfo
Bei mir sieht das dann so aus:
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 syscall nx lm constant_tsc pni monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr lahf_lm
Kommt keine Ausgabe, dann kann man die KVM nicht nutzen. vmx erscheint bei Intelprozessoren und svm bei AMD. Inzwischen ist der Kernel 2.6.20 für die AMD64/EMT64 Plattform nicht mehr masked, so das bei der Installation des Kernels mit
emerge -av gentoo-sources
bei mir momentan 2.6.20-r8 installiert ist. Als nächstes sollte man im Kernelsource guggen, ob das KVM Kernelmodul auch einkompiliert ist. Dazu verwendet man entweder genkernel oder man wechselt nach /usr/src/linux und gibt make menuconfig ein. Ob das KVM Modul aktiviert ist, sieht man unter
Device Drivers
-> Virtualization
-> Kernel-based Virtual Machine (KVM) support
Hier schaltet man dann die KVM für Intel oder eben AMD ein, falls nicht schon passiert. Wenn man den Kernel neu erzeugen muss, dann sollte man das aber mit genkernel machen mit
genkernel --menuconfig
Wenn man dann einen fertigen Kernel hat und der Rechner eventl. restartet wurde, kann man das Kernelmodul laden für Intel
modprobe kvm-intel
und für AMD
modprobe kvm-amd
Nun ist es so, das das KVM Modul höchstwahrscheinlich mit dem GCC 4 kompiliert worden ist. Bei gcc -v kommt bei mir z.B. die Version 4.1.1 zu Tage. Der Emulator Qemu läßt sich aber momentan aber nur mit GCC 3 übersetzen. Also müssen wir den nachinstallieren:
emerge =sys-devel/gcc-3.4.6
Nun brauchen wir die Programme für den Userspace und damit u.a. den Emulator Qemu, der hier in einer angepassten Version für die KVM vorliegt. Die KVM Userspace-Programme kann man bei Sourceforge downloaden:
Für den Kernel 2.6.20 brauchen wir die Version 12 und für Kernel 2.6.22 KVM-36. Die Installation sieht dann z.B. wie folgt aus:
tar xvfz kvm-12.tar.gz
cd kvm-12
./configure --prefix=/opt/kvm --qemu-cc="/usr/bin/gcc32"
make
make install
U.U. muss man noch die Alsa-Sources nachinstallieren (die musste ich unter Debian Etch nachinstallieren). Bei mir waren alle nötigen Sourcen schon vorhanden. Wenn das dann durchgelaufen ist, findet man in /opt/kvm/bin qemu-img zum Erzeugen der VM-Images und qemu-system-x86_64 mit dem man die VM dann startet.
So... Dann sind also mal die Grundvoraussetzungen für die KVM geschaffen. Wie man Images erzeugt und wie man mehrere VMs mit Hilfe des VDE (Virtual Distributed Ethernet) ans Netz bringt, zeig ich dann später. Mehr zu dem Thema auch im KVM Gentoo Wiki.
( Jul 07 2007, 03:00:00 AM CEST ) Permalink Comments [0]
Nvidia GTS 8600, Gentoo und KDE
Also ich muss sagen, ich bin einigermaßen begeistert :-) Wer hätte das gedacht, das die 8600 GTS so schnell auf Gentoo mit den Nvidia-Treibern, Twinview und Kernel 2.6.20 laufen würde. Nachdem mein neuer Rechner eine ganze Weile nur als Server lief und inzwischen alle Server-Dienste in einer eigenen Qemu-VM (mit KVM) laufen, wollte ich auch endlich mal meinen alten Pentium IV einmotten und den neuen Geschwindigkeitsrausch genießen ;-)
Für die KDE-Installation passt man erst mal /etc/make.conf an:
LINGUAS="de en_GB"
Hier rein schreibt man die Sprachen für die Internationalisierung. Dabei bietet sich de für deutsch an, aber bei mir steht da immer en_GB drin, da ich immer mit den englischen Versionen arbeite. Dann installiert man das kde, dbus und hal Paket. Die enthalten alles, was man für KDE braucht und installieren mal einen Grundstock an KDE-Programmen:
emerge -av kde
emerge -av dbus
emerge -av hal
rc-update add dbus default
rc-update add hald default
echo "exec startkde" > ~/.xinitrc
Damit hat man dann alles, was man für KDE braucht. Also auf meinem T6700 dauerte das Kompilieren gute 3 Std. wenn mich nicht alles täuscht. Hatte das über Nacht durchlaufen lassen. Also es dauert auf jeden Fall etwas ;-) Dann müssen wir noch den Displaymanager anpassen in /etc/conf.d/xdm:
DISPLAYMANAGER="kdm"
Als nächstes holt man sich dann von der Nvidia-Seite den Treiber für die 8600 GTS. In meinem Fall war das die Version 100.14.11 für Linux AMD64/EM64T. Das hatte ich dann einfach per wget runtergeladen und mit sh NVIDIA-Linux-x86_64-100.14.11-pkg2.run gestartet. Dann folgt man einfach den Anweisungen des Programms. Dann konnte ich schon mal mit startx KDE starten. Das funktionierte auch gleich auf Anhieb und mein Eizo T965 zeigte auch gleich einen 1600x1200 großen Desktop mit 85 Hz an :-) Aber da hängt ja noch mein Eizo F730 dran. Da das NVIDIA X Server Settings Programm mal wieder nicht im Stande war (wie bei ATI auch), den zweiten Bildschirm einzurichten, musste ich also wieder Hand anlegen um Twinview ans Laufen zu bekommen. Das war aber nicht weiter schwierig. Xinerama wäre auch eine Option gewesen, aber bisher hat Twinview noch fast immer jeden Benchmark gewonnen. Und so sieht dann hierfür die /etc/X11/xorg.conf aus:
Section "ServerLayout"
Identifier "Layout0"
Screen 0 "Screen0" 0 0
InputDevice "Keyboard0" "CoreKeyboard"
InputDevice "Mouse0" "CorePointer"
EndSection
Section "Files"
RgbPath "/usr/lib64/X11/rgb"
EndSection
Section "Module"
Load "dbe"
Load "extmod"
Load "type1"
Load "freetype"
Load "glx"
EndSection
Section "ServerFlags"
Option "Xinerama" "0"
EndSection
Section "InputDevice"
Identifier "Mouse0"
Driver "mouse"
Option "Protocol"
Option "Device" "/dev/input/mice"
Option "Emulate3Buttons" "no"
Option "ZAxisMapping" "4 5"
EndSection
Section "InputDevice"
Identifier "Keyboard0"
Driver "kbd"
EndSection
Section "Monitor"
Identifier "Monitor0"
VendorName "Eizo"
ModelName "CRT-0"
HorizSync 30.0 - 110.0
VertRefresh 50.0 - 150.0
Option "DPMS"
EndSection
Section "Device"
Identifier "Device0"
Driver "nvidia"
VendorName "NVIDIA Corporation"
EndSection
Section "Device"
Identifier "Videocard0"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "GeForce 8600 GTS"
EndSection
Section "Screen"
Identifier "Screen0"
Device "Videocard0"
Monitor "Monitor0"
DefaultDepth 24
Option "CoolBits" "1"
Option "TwinViewOrientation" "RightOf"
Option "UseEdidFreqs" "True"
Option "SecondMonitorHorizSync" "30.0 - 110.0"
Option "SecondMonitorVertRefresh" "50.0 - 150.0"
Option "TwinView" "1"
Option "metamodes" "CRT-0: 1600x1200 +0+0, CRT-1: 1600x1200 +1600+0"
SubSection "Display"
Depth 24
Modes "1600x1200" "1280x1024" "1024x768" "800x600" "640x480"
EndSubSection
EndSection
Mehr zum Thema auch hier:
HOWTO KDE Desktop for the end-user
Technorati Tags: driver, gentoo, kde, nvidia
UDEV: Blacklist unter Gentoo
Wenn man unter Gentoo Linux verhindern möchte, das von udev ein Kernelmodul geladen werden soll, kann man das ganz einfach erledigen. Man legt eine Datei
/etc/modprobe.d/blacklist
an und schreibt pro Zeile den Modulnamen mit dem Keyword blacklist rein, den man nicht laden möchte. Bei meinem Asus Commando Board z.B. sind folgende Module eingetragen:
blacklist sky2
blacklist 8139cp
Das kommt aber eher daher, das ich viele Module kompiliert habe. Würde man sie rauslassen, beim Kernel kompilieren, wäre das nicht nötig.
Technorati Tags: blacklist, gentoo, linux, udev


