Dracut v0.4

Data: 4 lipca, 2009

Została wydana nowa wersja dracuta – następcy aktualnych narzędzi do tworzenia initramfs rozwijanego przez deweloperów Fedory i Debiana.

Celem projektu jest stworzenie uniwersalnego zestawu narzędzi do tworzenia initramfs, które będą pozbawione zależnych od konkretnej dystrybucji rozwiązań. Dzięki zmodularyzowaniu skryptów teoretycznie będzie możliwe stworzenie initrd bez zbędnych dla danej maszyny modułów – po co mi plymouth na serwerze? Powinno się to też przyczynić do skrócenia startu systemu – w Fedorze nash czasami niemiłosiernie długo potrafi mielić te skrypty startowe – w Dracut domyślnym egzekutorem ma być dash, co powinno się również przełożyć na pewien wzrost szybkości działania.

Ogólnie ma być szybciej i bardziej uniwersalnie – tak, żeby wiele dystrybucji mogło z tego skorzystać.

Niemało jeszcze pozostało do zrobienia, ale deweloperzy pracują pełną parą – przez ostatnie dwa dni zostały wydane trzy wersje. Całość ma być na tyle funkcjonalna, żeby zastąpić mkinitrd w już Fedorze 12 – więc wysokie tempo prac jest zrozumiałe.

Pozostaje mieć nadzieję, że deweloperzy nie po obrażają się na siebie i nie zakończą tak owocnie rozpoczętej współpracy, a Dracut nadal będzie się szybko rozwijał i zostanie zaadoptowany również przez inne dystrybucje, a nie tylko pochodne Debiana i Fedory.

Podobne wpisy

