Tuesday, April 19, 2005

Cooker@official - Tlustý klient hautů

Občas mám doma pracovní notebook a hraju si na něm s linuxem. Asi nejvíc používám live distribuci Slax (upravená 4.2, pětka má bohužel mouchy). Teď se mi navíc povedlo rozchodit bootování ze sítě, a tak už nejsem omezený na live distra. Zkouším si novinky v Cookeru, zatímco na hlavním stroji brouzdá žena po netu v MDK 10.1 (a na harddisku notebooku nebyl změněn jediný bit).




Tlustý klient?

Tlustý klient bootuje ze serveru a data má na serveru uskladněná, ale výpočetní sílu používá svoji.
Narozdíl od tenkého klienta, který v podstatě jen zobrazuje to, co mu server posílá.
Jelikož oba stroje mají srovnatelný výkon (Athlon 1800, 512 RAM x Celeron 1700, 256 RAM), připadlo mi použití tenkého klienta jako plýtvání zdroji.




Jak na to?
Nejprve jsem zkoušel použít průvodce drakTermServ od Mandraku, ale ten předpokládá, že se nasdílí celý / serveru, kam se pomocí ClusterNFS dá i zapisovat. To se mi podařilo celkem bez problémů zprovoznit, ale jen do chvíle, kdy jsem chtěl i na klientovi zprovoznit 3D akceleraci grafiky a totálně se v tom zamotal (nVidia server x ATI klient). Navíc jsem chtěl vyzkoušet i jinou distribuci. Proto jsem drakTermServ spolu s ClusterNFS zavrhl a zkoušel to jinak.

Na opuštěný oddíl hda6 (který se od nějaké doby mountuje jako /mnt/gentoo ;-)) jsem nainstaloval Mandriva Cooker. V něm jsem nainstaloval drakTermServ a nechal jsem vytvořit obraz pro bootování ze sítě. V adresáři /var/lib/tftpboot se tedy vytvořily soubory boot-3c59x.2.6.11-6mdk.nbi a initrd-3c59x.2.6.11-6mdk.img. Ale nefungovaly - z několika důvodů.

Protože síťová karta v notebooku je od firmy 3COM a poněkud nekompatibilní, bylo potřeba upravit zaváděcí obraz utilitou imggen:


cd /var/lib/tftpboot/

mv boot-3c59x.2.6.11-6mdk.nbi boot-3c59x.2.6.11-6mdk.nbi.new

./imggen -a boot-3c59x.2.6.11-6mdk.nbi.new boot-3c59x.2.6.11-6mdk.nbi

rm -f boot-3c59x.2.6.11-6mdk.nbi.new

Další problém byl s initrd. Předně neobsahoval modul mii, na kterém je závislý modul 3c59x a potom předpokládá, že NFS server poskytuje adresář /. Určitě by bylo lepší upravit jen initrd, každopádně já jsem postupoval cestou poněkud jinou. Věděl jsem, že drakTermServ volá příkaz


mknbi-set -v -k /boot/vmlinuz-2.6.11-6mdk -r 3c59x

mknbi-set jsem našel v /usr/bin a zjistil, že je to ve skutečnosti skript, který zase v jednom místě volá další skript mkinitrd-net. A ten jsem upravil k obrazu svému - přidal modul mii:


# seems we've moved nfs into the kernel now

if [ -d "/lib/modules/$kernel_ver/kernel/fs/nfs" ]; then

modules="mii $modules sunrpc lockd nfs" # Always require nfs for nfs mount

fi

Potom jsem ještě zašel do /usr/lib/mkinitrd-net/initrd-skel/, kde se nachází vzorové soubory pro tvorbu initrd a změnil v souboru udhcpc-post natvrdo adresář pro mount NFS na /mnt/gentoo.
Teď jsem tedy znovu spustil příkaz



mknbi-set -v -k /boot/vmlinuz-2.6.11-6mdk -r 3c59x


a Cookera vypnul a nabootoval zpět do Official. Tam jsem překopíroval boot a initrd z /mnt/mdk/var/lib/tftpboot do /var/lib/tftpboot.

Od předchozího pokusu mi v systému zůstal nakonfigurovaný tftp, dhcp a NFS server, v jejichž konfigurácích stačilo udělat drobné změny, aby si odpovídaly verze kernelu a tak podobně.
Jako poslední jsem upravil soubor /etc/fstab u klienta (ve skutečnosti tedy /mnt/gentoo/etc/fstab):


192.168.1.1:/mnt/gentoo / nfs rsize=1024,wsize=1024,noac,nolock,intr 0 0

Teď už jen připojit notebook kabelem, v biosu upřednostnit boot ze sítě et voila!
Mandriva sice při detekci nového hardwaru chvilku přemýšlela, ale všechno si bez problému našla a za chvilku jsem byl v KDE.

Jediné, co mi ještě chybělo byl swap, protože 256 MB RAM opravdu není mnoho. Swapovat přes NFS je prý nebezpečná záležitost, takže jsem použil NBD (Network Block Device) od Pavla Machka.
Vytvořil jsem soubor do kterého bude klient swapovat:


