Młodzi ludzie z zapasem czasu i pokładami chęci często chorują na ciężką odmianę NIH1. Objawia się to pisaniem własnych frameworków, baz danych, budowaniu karmników dla ptaków i produkcji naszywek ze sloganami obecnie dominującego popkulturowego ruchu. Jest przy tym dużo radości i jeszcze więcej nauki, gdy powtarzamy te same błędy, które dziesiątki innych ludzi już popełniło, a od których jesteśmy przecież sprytniejsi.
Kilka lat temu dostałem książkę, która prawdopodobnie nazywała się “Building Embedded Linux System”. Było o tym, jak zbudować własną dystrybucję Linuksa przeznaczoną do specjalnych zdań, używając do tego zainstalowanego wcześniej Debiana. Całą książkę można streścić w następujący sposób: “Nagraj to i to, skasuj resztę. Kasuj tak długo, aż przestanie działać. Jak przestanie działać przegraj to, co zbytecznie skasowałeś. I karm ldd plikami binarnymi. Taa-da! Embedded Linux!”.
Mimo wielu talentów, które posiadam (takich jak czytanie dokumentacji ze zrozumieniem), nie udało mi się nigdy odpalić mojej dystrybucji. Pod zamkniętymi powiekami pojawił się horror modelów samolotów, które zawsze wyglądały po złożeniu inaczej niż to, co było na pudełku.
SUSEStudio to najnowszy projekt Novella, który umożliwia użytkownikom budowanie własnych, specjalizowanych dystrybucji Linuksa bazowanych na dystrybucjach openSuSE i SuSE Enterprise. Cały proces składa się z kliknięcia w kilka webdwazerowych guzików i pobrania przygotowanego przez system, gotowego do dystrybucji obrazu. Zabawa jest na tyle wciągająca, że po godzinie miałem więcej specjalizowanych systemów operacyjnych niż NASA w przeciągu swojego istnienia.
Po utworzeniu konta (do logowania niezbędne jest konto w systemie OpenID — na szczęście każdy posiadacz konta GMail.com ma już tę część z głowy) przechodzimy do wyboru typu dystrybucji, od której możemy zacząć budować własny system. Podstawowym wyborem jest JeOS czyli, jak to ujęli twórcy systemu: “Just enough OS”. Jest to absolutny szkielet, który po zbudowaniu zajmuje ca. 80MiB. Jeżeli nie chcemy sobie brudzić rąk budując system od JeOS, możemy wybrać desktop z GNOME, KDE lub minimalny z IceWM i system serwerowy.

Po wybraniu szkieletu i nazwy dla naszej aplikacji przechodzimy wprost do instalatora pakietów. Możemy zainstalować dowolne pakiety, które będą potrzebne w naszym systemie, dodać URI do dodatkowych repozytoriów czy wprost wgrać własne paczki .RPM przez przeglądarkowe międzymordzie. Stąd już szybciutko: wybieramy typu urządzeń wskazujących, konfigurujemy sieć, firewall i czy w ogóle go potrzebujemy, personalizujemy sobie opcje bootsplasha, tu polecam własny ryj dla komicznego efektu, wybieramy domyślny poziom startu systemu, możemy dograć własny kawałek prawniczego bullshitu znanego jako EULA2, wybrać użytkownika, jaki ma być automatycznie zalogowany do systemu operacyjnego3 i ostatecznie uzupełnić system o własne skrypty startowe i pliki, które znajdą się w systemie.Proces budowania obrazu zajmuje chwilkę, możemy więc odsapnąć po tej niesamowitej, prawie trzyminutowej, pracy, którą włożyliśmy w budowanie własnej dystrybucji.
Jeżeli mamy akurat kilka maszyn, które zajmują się mieleniem powietrza, możemy zainstalować na nich Kiwi i budować obrazy na własnych maszynach, używając webowego konfiguratora stworzonego przez Novella. Pisząc ten tekst postanowiłem sprawdzić przydatność SuSE Studio w sytuacji zawodowej.
Zadaniem było zbudowanie kolejnego node bazy MySQL, która ma replikować dane z głównego serwera. Całość będzie żyła pod kontrolą systemu Xen. Kiedy pobrałem i zainstalowałem system w serwerze Dom0, minęło trochę ponad dwadzieścia minut. Otrzymałem system, który nie zużywa zasobów wczytując sterowniki do dźwięku, nie zawiera dziesiątki mniejszych i większych aplikacji, które są zupełnie zbyteczne na systemach embedded, który to system z łatwością można sklonować dowolną ilość razy i zmienić cały obraz kilkoma kliknięciami myszki.Ponieważ jest to pełnoprawny system zbudowany z pakietów SuSE, otrzymamy wszystkie poprawki bezpieczeństwa i możemy nawet spróbować zaktualizować cały system do najnowszej stabilnej wersji lub przyszłych wersji będących obecnie w fazie testów.

Dodatkowy cukierek. Zbudowany obraz możemy przetestować bez potrzeby ściągania obrazu, który w przypadku rozwiązań biurkowo-pracostacjowych może zajmować dobrze ponad dwa gigabajty. SuSE Studio dostarcza nam możliwość uruchomienia naszego bajzlu na maszynach Novella i obserwowania wyniku takiego startu przez przeglądarkę4, co zdecydowanie ułatwia szybkie testy.

Zawsze mówiłem, że urodziłem się w najlepszych latach. Rosnąc razem z komputerami miałem okazję ubrudzić sobie łapy5 grzebiąc w flakach, a gdy dorosłem i straciłem ochotę na walkę z każdym przełącznikiem setek obskurnych programików, z których większość zamyka dokumentacje w zdaniu “TODO: Documentation goes here”, technologia dorosła na tyle, żeby mi dać te wszystkie guziczki, które powodują, że nie muszę spędzać dnia na sprawdzaniu .bash_history i przypominaniu sobie, jaka kombinacja dała ostatnio dobry efekt.
Dotarłeś do końca. Czas na nową przygodę.
Eri pokonuje korporacje ołówkiem. Czerski, Piotr dziwi się światu. Waglowski prawi o prawie. Maciej występuje w roli służbisty ateistyczno-sceptystycznej religii. Patryk maca się z technologią. Piwnice i trywialne informacje w tę stronę. Vontrompka, czyli komentarz psychodeliczny.
Są też tacy, którzy gadają. O filmach, scepty-cyźmie, japońskich bajeczkach. Nie zapomnij też, że trzeba rozumieć popularną naukę.
August 18th, 2009 at 08:24
Wygląda jak webowy generator metapakietów Debiana/Ubuntu.
August 18th, 2009 at 09:04
Ojej. Nareszcie ktoś wpadł na to, że możesz potrzebować basesystemu plus jedno, pojedyncze, konkretne coś… Żeby zrobić tak z RHEL-em, trzeba sobie wystrugać właściwy kickstart (tak, na zasadzie, wycinaj, aż trafisz w taką kombinację, która nie ciągnie za sobą środowiska graficznego).
August 18th, 2009 at 18:34
no to byla logiczna konsekwencja. musieli cos ztym zrobic bo instalka base + lamp suseka w efekcia konczyla sie przy prawie 3 GB. przy najblizszej okazji dlubania w serwie zastosuje :)
August 20th, 2009 at 00:20
Boycott novel