Twój adres email nie zostanie opublikowany. Wymagane pola są oznaczone


  1. Emdé pisze:

    Łał! LJZ, całkiem niezły news :)! I chociaż niektóre fragmenty ("po co mi plymouth na serwerze?") należałoby poprawić, to nie jest źle.

    1. quest pisze:

      Faktycznie, ten nius jest niezły. Jednak ban i tak mu się należy za założenie trzeciego konta z rzędu i unikanie kary.

    2. Sławek pisze:

      No dobra. Może lepiej "po co komuś usplash/pylmouth na serwerze"? Chodziło pewnie o konieczność ograniczenia intramfs. Swoją drogą, to do sprawdzenia systemu plików nie jest potrzebny wcale initramfs. Wystarczą sumy kontrolne pewnych plików i lokalne kopie, choć pewnie sprawdzanie sum kontrolnych jednak potrwa dłużej.

      1. czepolskoczminadyfer pisze:

        "No dobra. Może lepiej “po co komuś usplash/pylmouth na serwerze”?"

        Jeśli mam serwer(y) i jedyne co mam do niego wpięte to kabel zasilania i kabel sieciowy, to po co mi plymouth w initrd? Naprawdę nie potrzebuje tego zbędnego kodu, bo nawet jakbym miał podpięty monitor, to i tak nie przeprowadzam często restartu.

        "Chodziło pewnie o konieczność ograniczenia intramfs"

        Zgadza się – aktualnie nie mam możliwości wyrzucenia plymouth z initrd bez przerabiania mkinitrd, bo jakiś geniusz uznał, że ten super zajefajny ficzer będzie cieszył również ludzi używających Linuksa do czegoś innego niż surfowanie po internecie, zmienianie tapety, obracanie kostki etc.

        "Swoją drogą, to do sprawdzenia systemu plików nie jest potrzebny wcale initramfs. Wystarczą sumy kontrolne pewnych plików i lokalne kopie, choć pewnie sprawdzanie sum kontrolnych jednak potrwa dłużej"

        Zupełnie nie mam pojęcia o czym mówisz. Domyślam się, że nie rozumiesz od czego służy initrd/initramfs.

        Możliwe, że wiesz, że w jądrze Linux sterowniki do urządzeń oraz kod systemów plików jest bardzo często skompilowany jako tzw. moduł. Moduły tworzy się dlatego, żeby zbytnio nie przeładowywać jądra zbędnymi rzeczami. Teraz wyobraź sobie jak musi być zbudowane jądro dla dystrybucji – musi mieć obsługę wielu różnych systemów plików oraz sterowników urządzeń z których można wystartować system. Gdyby wbudować wszystkie dostępne moduły, to jądro miałoby jakieś 66 MB w przypadku dystrybucji, którą używam. Dlatego ten cały kod jest w modułach. Teraz powstaje problem – jeśli w jądrze nie ma wbudowanej obsługi systemu plików xyz oraz sterownika do naszego mega, hiper gwiezdnego sas, to jak zamontować taki system plików i jak załadować inne moduły. Tutaj z pomocą przychodzi nam initramfs/initrd. Jest to mały system plików na którym umieszczono kilka programów, moduły potrzebne do zamontowania rootfs, skrypty które muszą zostać wykonane aby móc odpalić init z rootfs. Po wykonaniu wszystkich poleceń ze skryptów initramfs system plików / jest podmieniany tym, który jest na dysku.

        To tak w skrócie i uproszczeniu. Dracut ma realizować też kilka innych rzeczy – na przykład ładowanie polityk mandatowej kontroli dostępu, umożliwić logowanie przez ssh, żeby podać hasło do rootfs.

        1. ak47 pisze:

          Na jakiej zasadzie to narzadko przebudowuje initrd?
          Bo widze conajmniej kilka problemów/niedogosności :]

        2. czepolskoczminadyfer pisze:

          "Na jakiej zasadzie to narzadko przebudowuje initrd?"

          Nie rozumiem pytania. Mógłbyś je przeredagować na bardziej zrozumiały język?

        3. Sławek pisze:

          Widać byłem nieco zaspany. Jądro zawsze ma tylko wbudowaną obsługę którejś wersji EXT-a. Moduł można załadować znając jego lokalizację(fizyczną), ale to jest bardziej pozbawione sensu.

          PS: To jak jądro wczytuje initramfs? Robi to bootloader?

        4. ak47 pisze:

          no dobra purysto językowy :]
          na jakiej zasadzie dracut przebudowuje obraz initrd. Piszesz przeca, że może on wywalać z pelnego obrazu to i owo (np uspalsh/pylmouth według ciebie są zbędne).
          Zauważ że takie wywalanie prowadzi do tego że jesli bedziesz chcial poprostu przenieść system serwerowy na maszynę o zupełnie innej konfiguracji sprzętowej to system nie ruszy. kerenel panic bo sterownik sata sie zmienił (tak btw na to czuły jest XP) initrd wlasnie powstał po to aby jedno dystrybucyjne jajo zostało odpalone na dowolnej konfiguracji sprzętowej.

        5. jellonek pisze:

          slawek: chyba dawno sprawdzales – obecnie ext od lat lezy w modulach, zamiast tego – jadro obsluguje standarowy dosc format archiwum cpio.
          tak, bootloader wczytuje kernel i initramfs, po czym tylko kernelowi podaje informacje gdzie ten initramfs sie znajduje w pamieci.

        6. czepolskoczminadyfer pisze:

          "na jakiej zasadzie dracut przebudowuje obraz initrd."

          Gdybyś zajrzał do helpa mkinitrd, to wiedziałbyś, że można wyrzucać z initramfs różne grupy modułów – do scsi, raid, lvm, dmraid. W Dracut jest dostępna podobna opcja omit lista_modułów_dracuta. Dzięki temu można podczas przebudowywania initramfs wyrzucić z niego niepotrzebne na danej maszynie rzeczy.

          "Zauważ że takie wywalanie prowadzi do tego że jesli bedziesz chcial poprostu przenieść system serwerowy na maszynę o zupełnie innej konfiguracji sprzętowej to system nie ruszy. kerenel panic bo sterownik sata sie zmienił (tak btw na to czuły jest XP) initrd wlasnie powstał po to aby jedno dystrybucyjne jajo zostało odpalone na dowolnej konfiguracji sprzętowej."

          Ja chcę mieć kontrolę nad tym, co jest w initramfs. Jeśli ty nie chcesz, to twoja sprawa – spadaj na drzewo i używaj jakiejś mutacji mkinitrd.

        7. ak47 pisze:

          @czepolsko……….cośtam
          A do hitlera mnie nie porównasz?

        8. jellonek pisze:

          ak47: nie popisales sie tym razem 😉 initrd – a wlasciwie teraz initramfs nie powstal w celach przez ciebie opisanych. btw. sam mam "przykrojony", tj. dopasowany do swojego sprzetu initramfs – zgodnie ze standardami debianowymi – jedna opcja w pliku konfiguracyjnym i masz tylko te moduly, ktore sa potrzebne ci do startu systemu.
          btw. swojego systemu nie odpalam na innym sprzecie…

        9. ak47 pisze:

          @czepolsko……….cośtam
          Wyjaśnij mi prosze o mądry czym się rożni dracut od zwyklego odpalania mkinitrd z parametrami? Bo Ja nie widzę żadnej różnicy.
          Btw mówisz że chcesz mieć kontrole na tym co jest w initramfs. Czy nie latwiej/szybciej jest poprostu rezygnować z initramfs? Tak, system mozna odpalić bez initramfs ;]

        10. czepolskoczminadyfer pisze:

          "Wyjaśnij mi prosze o mądry czym się rożni dracut od zwyklego odpalania mkinitrd z parametrami?"

          Przecież wyjaśniłem – jest zmodularyzowany i można go bardziej dopasować do własnych potrzeb. Nie rozumiem co tu może do ciebie nie docierać? Jak chcesz znać resztę różnic, to zajrzyj do źródeł .

          "Btw mówisz że chcesz mieć kontrole na tym co jest w initramfs. Czy nie latwiej/szybciej jest poprostu rezygnować z initramfs? Tak, system mozna odpalić bez initramfs ;]"

          Myślisz, że będę kompilował jądro na serwerze? Nawet nie instaluje tam gcc…

          W RHEL czy Fedorze i pochodnych nie da się zrezygnować z initramfs bez mocnych przeróbek w systemie. Nawet jak masz wkompilowaną w jądro obsługę FS czy sterownik urządzenia na którym jest rootfs, to ze względu na niekernelowe nazewnictwo urządzeń system bez initramfs się nie podniesie.

          No i wątpię, żebyś sobie z tym poradził – ekspercie…

        11. ak47 pisze:

          a to trzeba kompilować na tej samej maszynie na ktorej jest to odpalane 0_o ekspercie …??
          Co do fedory jakoś jeszcze 4 lata temu sie dało się uruchomić bez initrd …;] I tak trochę zachodu to kosztowalo.

          @jell
          Jakis miesiąc temu płyta główna w jednej z maszyn (developerskich) wysiadła……… zamiast odtwarzać backup podlaczyiśmy dyski pod inny kadłubek i se chodziło aż nowa plyta przyszła. Wiec czasem ten fat initrd może być baaaaaardzo przydatny.

        12. czepolskoczminadyfer pisze:

          "a to trzeba kompilować na tej samej maszynie na ktorej jest to odpalane 0_o ekspercie …??"

          Ja nie mam innych systemów z Linuksem w statusie != serwer.

        13. ak47 pisze:

          Na wszystko są sposoby ……..
          -lajfcd
          -system zwirtualizowany
          -jakieś inne cuda też się znajdą
          Mówisz o serwerze w sensie maszyny produkcyjnej czy domowej popierdułki?

        14. Patol pisze:

          Najlepiej od razu zatańczyć przed komputerem na uszach, zrobić pompkę na 2 palcach itp….

        15. gotar pisze:

          @Sławek – a gdzieś takie bzdury wyczytał, że jądro zawsze jakiegoś ext obsługuje?

    1. czepolskoczminadyfer pisze:

      To co, nie dostanę bana? Czepol, k… nie wymiękaj – zapodaj bana 🙂

      1. czepol pisze:

        Jak będziesz pisał niusy takiej jakości to nie byłoby żadnego problemu. Zrobienie bana dużo czasu nie zajmuje, tobie napisanie niezgodnego z regulaminem niusa już trochę więcej 😉 Poza tym, niedługo (mam nadzieję) będzie ficzer (ktoś odpowiedział na jeden z komentarzy do redakcji), dzięki któremu niusy osób, które nic jeszcze nie napisały będą dostępne tylko po akceptacji moderatora.

        1. jellonek pisze:

          proponuje by jednak moderacji poddawane byly wszystkie od osob o statusie nizszym niz redakcja…

    2. czepol pisze:

      Gratulację dobrego loginu 🙂

      1. Emdé pisze:

        Login niezły, tylko co to jest "dyfer"? W internecie przeczytałem, że to filtr do skręta oO…

        1. czepol pisze:

          @czepolskoczminadyfer
          To jest serwis o IT, a nie o motoryzacji 😉

        2. czepolskoczminadyfer pisze:

          "To jest serwis o IT, a nie o motoryzacji"

          Jestem inżynierem informatyki, wiem do czego służy ls w uniksie, ale nie potrafię zatankować samochodu… 🙂

        3. Emdé pisze:

          Akurat opcję z dyferencjałem z miejsca zdyskfalifikowałem na początku, bo myślałem, że miałeś na myśli coś bardziej kreatywnego :D.

        4. czepolskoczminadyfer pisze:

          Lokalny żargon 4×4 nigdy nie jest kreatywny… może następnym razem lepiej pójdzie jak napisze zamiast na dyfer na panharda.

          Albo nie, bo to jest zbyt kreatywne – pierwsze 10 haseł na google nie ma zbyt wiele wspólnego z panhard rod

    3. marcinsud pisze:

      Nie do końca, ale niech już będzie.

  2. riklaunim pisze:

    Co na to chłopaki z Pardusa? 🙂 czy Archowcy generujący dopasowany obraz initramfs przy instalacji kernela ? 🙂

    1. czepolskoczminadyfer pisze:

      Ci od Pardusa, to pewnie będą chcieli te skrypty initramfs w pythonie pisać 🙂

  3. Sławek pisze:

    Niegdyś developerze Ubuntu ogłosili rozpoczęcie prac nad Upstart. Wtedy developerzy Debiana zaproponowali projekt o podobnej nazwie. Wiem, że tylko z nazwy podobny. Mógłby ktoś mi podać jego nazwę?

      1. Sławek pisze:

        Nie chodziło o projekt zaczynający się na D. Sam poszukam. Miał być zamiennikiem Upstart, więc trochę nie związane z tematem.

        1. gotar pisze:

          Z tego co mówisz wynika, że downstart ;>

  4. Sławek pisze:

    "Niemało jeszcze pozostało do zrobienia, ale deweloperzy pracują pełną parą – przez ostatnie dwa dni zostały wydane trzy wersje :)"
    Nie powinno być kropki? Widać, że nius jest trochę uszczypliwy, ale i dobrze – jeżeli to prawda.

  5. Energizer pisze:

    No i takie projekty mi się podobają – dostępne dla Linuksa a nie np. dla *buntu only.

    1. matiit pisze:

      Praktycznie wszystko odpalisz na nowoczesnych linuksach… no chyba że aplikacja na chama sprawdza czy distro na którym jest uruchamiana to ubuntu, używa np. apt'a (wtedy *deb only)

      1. atavus pisze:

        @matiit
        nie zebym sie czepial, ale apt-get chodzi tez na rpmach…

{"email":"Email address invalid","url":"Website address invalid","required":"Required field missing"}

Newsletter OSnews raz w tygodniu. Bez reklam.