18 października 2008

Slax i tworzenie własnych modułów

Swego czasu zastanawiałem się nad stworzeniem swojej dystrybucji LiveCD lub modyfikacją istniejącej, tak aby odpowiadała moim wymaganiom - tzn. posiadało to co jest mi niezbędne i tylko to. Całkiem niedawno na jednym z for linuksowych napotkałem na pytanie początkującego użytkownika o sposób tworzenia własnych modułów w postaci archiwum LZM dla dystrybucji SLAX 6.x. Postanowiłem poszerzyć swoje horyzonty i poszperać za dobrym manualem i udało mi się spłodzić małe howto. Z góry zaznaczam, że bardzo przydatna (niezbędna?) przy tworzeniu własnych modułów jest wiedza i doświadczenie nt. budowy pakietów *.tgz wykorzystywanych w Slackware (o tym może kiedyś napiszę).

Tyle słowem wstępu, przejdźmy do właściwej części wpisu.
Mamy do wyboru kilka dróg:
  • od zera:

    1. tworzymy paczkę *.tgz z plikami konfiguracyjnymi i dodatkowym oprogramowaniem - wszystko wrzucamy w 1 pakiet
    2. konwertujemy paczkę na archiwum lzma:

      tgz2lzm pakiet.tgz moduł.lzm



  • łączymy różne pakiety tgz i ew. dołączamy własne pliki konfiguracyjne:

    1. rozpakowujemy paczki *.tgz do wcześniej utworzonego katalogu, np. /tmp/my_lzm_package/

      installpkg -root /tmp/my_lzm_package pakiet.tgz

      W ten sposób otrzymujemy drzewko katalogów w /tmp/my_lzm_package zawierające binarki, biblioteki itp. składniki danego pakietu.
    2. Jeśli trzeba to wprowadzamy własne modyfikacje
    3. konwertujemy drzewko katalogów na archiwum (moduł) lzma:

      dir2lzm /tmp/my_lzm_package paczka.lzm



  • modyfikacja istniejącego modułu (*.lzm):

    1. Rozpakowujemy archiwum lzm

      lzm2dir modul.lzm /tmp/my_lzm_package


    2. Postępujemy jak przy sposobie wyżej, z tym że 1 punkt mamy już z głowy. Możemy np. podmienić splashscreen wyświtlany podczas uruchamiania gimpa/xine lub dodać jakiś soft.

  • Przeglądanie zawartości modułów lzm pod dowolną dystrybucją (Uwaga! wymaga obsługi systemu plików squashfs w jądrze):

    1. Archiwa lzm możemy montować, tak jak obrazy *.iso, pendrive, czy płytki CD/DVD. Tworzymy katalog gdzie zamontujemy moduł:

      mkdir /mnt/moduly


    2. ... i montujemy:

      >mount -t squashfs -o loop /sciezka/do/modulu.lzm /mnt/moduly


    3. Pamiętajmy, że gdy skończymy przeglądanie zawartości i/lub będziemy chcieli podmontować inny moduł, należy najpierw odmontować dotychczas zamontowane archiwum lzm:

      umount /mnt/moduly

Jeśli masz doświadczenie z tworzeniem pakietów binarnych dla slackware to pewnie już się domyślasz w jaki sposób kompilować soft ze źródeł i od razu tworzyć z niego moduły. Jeśli nie - to w przyszłości zamierzam napisać co nieco na ten temat.


Jako wychowanemu na Slackware bardzo podoba mi się Slax oraz sposób tworzenia modułów. Myślę, ze to dobra alternatywa dla tworzenia własnego przenośnego distro od zera. Wystarczy utworzyć odpowiedni moduł zawierający certyfikat sieci eduroam i bez własnego komputera można cieszyć się uczelnianym WiFi, wykorzystując swoje ulubione narzędzia ;)

Brak komentarzy: