Moje zdjęcie

imię: Piotr Sowiński
pseudo: Sadi
wiek: 25
zainteresowania: programowanie, tworzenie stron, linux, elektronika, książki


Creative Commons LicenseJeżeli nie zaznaczono inaczej, wszystkie materiały na tej stronie są objęte licencją Creative Commons by-nc 3.0
Skiny
grey-tea green (standardowy)
light sky blue
carrot orange
Polecam

Bykom STOP! browsehappy.pl - masz kIEpską przeglądarkę? Spam Poison - zatrujmy życie spammerom! Debian GNU/Linux Przeglądarka Opera
Automatyzacja kompilacji jądra sadi | 18:36 | 25.03.2010
Ostatnio przypomniałem sobie o języku Ruby. Przedwczoraj postanowiłem, że użyję go, aby zautomatyzować proces kompilacji jądra pod Debianem. To co zaczęło się od banalnego programiku, skończyło się na czymś trochę bardziej zaawansowanym. Tak wygląda komunikacja programu z użytkownikiem:
debian:/home/sadi# ./kompiluj.rb 2.6.33.1
Na ktorym pliku konfiguracyjnym chcesz bazowac?
1) /boot/config-2.6.32.8-sadi
2) /boot/config-2.6.33-sadi
2
Jaka dodac podwersje? (czlon dodawany za wersja jadra,
np. -sadi; mozesz niczego nie podawac)
-sadi
Utworzyc initrd? (t/n; uwaga: kompilacja bez initrd
wymaga odpowiedniej konfiguracji jadra)
n
Czy zainstalowac jadro, gdy juz sie skompiluje? (t/n)
t
Ciagle trwa sciaganie lub rozpakowywanie archiwum...

### włącza się menuconfig i użytkownik może skonfigurować
sobie co chce ###

Rozpoczac teraz kompilacje? (t - rozpoczyna kompilacje,
n - wychodzi z programu)
t
Program należy wywołać z konta roota, podając jako parametr wersję jądra, którą chcemy zainstalować. Chwilę po uruchomieniu program sprawdza, czy mamy w katalogu /usr/src odpowiednie archiwum (jeśli nie, to je ściąga), a następnie rozpakowuje je. Dzięki zastosowaniu wątków (klasa Thread) możliwa jest dalsza praca programu zanim źródła jądra zostaną pobrane. Skrypt zadaje kilka pytań dotyczących konfiguracji. Gdy zakończy się zarówno wątek ściągania i rozpakowywania, jak i wątek konfiguracji, program uruchamia menuconfig. Gdy z niego wyjdziemy, skrypt pyta, czy teraz przeprowadzić kompilację. Od momentu wpisania ”t” wszystko dzieje się automatycznie. Dodatkowo program jest w pełni głupoodporny, tj. nie powinien się wysypać niezależnie od tego co i gdzie wpisze użytkownik. Całość zajmuje tylko 120 linijek kodu i powinna być dość łatwa do zrozumienia, czy przerabiania.

Zapraszam do testowania!

Pobierz

Zależności:
  • Debian lub inna dystrybucja umożliwiająca kompilację jądra metodą Debiana
  • Ruby 1.8+
  • kernel-package
  • fakeroot
  • wget

<< Powrót

Komentarze:

Wszystkie przedstawione tutaj opinie należą do ich autorów i twórca strony nie ponosi żadnej odpowiedzialności za ich treść.


Imię/Ksywka (wymagane):

Strona WWW:

Wpisz tekst z obrazka (wymagane):

kod

Treść (wymagane):


W polu "Strona WWW" wpisywanie członu "http://" nie jest konieczne. Tagi (X)HTML wpisane w treści nie będą działać jako element strony, zamiast tego pojawią się w samym komentarzu. Komentarze obraźliwe, nie na temat lub niezgodne z prawem będą w miarę możliwości usuwane.

skiny: grey-tea green | light sky blue | carrot orange
some rights reserved | kanał informacyjny | admin | valid XHTML 1.0 | valid CSS | valid Atom 1.0