In English

    HP Proliant DL140 G3 and Net/Open BSD

    Sorry my polish readers, but I waste almost day to figure this out, so maybe this post will help more users if it will be in English.

    I got couple of Proliants. Two DL380 G5 which are fully functional with BSDs, and three DL140 G3 that has a problems.

    Proliants!

    After booting it up from CD, both Net and Open BSD hangs just after initial kernel load. FreeBSD, CentOS even Windows works smooth. I tried diffrent branches – 4.0_STABLE, newest current, some old too. Nothing changed. Then I left it in „hang mode” ;) and went for dinner. After come back both NetBSD and OpenBSD welcomes me with it installers! Yay! I rebooted once again and waits. NetBSD hangs as before, then after about 5 minutes, it booted with green kernel messages and hangs again on pckbc0 at isa0, and after another minutes it continued straight to installer. With OpenBSD was the same, only time changed – 15 minutes dough. I installed both, and didn’t noticed any odd behavior. After install and boot from hard disk, both hangs again, then let me logged in, and work just fine.

    Here comes sources for help :) Recompilation of kernel with no pckbc0 support completly solved problem. I was almost sure that with no pckbc0 I will not be able to use ps2 keyboard nor usb keyboard on console, but both works. So flawless success :) I think problem is in controler of keyboard in DL140 that is bridged with PS2 and USB connection.

    So conclusion is if You want use BSD on DL140 G3, chose FreeBSD, or arm yourself with patient and sources for Your system :)

    P.S. NetBSD on DL140 G3 with SMP support works like a charm :)



    Job / Praca

    ZIP

    Pamiętacie dyskietki ZIP? Swego czasu dość popularne, jednak nie przyjęły się jako popularne nośniki danych. Zdarza się czasem, że w starych komputerach są używane. Dzisiaj trafiłem taki komputer z którego musiałem coś zgrać właśnie na ZIPa w tym komputerze. Operacja absolutnie normalna, niczym kopiowanie na pendrive’a, jednak finał operacji był dość zaskakujący :)



    Job / Praca

    Dzień Sprzątania Biurka!

    Oho, okazuje się, że dzisiaj – 8 stycznia jest dzień sprzątania biurka!

    Był już post o tym nieczęstym wydarzeniu w życiu mojego biurka. Minęły 4 miesiące i 5 dni. Moje biurko wygląda w dniu dzisiejszym tak:

    dsc00521.JPG

    Wygląda na to, że kwalifikuję się na dzisiejsze święto, z drugiej strony porównując obydwa zdjęcia widzę, że mój bałagan pojawia się w bardzo podobny sposób. Zadziwiająco poukładany chaos ;)



    Job / Praca

    Update NetBSD do wersji 4.0_STABLE

    W końcu przyszedł czas aby się ustabilizować. W tym krótkim howto postaram się dość szczegółowo opisać jak to wykonać i nie strzelić sobie w stopę a jak już się strzeli jak się połatać.

    W moim przypadku upgrade był przeprowadzony z systemu z gałęzi -current do -stable a konkretnie z 4.99.32 do 4.0_STABLE.

    Zaczynamy od ściągnięcia źródeł systemu odpowiedniej gałęzi.

    Wchodzimy do /usr

    cd /usr/

    Ustawiamy w jaki sposób będziemy łączyć się z serwerem cvs

    setenv CVS_RSH ssh
    setenv CVSROOT :ext:anoncvs@anoncvs.NetBSD.org:/cvsroot

    I ściągamy (w katalogu /usr!) źródła

    cvs checkout -r netbsd-4 -P src

    jeśli pominiemy -r netbsd-4 ściągniemy gałąź -current, możemy się także cofnąć do netbsd-3 (nie polecane :). Po całej operacji mniej lub bardziej czasochłonnej w katalogu /usr/src będziemy mieli wszystkie źródła potrzebne do budowy systemu. Jeśli masz kiepskie połączenie z Internetem możemy dodać po cvs flagę -zx gdzie x to liczba od 1 do 9 określająca stopień kompresji. Pamiętać należy jednak, że kompresja po stronie serwera dość poważnie go obciąża.

    Możemy sprawdzić czy ściągnęliśmy dobrą wersję wykonując skrypt osrelease.sh w katalogu /usr/src/sys/conf/

    cd /usr/src/sys/conf/
    sh osrelease.sh
    4.0_STABLE

    Wszystko gra.

    Teraz musimy przygotować katalogi do budowy systemu, /usr/tools i /usr/obj są obligatoryjne i kiedy ich nie ma budowa systemu nie zostanie przeprowadzona, build.sh powinien je stworzyć ale dla pewności lepiej zadbać aby były dostępne dla systemu. katalog gdzie faktycznie będą przechowywane setsy po budowie jest dowolny w moim przypadku nazywa się tak jak wersja NetBSD – /usr/4.0_STABLE

    mkdir /usr/tools /usr/obj /usr/4.0_STABLE

    Teraz zbudujemy sobie toolsy czyli narzędzia do budowy NetBSD. build.sh jest oczywiście na tyle sprytny, że sprawdza czy w systemie są odpowiednie narzędzia i jeśli ich nie ma to je buduje i korzysta z nowych, ale oczywiście na tym etapie mogą także pojawić się nieprzewidywane trudności więc dla pewności wskażemy konkretny katalog i powiemy co build.sh ma budować:

    cd /usr/src/
    ./build.sh -T /usr/tools/ tools

    Zależnie od szybkości naszej maszyny, może to potrwać od kilku minut to kilku godzin.

    U mnie na p3 500 Mhz i 256 Mb ram toolsy jak widać budowały się godzinę z kilkoma minutami.

    ===> Tools built to /usr/tools
    ===> build.sh ended: Fri Dec 21 15:04:39 CET 2007
    ===> Summary of results:
    build.sh command: ./build.sh -T /usr/tools/ tools
    build.sh started: Fri Dec 21 13:58:46 CET 2007
    NetBSD version: 4.0_STABLE
    MACHINE: i386
    MACHINE_ARCH: i386
    Build platform: NetBSD 4.99.32 i386
    HOST_SH: /bin/sh
    No /usr/tools/bin/nbmake, needs building.
    Bootstrapping nbmake
    TOOLDIR path: /usr/tools
    DESTDIR path: /usr/src/destdir.i386
    RELEASEDIR path: /usr/src/releasedir
    Created /usr/tools/bin/nbmake
    makewrapper: /usr/tools/bin/nbmake-i386
    Updated /usr/tools/bin/nbmake-i386
    Tools built to /usr/tools
    build.sh ended: Fri Dec 21 15:04:39 CET 2007
    ===> .

    Po wybudowaniu toolsów możemy zbudować sobie system:

    ./build.sh -D /usr/4.0_STABLE -O /usr/obj -T /usr/tools -u build

    ===> Successful make build
    ===> build.sh ended: Fri Dec 21 21:53:03 CET 2007
    ===> Summary of results:
    build.sh command: ./build.sh -D /usr/4.0_STABLE -O /usr/obj -T /usr/tools -u build
    build.sh started: Fri Dec 21 15:07:38 CET 2007
    NetBSD version: 4.0_STABLE
    MACHINE: i386
    MACHINE_ARCH: i386
    Build platform: NetBSD 4.99.32 i386
    HOST_SH: /bin/sh
    TOOLDIR path: /usr/tools
    DESTDIR path: /usr/4.0_STABLE
    RELEASEDIR path: /usr/obj/releasedir
    makewrapper: /usr/tools/bin/nbmake-i386
    Updated /usr/tools/bin/nbmake-i386
    Successful make build
    build.sh ended: Fri Dec 21 21:53:03 CET 2007
    ===> .

    A po wybudowaniu systemu potrzebujemy jeszcze kernel zgodny z wersją naszego NetBSD który będziemy instalować. Najlepiej jest zbudować oczywiście GENERIC, ale możemy oczywiście go trochę zmodyfikować (np. poprzez dodanie PF który nie jest domyślnie kompilowany)

    vim sys/arch/i386/conf/GENERIC
    (oczywiście dla innych architektur trzeba zmienić katalog określający architekturę np amd64, sparc, sparc64 itp.)

    Kernel możemy wybudować następnie tak jak stara szkoła karze, poprzez config, make depend, make, make install, ale build.sh również pozwala nam go budować więc użyję właśnie tego narzędzia:

    ./build.sh -O /usr/obj -T /usr/tools -u kernel=GENERIC
    ===> Kernels built from GENERIC:
    /usr/obj/sys/arch/i386/compile/GENERIC/netbsd
    ===> build.sh ended: Fri Dec 21 23:00:27 CET 2007
    ===> Summary of results:
    build.sh command: ./build.sh -O /usr/obj -T /usr/tools -u kernel=GENERIC
    build.sh started: Fri Dec 21 21:58:15 CET 2007
    NetBSD version: 4.0_STABLE
    MACHINE: i386
    MACHINE_ARCH: i386
    Build platform: NetBSD 4.99.32 i386
    HOST_SH: /bin/sh
    TOOLDIR path: /usr/tools
    DESTDIR path: /usr/obj/destdir.i386
    RELEASEDIR path: /usr/obj/releasedir
    makewrapper: /usr/tools/bin/nbmake-i386
    Updated /usr/tools/bin/nbmake-i386
    Building kernel without building new tools
    Building kernel: GENERIC
    Build directory: /usr/obj/sys/arch/i386/compile/GENERIC
    Kernels built from GENERIC:
    /usr/obj/sys/arch/i386/compile/GENERIC/netbsd
    build.sh ended: Fri Dec 21 23:00:27 CET 2007
    ===> .

    Po wybudowaniu kernela musimy jeszcze tylko go podmienić backupując nasz stary (i działający ! ;) kernel.

    mv /netbsd /onetbsd3
    mv /usr/obj/sys/arch/i386/compile/GENERIC/netbsd /

    Teraz jesteśmy gotowi na reboot i sprawdzenie czy nowy kernel podniesie nam system (błędami przy starcie usług na razie się nie przejmujemy)

    Pamiętaj, rebootuj system poprzez shutdown -r now a nie reboot, ponieważ shutdown prawidłowo stopuje usługi z /etc/rc.conf

    System wstał (mam nadzieję, że u Ciebie też :). Większość usług u mnie nie odpaliło się, ale np NAT z PF działał. Możemy więc zainstalować nowy system:

    ./build.sh -D /usr/4.0_STABLE -O /usr/obj -T /usr/tools -u install=/

    make installworld started at: Fri Dec 28 10:12:33 CET 2007
    make installworld finished at: Fri Dec 28 10:17:43 CET 2007
    ===> Successful installworld to /
    ===> build.sh ended: Fri Dec 28 10:17:44 CET 2007
    ===> Summary of results:
    build.sh command: ./build.sh -D /usr/4.0_STABLE/ -O /usr/obj -T /usr/tools -u install=/
    build.sh started: Fri Dec 28 10:12:29 CET 2007
    NetBSD version: 4.0_STABLE
    MACHINE: i386
    MACHINE_ARCH: i386
    Build platform: NetBSD 4.0_STABLE i386
    HOST_SH: /bin/sh
    TOOLDIR path: /usr/tools
    DESTDIR path: /usr/4.0_STABLE
    RELEASEDIR path: /usr/obj/releasedir
    makewrapper: /usr/tools/bin/nbmake-i386
    Updated /usr/tools/bin/nbmake-i386
    Successful installworld to /
    build.sh ended: Fri Dec 28 10:17:44 CET 2007
    ===> .

    Została jeszcze jedna rzecz, należy przeprowadzić update plików konfiguracyjnych, wydajemy polecenie etcupdate i uważnie (bardzo!) sprawdzamy o co nas pyta system. Polecam przekopiowanie /etc w bezpieczne miejsce! Mamy do wyboru kilka opcji przy każdym pliku. Najwazniejsze do i – install i d – don’t install. Wszystkie pliki, w których nie przeprwadzaliśmy zmian możemy śmiało zainstalować, tak samo wszystkie pliki które oznaczone są jako missing. Należy zwrócić szczególną uwagę na pliki z uzytkownikami i grupami, ponieważ jeśli nie opacznie damy install to zostaną zainstalowane czyste pliki tak jak po świeżej instalacji i nie będziemy mogli się zalogować ponieważ nasz uzytkownik nie będzie istniał.

    etcupdate

    Po etc update przeleci postinstall i powie co się udało a co nie i podpowie jakie komendy należy uruchomić aby pozbyć się niepotzrebnych rzeczy typu obsolete.

    Po zakończonej operacji dajemy shutdown -r now i teoretycznie wszystko powinno działać. Teoria jednak mija się z praktyką i np u mnie wymagane było przeinstalowanie niektórych aplikacji (perl, mysql). To jest jednak dosyć proste do wykonania gorzej kiedy po etcupdate dostajemy błąd, że nie odnaleziono libc.so.12 co skutkuje brakiem możliwości zrobienia czegokolwiek łącznie z zalogowaniem się lub chociażby ls. A po restarcie dostajemy kernel pannic z powodu init died…

    man init nie podaje nam wesołych wiadomości:

    The role of init is so critical that if it dies, the system will reboot
    itself automatically. If, at bootstrap time, the init process cannot be
    located, the system will panic with the message ``panic: init died
    (signal %d, exit %d)''.

    Powodem tego jest to, że kernel przy starcie zna jedynie partycję / i w pierwszej kolejności odpala init który dalej inicjuje pozostałe partycje, i odpala skrytpty rc.d. Z koleii init do działania potzrebule /lib/lib.co.12 oraz /libexec/ld.elf_so. Jeśli z jakichś powodów nie może ich zlokalizować dostejemy init died. Plik /lib/lib.co.12 jest linkiem do innego pliku:

    lrwxr-xr-x 1 root wheel 14 Dec 21 15:53 libc.so.12 -> libc.so.12.149

    Ja upgreadując z gałęzi -current miałem zamiast libc.so.12.149 plik libc.so.12.150, a libc.so.12 nie zlinkował się prawidłowo z plikiem od 4.0 stąd problem.

    Najprostrzym rozwiązaniem tego problemu jest wybootowanie z płyty instalacyjnej NetBSD i z menu narzędziowego uruchomienie /bin/sh, nastepnie podmontowanie / i stworzenie właściwego linku, lub też oprócz podmontowania / podmontowanie /usr (jeśli jest na innej partycji) i przekopiowanie całego /usr/4.0_STABLE/lib na miejsce /lib. Po takim zabiegu system wstał bez żadnego problemu.

    Koniec stabilizacji, all done, bye bye ;)



    Job / Praca

    NetBSD 4.0 RELEASE

    OSowy prezent gwiazdkowy – NetBSD 4.0 po roku a może i więcej przygotowań, po dwóch BETACH, pięciu Release Candidatach w końcu jest Release :) Jedna z tych rzeczy którą w swojej monotonii i powtarzalności (kila serwerów do upgread’u) bardzo lubię. Co do nowości to przede wszystkim PF+ALTQ natywnie bez LKMów czy patchy. Protokół CARP z OpenBSD czyli redundantne rutery :) Oczywiście obsługa nowego sprzętu, obsługa Bluetooth i NDIS (to bardziej na desktop).



    Job / Praca

    Laptop Fun

    10 identycznych laptopów, jedna i ta sama instalacja Windows XP, kakofonia po skończonej instalacji bezcenna :)



    Job / Praca

    Vista Business? Yeah, right….

    Obecny tydzień jest zdecydowanie pod znakiem Visty i jej ułomności. Na początku od razu napiszę, że jeśli planujecie mieć w swoim biznesie Vistę pod która potrzebujecie obsługiwać stary program DOSowy lub np Płatnika v.7 to lepiej sobie odpuście bo stracicie czas i nerwy.

    W poniedziałek po przenosinach ze starej Toshiby Satelite z XP na nowa Toshibe Tecrę z Vistą został jeden jedyny program do uruchomienia na Viście. Stary DOSowy program o nazwie HARPO. Pierwszy problem w Viscie nie można zrobić fullscreen’a na okienkach dosowych. Oczywiście to jeszcze nie jest tragedia i można powiększyć czcionkę i jakoś to wygląda. Druga sprawa już jest znacznie gorsza. HARPO jest uruchamiane z serwera i na komputerach klienckich jest poprostu podmontowany dysk X jak //serwer/harpo. Od czasu do czasu trzeba tam wykonać kopie. Jest specjalne menu w którym wygląda to mniej więcej tak:

    Source: X:\HARPO
    Destination: C:\HARPO

    Po takiej operacji wszystko się ładnie pakuje i jest kopia offline na laptopie. Acha Source jest wpisywany automatycznie jako katalog z którego odpalany został program, proste. Tyle na XP

    Po uruchomieniu analogicznie na Viście dostałem:

    Source: //Serwer/HARPO
    Destination: C:\HARPO

    No ok, ENTER i komunikat „Nieznany ciąg znaków”. W sumie nic dziwnego, za czasów DOS’a nie była znana taka notacja, poprawiam na X:\HARPO, ENTER i „Na komputerze nie ma dysku X”. Oczywiście jest dysk X podmapowany dokładnie jak pod XP. Koniec końców udało mi się to jakoś okiełznać przy pomocy DOSBOXA. Tak, tak, na systemie który wyewoluował jakby nie było z DOS’a trzeba uruchamiać emulator tego systemu. Oczywiście wydajność spakowania bazki kilkumegowej spadła tak bardzo, że na XP właściwie można było zrobić dwa łyki herbaty, a na Viście z emulatorem można zrobić i wypić dwie herbaty…

    Oczywiście można kręcić nosem, że kto używa dzisiaj programów DOSowych? Ale niech znajdzie się ktoś, kto wytłumaczy klientowi, że coś co mu działało ileś tam lat i ma opanowane do perfekcji nagle musi zmienić bo Vista z tym nie współpracuje. O ewentualnej migracji danych nie wspomne, a z tego co się orientuję to dane księgowe trzeba trzymać do 6 lat wstecz.

    I drugi przykład z dzisiaj. Płatnik w wersji 6 jako tako działa na Viście. ZUS wymaga żeby do końca listopada 2007 korzystać już z płatnika 7 a konkretnie 7.01.001. Cóż więc ów Płatnik robi na Viście przy próbie wysłania deklaracji? „Program p2 wykonał nieprawidłową operację, System Windows szuka sposobów rozwiązania tego problemu” i oczywiście nie znajduje. Przeryłem większość for na temat płatnika i Visty oraz tego błędu i dowiedziałem się, że chyba nikomu to nie działa, że Computerland nie karze w ogóle używać tej wersji na Viście (co jest oczywiście nie zgodne z prawem ponieważ faworyzuje jednych i dyskryminuje innych), i że można próbować ustawiac tryby zgodności i czasem się udaje wysłać pojedynczą(!) deklaracje. U mnie niestety żaden tryb zgodności nie zadziałał. Przy okazji dostało się ZUSowi i Computerlandowi ;)

    Jestem ciekaw co mnie jeszcze spotka z tym jakże dostosowanym do biznesu systemem. Handlowcy proszę Was nie sprzedawajcie Vist do firm, oszczędzicie sobie i informatykom problemów :)

    Z punktu widzenia „użytkownika alternatywnych systemów” ™ muszę stwierdzić, że Microsoft Windows XP jest jednak zajebisty ;)




    Job / Praca

    Mistrzowie logistyki

    Dzisiaj jak co dzień przyjechało kilka mniej lub bardziej oczekiwanych paczek z częściami i softem. Jedna paczka jednak była specjalna. Jej specjalność polegała na tym, że każdy wywinął ROTFLA po odpakowaniu.

    Co więc może być tak śmiesznego w paczce z podzespołami i fakturą?

    Niby zwyczajna paczka odpowiednio zabezpieczona. Z tym, że akurat w tym konkretnym przypadku hurtownia wysłała nam powietrz, ponieważ pod rozpakowaniu…

    …. okazało się, że w środku jest tylko przedłużacz do USB wraz z fakturą na 2.45 :D

    Żeby nie było, że się czepiam i że zamówiliśmy tylko przedłużacz i nie mieli kopert. Z tej samej hurtowni tym samym kurierem przyszły dwie pełne paczki sprzętu gdzie na pewno kabelek by się zmieścił :)



    In English

    Tips & Tricks

    Note to myself.
    I found that my /var/amavis/tmp has thousends of files.

    du -sg tmp/
    26 tmp/

    Actually 26Gb of crap. Now, how to delete all files excluding these with current date and one day before?

    Here is one line magic spell:

    find /var/amavis/tmp -type f -mtime +1 -exec rm -f {} \;

    Results?

    du -sm tmp/
    9 tmp/

    Bingo! ;)
    Thx to aniou #netbsd.pl



    Job / Praca

    Prysznic samochodowy

    Złożoność samochodu i liczba możliwych awarii i usterk, które mogą w nim wystąpić nie przestaje mnie zadziwiać. Bo w jaki sposób może być uciążliwa lampka w samochodzie oprócz nieświecenia? Czytaj dalej :) Dzisiaj ruszyłem naszym czerwonym firmowym szerszeniem – Renault Megane.

    Jednak już po chwili przy każdorazowej zmianie biegów czułem, że coś kapie mi na rękę. Szybki rzut oka skąd mogą pochodzić krople, bo przecież ani to kabriolet ani nie ma szyberdachu. Winowajca to wspomniana wyżej lampka.

    W nocy trochę popadało i jakimś cudem woda dostała się przez lampkę do środka, kapiąc sobie radośnie przy jakimś szarpnięciu lub kiedy kropla zrobi się wystarczająco duża. Po chwili dół samochodu wyglądał tak:

    Ostatecznie po oględzinach obstawiam antenkę i odkształconą uszczelkę. Będzie trzeba zasilikonować.



    Related Posts with Thumbnails
    Add your widget here