dd if=/dev/zero of=ntbswapfile bs=1048576 count=512

su

mkswap ntbswapfile

Stáhnul jsem a zkompiloval zdrojáky a na serveru spustil server:


nbd-server 9000 /home/hajma/ntbswapfile

(zvláštní je, že dokumentace uvádí volbu -l soubor, kde v souboru je seznam IP, ze kterých lze přistupovat na server, ale při použití této volby program zdechne)
a na klientovi klienta:


modprobe nbd

nbd-client 192.168.1.1 9000 /dev/nbd0

(klient má ještě volbu -swap, která je vyloženě dělaná na swapování, ovšem vyžaduje úpravu jádra. S tím si budu hrát jindy, zatím se mi to nehryže)
A zapnul swapování:



swapon /dev/nbd0

Teď jenom nastavit, aby se síťovka odpojovala až po odpojení fs a nastavit přístup na web a je to.

Update: Stačilo z /etc/rc.d/rc0.d (potažmo rc6.d) vyhodit linky K..nfslock, K..netfs a K..network

Wednesday, April 6, 2005

deltarpm

Posledních pár dní jsem přemýšlel nad vytvářením diffů mezi jednotlivými rpm balíčky pro případ updatů a hrál jsem si s bdiff a bsdiff.
Najednou koukám, že v MDK Cookeru už to je.
Snad se to uchytí a místo 150MB updatů KDE budu stahovat třeba jenom 1/3...



Dobrá práce, MDK!


Monday, April 4, 2005

Spořka's not dead!

Přestěhovali jsme se, tak jsem zašel do spořky změnit si adresu...


Já: Dobrý den

Paní: Dobrý den, jak Vám mohu pomoci?

Já: No, ehm, přestěhoval jsem se, takže bych chtěl změnit adresu na posílání výpisů a tak ...

...předávám občanku a platební kartu jako identifikaci (takovej ten papírek s číslem účtu, co mi vždycky nacpou, zahazuju, nemám rád nabobtnalou dokladovku), diktuju novou adresu

Já: ehm, když jsem se stěhoval minule, tak mi pořád ještě chodily nějaký výpisy, teď mi je donesl člověk, co tam bydlí, asi to bude kvůli týhle kartě, kterou mám ještě od vás, můžete na to juknout?

Paní: Nojo, je tam ulice ..., tak to taky změníme?

Já: Nojo...

Já: No a eště prosímvás změňte tu adresu na zasílání pinů a tak...

Paní: Klik, klik

...(pár podpisů)...
Já: Jo, a je ještě nutný si nechat posílat ty výpisy? Je to docela mrhání peněz (mejch)...

Paní: No, prý někdy letos by to mohlo bejt zrušitelný, optejte se průběžně...

Já: Tak, jo, díky, naschle

Paní: nashledanou

Ale ten inetbanking maj fakt dobrej a že nemám IE mi taktně naznačej jenom na začátku a potom to není vůbec poznat ;-)

Wednesday, March 23, 2005

Silent Mouse - The Second Encounter

Having used my silenced rodent for nearly 1/2 year at home, I finally decided to get rid of the clicking noise at work too and here's the how-to. Some people wanted me to translate the original article, but I guess it's better to start afresh with a revised and simplified approach.


I'm not going repeat reasons for silencing mice, if you want to do it, you probably know why. If you don't know why, then just assume there are people who hate the clicking sound.


Equipment needed:
a Genius Netscroll+ mouse - my original object of experimentation
genius
or other type, such as my Dell scroll mouse (seems to be a Logitech)
dell
(these two have been proven to work)
cross-point screwdriver
soldering iron
tin-lead solder
rosin or flux
sharp knife
2 cm of thin insulated wire (2 pcs) (only if necessary)


1. Disassemble the mouse. Now you can see the three switches that make more than 90 % of the noise (the 10 % are made up by resonance in the plastic body - I tried to fill it with some silencing material, but got no audible difference).

genius-insidedell-inside

Take a look at the switches, they must look more or less like this one:
switch

My method is only possible with this type of switch, if you see other type in your mouse you'll probably have to invent something else. This is the case of middle button of Dell mouse (green circle above).


2. Take notes on the position of white switch buttons. This step is probably unnecessary, as this seems to be always marked on the pcb's.



3. Carefully solder out the two outer switches. In my first attempt I silenced also the middle switch, which turned to be a bad solution. The switch became too sensitive and could be triggered by mere scrolling. I use the middle button rarely, so I left it noisy in the end; but if you do use the middle button often and therefore wish to hush it too, try it, you have been warned.



