XP w PLD c.d.

Już miałem wysłać bug-report w sprawie tego problemu z zegarem XP pod
QEMU, zapisałem się na odpowiednią listę dyskusyjną, ale jeszcze zerknąłem do
archiwum. Okazało się, że wczoraj ktoś zrobił na to patcha. Założyłem łatkę
i rzeczywiście, zegar działa dużo lepie. Odrobinę się spóźnia, ale to już nie
jest taki duży problem. No i ntpd się na tym nie wykrzacza,
chociaż zniwelować odchyłki czasu mu się nie udaje.

Po naprawieniu zegara przyszło zainstalować jakąś konkretną aplikację,
znaczy się, tego nieszczęsnego Płatnika. Na początku instalator Płatnika mnie
okrzyczał, że rozdzielczość mu się nie podoba i musi być co najmniej 800×600.
Czas więc było pożegnać się z opcją -std-vga i zasymulować Cirrus
Logic. Windows XP po tej zmianie nawet nie jęknął, tylko od pierwszego
uruchomienia zaczął używać 256 (zamiast wcześniejszych 16) kolorów. Hmmm…
mógłby w sumie napisać, że karta się zmieniła. Przełączenie na 800×600
i 16-bitowy kolor też nie było problemem, tyle że tło się trochę kaszaniło.
Ale to już chyba wina emulatora i po jego restarcie było OK. Płatnik dał się
zainstalować (BTW. jego wymagania co do hasła administratora są IMHO lekko
przesadzone) i wygląda na to, że działa. Tyle że wolno. Ale to już żonka musi
stwierdzić, czy da się w tym pracować, czy nie.

Teraz instaluje się SP2, wcześniej pociągnąłem przez Windows Update jakieś
mniejsze poprawki. Sieć w tym chodzi bardzo wydajnie, a i łącze w domu mamy
niezłe, więc to akurat bardzo szybko idzie. Może jutro żona spróbuje tego
używać i okaże się, czy to w ogóle miało sens, czy jest to sztuka dla sztuki.

Update: Zapomniałem jeszcze napisać jak Windows widzi tę emulowaną maszynę: Unknown Processor Intel P6, 4.1Ghz (laptop ma 1.13GHz)

Windows XP pod Linuksem…

Żonka już się chwaliła swoim służbowym
laptopem
. Podstawowy system tam to oczywiście Linuks, PLD. Niestety…
żona w pracy zajmuje się, między innymi, ZUSem, a więc Windowsa też mieć musi.
Pół biedy mieć Windowsa na laptopie, gorsza jest konieczność wyłączania
Linuksa, żeby z niego skorzystać. Postanowiłem więc zainstalować Windowsa XP pod
Linuksem.

Już kiedyś bawiłem się VMWare, ale to komercyjne i pierońsko drogie
oprogramowanie, a już ostatnio gdy tego próbowaliśmy z darmowymi licencjami
nie było tak fajnie jak kiedyś, gdy można było co miesiąc sobie je po prostu
odnawiać. Darmowych wirtualnych pecetów jest kilka, jednak zwykle wiele im
brakuje. Najbardziej zachęcający wydał mi się QEMU szczególnie, że pojawił się
do niego akcelerator pozwalający na uruchamianie kodu na rzeczywistym,
a nie wirtualnym, procesorze. Dzięki temu wirtualny komputer może być znacznie
szybszy.

Legalny Windows XP OEM przyszedł razem z laptopem. Najpierw próbowałem
tego zainstalowanego już Windowsa odpalić z kopii partycji Windowsowej. Coś
tam niby się ładowało, ale zatrzymywało się na czarnym ekranie. Uznałem więc,
że trzeba w wirtualnej maszynie zainstalować system od nowa. Sądziłem, że
któraś z płytek dołączonych do komputerka zawiera wersję instalacyjną Windows.
Jednak nie, tam były tylko obrazy dysków i program do odtwarzania tego,
odmawiający współpracy na czymkolwiek innym niż taki sam laptop do jakiego
płytki były dołączone. Maszyna wirtualna QEMU nie spełniała tego warunku. Już
myślałem, że z instalacji nici, ale się okazało, że gotowa instalka leży
normalnie na dysku, na partycji Windowsowej, obok zainstalowanego systemu.

Zrobiłem obraz dysku z partycją FAT32, przegrałem tam instalkę, dorzuciłem
ten obraz jako drugi dysk, obok virtualnego dysku docelowego. Instalację udało
się uruchomić startując z jakiejś dyskietki startowej Windows 95. Szło to dość
powoli, ale praktycznie bezbłędnie do momentu pierwszego planowego restartu.
Instalacja po restarcie, dalej w trybie tekstowym, zaczęła się sypać. Jakichś
plików instalator nie mógł znaleźć, a potem wywalał się z Bus error.
Wyczytałem gdzieś, że na Bus error pomaga odpowiednie ustawienie
wielkości pamięci maszyny wirtualnej (powinno być tego trochę mniej niż
wynosiła wielkość /dev/shm), ale żeby od razu wykluczyć wszelkie problemy
i nie zaczynać wiele razy od nowa, wyłączyłem dla pewności też
kqemu (akcelerator). To drugie było raczej
niepotrzebne. W każdym razie instalacja się udała, tyle że trwała ponad 24h. Z
włączonym akceleratorem pewnie byłoby parę razy szybciej.

Teraz system się uruchamia i działa ładnie, tyle że strasznie wolno. Ale
największym problemem jest zegar — w Windows na wirtualnej maszynie
chodzi nawet grubo ponad 10 razy szybciej niż powinien. To pewnie powoduje
dodatkowe obciążenie (pewnie w Windows też coś w rodzaju crona chodzi),
a niektóre rzeczy przez to po prostu nie działają (timeout dla operacji, która
nawet nie zdążyła się rozpocząć). Na listach QEMU sugerowali NTP. Najpierw
spróbowałem klienta wbudowanego w Windows. Ale to porażka. Po ręcznym
ustawieniu czasu mniej-więcej udało się zsynchronizować zegar przez
NTP, ale ta synchronizacja polegała na jednorazowym ustawieniu czasu
z komunikatem, że kolejna będzie za tydzień. To zupełnie mnie nie
satysfakcjonowało. Zainstalowałem więc Windowsowy port normalnego
ntpd. Przynajmniej było widać, że ten stara się czas na bieżąco
ustawiać, ale przy tak rozjechanym zegarze najwyraźniej też zgłupiał
i przestawił mi zegar jeszcze o parę godzin. Chyba będzie trzeba poczekać aż
w samym QEMU jakoś ten problem rozwiążą…

Teraz spróbuję jeszcze zmienić wirtualną kartę graficzną ze zwykłego VGA
na SVGA Cirrus Logic — ciekawe jak to się odbije na wydajności. No
i czy tego się będzie dało w ogóle praktycznie używać.

Historia padu pewnego dysku…

W piątek rano jeden z naszych serwerów nagle przestał odpowiadać, nawet na
konsoli szeregowej. Kumpel przeszedł się na serwerownie zobaczyć co jest.
Komputer nie reagował, a po resecie nie widział jednego dysku (tego z którego
miał się startować system). Uznałem, że dysk mógł się zawiesić na
twardo
i zaproponowałem odłączenie komputera całkowicie z zasilania na
chwilę. Po tej operacji system wystartował normalnie z właściwego dysku.

Jak już system działał postanowiłem dyskom bliżej się przyjrzeć.
smartctl -a stwierdził OK. scsinfo -a nie
wykazało żadnych bad sektorów. Zapuściłem jeszcze
SMART Extended Self Test i uznałem, że problem został
zażegnany. Niestety po chwili serwer zaczął się zachowywać dziwnie. Dawał
błąd read-only filesystem przy dowolnej próbie zapisu na głównej
partycji. W logach było jedynie nic nie mówiące Journal aborted. Gdy
chciałem sprawę bliżej zbadać, okazało się, że bash nie widzi podstawowych
binarek. Jakież było moje zdumienie, gdy się okazało, że ls -l /
nie pokazuje nic. Ale już np. ls -l /bin/ls
pokazywało poprawne informacje o pliku. Nie było co się więcej zastanawiać,
tylko downować serwer i lecieć na serwerownię.

Na serwerowni powtórzyliśmy operację, która poprzednio przywróciła maszynę
do życia. Bez skutku — system już nie startował z tego dysku. Co prawda, BIOS
kontrolera widział dysk, ale z Media format error i go od razu
wyłączał. Wyciągnęliśmy więc serwer z szafy i zanieśliśmy do biura.

Dysk podłączony do innej maszyny też nie działał, więc zabraliśmy się za
ratowanie systemu, wykorzystując to co zostało. Na szczęście okazało się, że
większość najistotniejszych plików (/var i /home)
leży na drugim, ocalałym dysku. Znalazło się też tam miejsce na odtworzenie
/ + /usr z backupu.

Backupy wszystkich naszych serwerów zapisujemy na tasiemkach przy pomocy
oprogramowania Bacula (It comes by
night and sucks the vital essence from your computers.
). Ten wspaniały
zestaw narzędzi pozwala nam zdalne backupowanie wszystkich systemów na jednym
streamerze, zachowując informacje o tym co, gdzie i kiedy zostało
zarchiwizowane. Niestety okazało się, że przy odtwarzaniu z tych kopii
zapasowych to już nie działa tak ładnie…

Pierwszy problem to to, że gdy Bacula skończył odtwarzanie z jednej
tasiemki, to nie poprosił o włożenie kolejnej, tylko wszedł w jakiś dziwny
stan w którym nic nie mógł przeczytać, ani nie dało się kasetki wyciągnąć.
Dało się to obejść rozpoczynając kolejny proces odtwarzania, tylko danych z
tej drugiej (chronologicznie pierwszej) tasiemki.

Gorszy był drugi problem. Odtwarzanie przerwało się gdzieś w środku (na
jakimś /dev/rd/cośtam. Puściłem jeszcze raz, omijając dane już
odtworzone, oraz katalog na którym się wywalił. Niby wszystko odzyskaliśmy,
ale okazało się, że prawa dostępu do wielu katalogów, utworzonych w tym
przerwanym procesie, są co najmniej dziwne. Np. 744 na /usr albo
777 na /usr/local/bin. Udało się to jednak RPMem do porządku
doprowadzić. Ostatecznie udało się, jeszcze w piątek, uruchomić na serwerze
podstawowe usługi, w tym Jabbera i pocztę, bez żadnych strat w danych.

Od razu, gdy stwierdziliśmy, że dysk padł, zamówiliśmy nowy. Była pewna
szansa, że przyjdzie w sobotę i plan, żeby w tę sobotę odzyskać resztę systemu
(w tym builder AMD64 dla PLD). Jak nie w sobotę, to w poniedziałek od rana.
Dysk przyszedł w poniedziałek (dzisiaj), ale dopiero w południe.
Spartycjonowałem go, założyłem wolumeny LVM i przegrałem większość danych z
tego ocalałego dysku. Zacząłem też odtwarzanie pozostałych danych z backupu.
Wszystko w trybie single, aby działające usługi (w tym Jabber i poczta)
nie nabruździły mi w tym. Niestety odtwarzanie z backupu nie zdążyło się
skończyć przed moim wyjściem z pracy. Koledzy zostali w pracy, aby po
zakończeniu operacji przywrócić serwer do życia. Niestety Bacula znów się
wywalił. Serwer działa (tyle co w piątek udało się odpalić), ale część danych
wciąż nie jest odzyskana. Jutro będę miał jeszcze z tym sporo roboty…

Uzależnienie od bloga?

Kilka osób przyznało
się do uzależnienia od bloga mojej żony
. Hmmm… coś w tym jest —
takie rzeczy się zdarzają. Sam jestem chyba uzależniony od jednego bloga:
Hi, My Name Is Steve, and I
Am a Sex Addict
.

I nie chodzi o świństwa. Mimo, że jestem stary świntuch, to nieprzyzwoite
opowiadanka mnie z czasem nudzą. A tam zaglądam, od wielu tygodni, codziennie,
cierpiąc w weekendy z powodu braku nowych wpisów. Frajdę sprawia mi śledzenie
losów tej pary, przeżywam w pewien sposób ich radości i niepowodzenia, a także
pozwala mi to lepiej zastanowić się nad własnym życiem i związkiem. To chyba
coś jak oglądanie reality show, czy oper mydlanych (za jednymi i drugimi
raczej nie przepadam), ale czasem można sobie pozwolić na takie
niskie rozrywki. ;-)

Jest też sporo innych blogów na które zaglądam, ale poza Joggami, które
dzięki technicznym ułatwieniom śledzę na bieżąco, odwiedzam je raczej
sporadycznie — jak mi się przypomni. O, właśnie — dawno nie
zaglądałem na blog Bruce’a
Eckela
… i słusznie, nic tam nowego nie ma :-(.

No i znowu płaczę

No i znowu płaczę. Tym razem jednak to nie chora psychika, ale fizjologia.
Cholerne pyłki niewiadomoczego. W tym roku zaczęło się nawet dość łagodnie
— dwa tygodnie temu lekki katar, ale upierdliwy, bo spływający do
gardła. Zacząłem wtedy łykać jakieś tabletki (kupione bez recepty, więc mało
i drogo) i nawet jakby pomagały. Jednak przestały pomagać. Od paru dni boli
mnie gardło (zwykle taki jest skutek tych spływających glutów), a ostatnio
jeszcze smarkam, kicham i łzawię. Zacząłem sobie już nawet tymi sterydami do
nosa psikać, ale to trochę potrwa zanim to zacznie działać. Jutro spróbuję się
wybrać do lekarza. Nic genialnego raczej nie wymyśli, ale przynajmniej tańsze
lekarstwa zapisze i może coś na te gardło (nie będę dwa tygodnie tego Sebidinu
ssał).

No i jak tu teraz cieszyć się wiosną? Na szczęście mnie to w miarę szybko
przechodzi (liczę, że i tym razem tak będzie), znacznie gorzej miewa żonka
w czerwcu…

Wiosenne narciarstwo

Ostatnio co roku w Krynicy, na Pingwinariach jeździłem sobie trochę na
nartach. 2h rocznie to niewiele, ale zawsze lepsze niż nic. W tym roku udało
mi się już zaznać tej rozrywki pewnej soboty w Szczyrku, więc tak bardzo mi
nie zależało, ale zawsze fajnie byłoby sobie pojeździć…

W poprzednich latach Pingwinaria odbywały się w Czarnym Potoku, dwa rzuty
beretem od dolnej stacji kolejki na Jaworzynę. Teraz jesteśmy na drugim końcu
Krynicy, więc dalej, czas dojazdu dłuższy (bo na piechotę za daleko). W końcu
uznałem, że jak wybiorę się po śniadaniu i wrócę na obiad, to nawet zdążę
sobie pojeździć. Już miałem się pytać na recepcji, kiedy mam najbliższy
autobus… i przypomniałem sobie, że przecież mam samochód. :-)
Jeszcze się do tego nie przyzwyczaiłem. W każdym razie problem dojazdu i czasu
nań zmarnowanego został rozwiązany.