4. Open the switch by carefully lifting the legs (perhaps there's better word for it) on its sides.
opening-switch
It's wiser to put the switch upside down beforehand, so that the tiny white plastic button won't fall out. It's not a serious problem if you manage to break the legs - just glue the parts together afterwards - or forget it completely and take the risk of mouse malfunction in extreme conditions (e.g. earthquake).



5. Turn the switch cover by 180 degrees and join it with base again.

before: before after: after

What is the purpose? This way the point where the button touches the spring is shifted and somehow the spring now moves gradually rather than at once.
The switch lids of the Dell mouse were a bit different, there wasn't enough room to fit the switch after rotation, so I had to make more space with hot solder gun.



6. Solder the switches back to the PCB. They have to be in the same position as in point 2 - if the button was in front, it has to be in front again...



7. In case where only two pins are connected to the circuit (Genius), the pins of the switches are now reversed. To fix it, just connect the outer pins with a piece of wire. (note that this is an old photo, the middle button is no longer silenced and there's no wire there now)
propojky-genius
With other type of mouse double check the schematics on how the pins are used.

The Dell mouse has both outer pins grounded, so there's nothing left to do.
dell-pcb



8. Reassemble the mouse and enjoy.


You can check recorded sound of clicking before and after. FYI, the sounds are of the Genius mouse, but trust me, the other one is dead silent too, I was just too lazy to record it.

Side notes:
The disadvantage is, that the actual clicking is perhaps not as distiguishable or maybe accurate (no audio feedback in fact), but it's just a matter of getting used to. Other ways I have tried consisted of shortening the distance the spring has to travel, but the noise reduction gained was not satisfactory for me..
Also the mouse buttons are now more sensitive, so you'll get a few false clicks in the first couple of days, before you learn how to handle it.


Monday, March 14, 2005

Moje biosféra

Biosféra je v podstatě takový malý soběstačný svět s uzavřeným koloběhem živin.



Kdysi dávno jsem narazil na stránky, které popisují, jak si takovou biosféru vyrobit doma. Nemůže se to samozřejmě vyrovnat profíkům, ale největší radost má člověk stejně z toho, co si vyrobí sám ;-).



Takže jsem asi před půl rokem vzal litrovou sklenici, naplnil ji vodou, naházel do ní vláknité řasy, které se mi zrovna v tu dobu přemnožily v akvárku, zavřel to pevně víčkem a postavil za okno.



Bohužel jsem si v průběhu nedělal žádnou dokumentaci. Řasy prošly vývojem, nejprve plavaly nahoře, nadnášeny bublinkami kyslíku, pak se uklidnily a zatím sedí dole, patrně se drží několika kamínků, které tam jsou. S řasami se do biosféry dostali i šneci okružáci. Adaptace na nové prostředí měla své oběti, 8 spáchalo protestní sebevraždu vylezením z vody (jejich prázdné ulity jsou vidět v hrdle láhve na jedné z fotek). V současnosti prolézají řasy dva jedinci.. Občas se vodou mihne ještě blíže neidentifikovatelný plankton, asi buchanka, i když už jsem ho vlastně dlouho neviděl ...



Mluvím o té láhvi vlevo, ta vpravo je čerstvě založený pokus se sladkovodními řasami v mořské vodě, který momentálně nevypadá moc dobře.



biosféra1



biosféra2



biosféra-detail


Řasy rostou z živin ve vodě (plus sluneční světlo, samozřejmě), šneci žerou řasy, bakterie rozkládají šnečí hovínka na živiny, a tak pořád dokola ...

Wednesday, March 9, 2005

Serious Sam - The First Encounter

Taková střílečka co funguje i v linuxu


V jednom nejmenovaném obchodě s levnými knihami jsem si nedávno koupil za cenu cca jedné bagety CD ROM se hrou Serious Sam - First Encounter. Protože bylo na obalu uvedeno, že hra frčí v OpenGL, měl jsem celkem slušnou naději, že se mi ji pod linuxem podaří rozchodit. A skutečně, zagooglení stylem "serious sam first encounter linux" mě zavedlo na stránku http://www.seriouszone.com. (v době umístění tohoto zápisu na web nefunkční, nevím proč)


Celkem je potřeba stáhnout 4 soubory - první binárku a 3 patche: ssam-tfe-lnx-beta1a.run, ssamtfe-beta1b.sh.bin, ssamtfe-beta2.sh.bin, ssamtfe-beta3.sh.bin

Patche se musejí aplikovat všechny, protože teprve poslední patch ruší časové omezení pro používání hry (prý ho zavedli proto, aby je lidi neotravovali s dotazy na staré vývojové verze).


K instalaci potřebuje instalátor originální CD, při hře už naštěstí není potřeba a není teda nutný prohledávat šuplíky.

Smysl hry je zcela originální - postřílet všechny zrůdy, najít 4 elementy a záchránit civilizaci. Hrdina je za tímto účelem teleportován do starého Egypta, který se jen hemží balíčky s brokovnicemi, samopaly, RPG ... a příslušnými zrůdami.
Pozitivní je, že vzhledem ke stáří hry si můžu i se svou GeForce4MX440SE nastavit velké rozlišení s maximálními detaily a pořád se to hýbe docela rychle ;-).


Pozn.: Na obalu je napsáno Special edition - 7 z 15 levelů, bude to teda asi trochu osekaná verze. Jak je to ve skutečnosti zjistím, až se mi podaří prostřílet přes ty žáby...





serious1


serious2


serious3


serious4


serious5

Thursday, February 17, 2005

Tuxové v Rakousku

V Rakousku už pouštějí tučňáky i do vlaků a lodí...


BTW nemám tučňáky rád, je jich moc...

tuxi