Na miejscu, pod stacją kolejki, wypożyczyłem sprzęt. Proponowali mi narty
1.6m, ale ja się uczyłem na takich 1.9m (a może większych), więc wziąłem 1.7m.
Kupiłem kartę z 30 punktami i wjechałem na górę. W tym roku była otwarta też
trasa na wschodnim stoku, gdzie jeszcze nie jeździłem, więc najpierw tam
właśnie się udałem. Jeździło się super. Śmiesznie krótkie te nartki, ale
rzeczywiście same skręcają. Dawno mi się tak dobrze nie jeździło,
nawet ostatnio w Szczyrku. To pewnie dlatego, że teraz w nieco lepszej formie
byłem — wcześniej i byłem na basenie i wlazłem na tę Parkową wlazłem, a
nie tylko siedziałem przy kompie jak zwykle. W ogóle podoba mi się taka
wiosenna jazda. Może warunki śniegowe (ilościowe i jakościowe) dużo gorsze niż
zimą, ale słoneczko świeci, ciepło jest (nie trzeba kombinować z kilkoma
warstwami ubrań, wystarczy wiosenna kurtka), ludzi nie ma (żadnych kolejek)
— po prostu super. W sumie przejechałem prawie 18km.

Wróciłem w środku przerwy obiadowej. Nażarłem sie jak zwykle i poszedłem
na wykłady, w końcu jakichś trzeba wysłuchać (niektórzy woleli spać
;-)). Jeszcze na obiedzie ktoś mi wcisnął jakąś kartkę, z takich
jakie podobno Agusia rozdawała i które zawierały jakieś pytania konkursowe.
Pytania idiotyczne, więc wymyśliłem jakieś idiotyczne odpowiedzi. W całym
hotelu ludzie kombinowali co to właściwie jest i co odpowiedzieć, niektórzy
potraktowali sprawę prawie zupełnie poważnie, inni w ogóle nie. Po wykładach
zostały ogłoszone wyniki. Pytania są podobno autentykami z SGH, a mnie udało
się wygrać koszulkę. Wziąłem XXL, więc pewnie żona będzie miała nową koszulę
nocną…

Teraz w planie jest jeszcze Key Signing Party i jakaś dyskusja panelowa.
Po tym pewnie będzie znowu imprezowanie (szlajanie się z laptopem po hotelu)
do późnej nocy… A jutro będzie trzeba wracać…

Pingwinaria, dzień drugi…

Dzisiaj będzie krócej…

Rano śniadanie, znowu się nażarłem. Potem wyprawa, tym razem w
towarzystwie, na Górę Parkową i główny deptak. Po spacerze chwilka oddechu
i przygotowania do prezentacji. Po krótkich problemach udało się odpalić
laptopa kolegi wraz z rzutnikiem, jeszcze 2 minuty przed czasem. Wtedy dała o
sobie znać trema (a już się dziwiłem, co tak spokojnie do tego podchodzę)… i
musiałem biegiem wylecieć z sali konferencyjnej, do mniejszego pomieszczenia
obok ;-). Zdążyłem jednak na czas. Publiczność dopisała i chyba
nawet nikt nie wyszedł w trakcie, a na końcu nie zostałem obrzucony niczym
poza pytaniami na temat prezentacji. Było więc OK.

Potem obiadek (jak zwykle solidny), i kolejne wykłady. Ten o funktorach z
C++ darowałem sobie po chwili, ten język zupełnie mnie nie pociąga, a te
funktory to dla mnie nic nowego, mimo że nie wiedziałem że to się tak nazywa.
Najlepiej wypadł wykład o palmtopach.

Po kolacji, chwilę posiedziałem w stołówce, a potem w pokoju, żeby się
uleżało i poszedłem na basen. Basen czynny do 20:00, więc nie ma rady
— trzeba pływać z kolacją. Później trafiłem na towarzystwo wybierające
się do Żabki po napoje. Skoro nie miałem nic lepszego do roboty, to poszedłem
z nimi. A teraz imprezujemy…

Impreza wygląda tak, że osiem osób siedzi w dwuosobowym pokoiku, z
sześcioma laptopami i czasem coś popija (ja wodę na zmianę z kolą, inni
bardziej tradycyjne napoje). Dyskusje o wszystkim, ale słownictwo i
skojarzenia wciąż branżowe. Poza tym, każdy stuka coś tam na swoim
laptopie. No cóż, nie ma to jak Gicza impreza… fajnie jest :-).

Pingwinaria, dzień pierwszy.

Wyjechałem z domu rano, dwadzieścia po siódmej. Podjechałem jeszcze na plac
Piastów po kolegę z Bytomia i ruszyliśmy w kierunku Krynicy. Droga była
bezproblemowa i udało się ją pokonać, spokojną jazdą (inaczej tym samochodem
się nie da), w cztery godzinki. Na miejscu jeszcze prawie nikogo poza
organizatorami nie było. Załatwiłem co było do załatwienia i
postanowiłem zwiedzić okolicę…

Na północnym stoku Góry Parkowej, zaraz obok hotelu, leży jeszcze masa
śniegu (około 1.5m), ścieżka też ośnieżona, a ja w wiosennym ubraniu (bez
kurtki, czy swetra, tylko w koszuli flanelowej). I było mi ciepło. Szczególnie
że wdrapywałem się na górę szybkim krokiem, trasą niekoniecznie spacerową
— jeszcze częściowo ośnieżonym i oblodzonym torem saneczkowym. Po drodze
spotkałem kilka wiewiórek, a także stado jeleni (właściwie to łani), które
patrzyły się na mnie jak na jakiegoś idiotę (kto inny w letnich butach i bez
kurtki brodzi w śniegu?) i nawet nie próbowały uciekać. Na górze trochę wiało
(halny), ale i tak było dość ciepło, jednak nie na tyle, żeby długo tam
siedzieć. Było tam trochę tubylców, z jednym z nich, całkiem
sympatycznych, sobie trochę pogadałem. Zainteresował się, czy mi nie zimno,
poopowiadał co interesującego mogę zobaczyć w drodze na dół, pogadaliśmy o
tych łaniach, które tu właściwie oswojone, a kiedyś było ich nawet więcej itd.
itp. Oczywiście rozmowa nie była zupełnie bezinteresowana i pan pokazał mi co
ma na swoim stoisku. Polubiłem go, więc nawet coś kupiłem (trzeba wspierać
lokalny folklor), jakiś kamyczek co ma Wodnikowi szczęście przynosić, nawet
coś utargowałem, a do tego rzemyczek gratis ;-).

Wróciłem akurat na obiad. Wbrew Pingwinaryjnej tradycji, jedzenia było
dobre i dużo (szwedzki stół, na którym niczego nie zabrakło). Potem oficjalne
otwarcie i pierwsze wykłady. Na żadnym nawet nie ziewnąłem, więc całkiem
niezłe. Potem pyszna i obfita kolacja. Po kolacji miałem dylemat, pójść na
wykład polskiego CERTu, czy na basen (czynny tylko do 20:00), na który
przysługuje mi 45 minut dziennie. Wybrałem basen, bo rzadko zdarza mi się
popływać, a jak jest taka okazja, to warto zadbać o formę.

Po basenie wróciłem do pokoju, gdzie akurat odbywało się spotkanie ŚLUGu.
Trochę poudzielałem się w dyskusji, a jednocześnie próbowałem CJC odpalić.
Odpaliłem właściwie przed wyjściem, ale się wyłączył. W kolejnych próbach też,
albo się nie mógł połączyć, albo zaraz po zestawieniu połączenie się
zawieszało i w końcu zrywało. Dostęp do Internetu okazał się fatalny. Dopiero
później, po zakończeniu spotkania zaczęło to jakoś działać, więc mogę napisać
na Joggera to co piszę.

Z dostępem do Sieci było w ogóle ciekawie… Miał być. Jak przyjechałem do
hotelu okazało się, że nie ma, będzie za miesiąc. W pokoju gniazdko
Ethernet było, to podłączyłem HUBa, ale nawet lampka link się nie
zapaliła. Szybko okazało się dlaczego, bo zobaczyłem na korytarzu dziury w
ścianach pod skrzynki, gdzie wystawały kable Ethernet, nawet zakończone
wtyczkami RJ45. Przed obiadem już dwóch panów ładowało tam HUBy i montowało
skrzynki. Po obiedzie już link się świecił, ale adresu po DHCP się nie
dostawało. Przed kolacją już DHCP działało, ale net nie bardzo. A teraz działa
wszystko :-). Ciekawe jak długo…