Zmiana domyślnego "bootup logo"

Slackware FAQ - czyli baza pytań i odpowiedzi.

Moderatorzy: Moderatorzy, Administratorzy

ODPOWIEDZ
Awatar użytkownika
Radek_R
Moderator
Posty: 1196
Rejestracja: 2004-06-14, 11:40
Lokalizacja: Kraków
Kontakt:

Zmiana domyślnego "bootup logo"

Post autor: Radek_R » 2007-03-22, 17:24

[center]Zmiana domyślnego "bootup logo" podczas startu Slackware[/center]

Kod: Zaznacz cały

Spis treści:
0. Wstęp
1. Przygotowania
2. Obróbka grafiki
3. Podmiana logo
:!: Informacja: Opis ten dotyczy kernela 2.6, jeżeli chcemy wykonać coś podobnego dla jąder z gałęzi 2.4, powinniśmy się udać na stronę Gentoo Wiki.

0. Wstęp

Wiele osób lubi grzebać w systemie. Część robi to by przyspieszyć działanie systemu, inni by poprawić jego wygląd. Obie te grupy chcą zapewne jak najwięcej się nauczyć oraz dostosować go do własnych potrzeb. Ten tekst skierowany jest do drugiej grupy osób, opisuje tzw. wizualny tuning komputera.
W przypadku, gdy korzystamy z dobrodziejstw framebuffera (i mamy zaznaczone dodatkowo odpowiednie opcje), w lewym górnym rogu pojawia się logo Linuksa czyli taki przemiły pingwinek. Jednak podczas używania przeze mnie dystrybucji Archlinux, dało się zauważyć coś innego. Zamiast naszego milusiego Tuksa znajduje się tam kolorowe logo Archa. W związku z tym obudziła się we mnie niezmierzona chęć posiadania w tym miejscu logo naszej dystrybucji. Postanowiłem więc zmienić standardowego pingwina na coś bardziej Slackowatego. Prace rozpocząłem od znalezienia odpowiedniego kandydata na przyszłe logo. Na szczęście na stronie Slackware Propaganda można znaleźć duży wybór różnych stylizowanych grafik. Mój wybór padł na http://www.slackware.com/~msimons/slack ... SWtuxa.jpg jako najbardziej nadające się do tego celu. A więc przystępujemy do pracy.


1. Przygotowania

Po pierwsze musimy mieć jądro skompilowane z obsługą framebuffera (fb). Dokładne informacje na temat kompilacji jądra znajdziemy w poradniku Kompilacja jądra w naszym FAQ. Aby włączyć obsługę fb oraz logo należy zaznaczyć następujące opcje:

Kod: Zaznacz cały

Device Drivers -> Graphics support
<*> Support for frame buffer devices
[*]   VESA VGA graphics support
Oprócz tego powinniśmy (choć nie musimy) także skompilować sterownik odpowiedni dla naszej karty graficznej. Więcej informacji na temat używania framebuffera można znaleźć w źródłach kernela w katalogu Documentation/fb.
Po drugie będziemy potrzebować supportu dla samego logo:

Kod: Zaznacz cały

Device Drivers -> Graphics support -> Logo configuration
[*] Bootup logo
oraz jedno z:

Kod: Zaznacz cały

[ ]   Standard black and white Linux logo
[ ]   Standard 16-color Linux logo
[*]   Standard 224-color Linux logo
Jak widać najlepiej mieć zaznaczone to ostatnie, ze względu na większą ilość kolorów do obsłużenia. Wybór zależny jest oczywiście od posiadanego sprzętu, ale wydaje mi się, że wszystkie nowe a nawet trochę starsze komputery bez problemu potrafią wyświetlić 224 kolorowe obrazki :)
!UWAGA! W dalszej części będziemy potrzebować narzędzi z paczki netpbm więc polecam ją w tym momencie doinstalować.


2. Obróbka grafiki

A więc po zapisaniu konfiguracji możemy przejść do obróbki obrazka. Przygotowujemy sobie daną grafikę, najlepiej żeby nie była zbyt duża. Pomimo że nie zauważyłem jakiegoś ograniczenia jej rozmiaru, to lepiej nie przesadzać z tym ;> Po pierwsze należy ją przekonwertować na format Portable Pixmap (ppm). Ja użyłem do tego gimpa, przy okazji lekko kadrując wedle uznania. Zapisujemy plik jako tekstowy ppm (powiedzmy slack.ppm). Następnie musimy ograniczyć liczbę kolorów do 224. Służy do tego polecenie ppmquant. A więc po krótkim zapoznaniu się za manualem, wydajemy polecenie:

Kod: Zaznacz cały

$ ppmquant 224 slack.ppm > slack_224.ppm
W tym momencie grafika nie jest jeszcze gotowa, gdyż jest w postaci binarnej. Należy zamienić ją z powrotem na tekstową. Na szczęście nie musimy tego robić ręcznie bajt po bajcie, posłużymy się programem pnmtoplainpnm. Tak samo jak poprzednio zapoznajemy się z manualem i dzięki temu wiemy, że powinniśmy użyć polecenia z następującą składnią:

Kod: Zaznacz cały

$ pnmtoplainpnm slack_224.ppm > slack_224_text.ppm
Po tej czynności obrazek mamy gotowy. Jego nazwa to slack_224_text.ppm.


3. Podmiana oryginalnego logo

Przyszedł czas na małe "machniom". Przechodzimy do katalogu ze źródłami kernela (zazwyczaj /usr/src/linux) a następnie udajemy się do katalogu drivers/video/logo. Znajdują się tam pliki grafik nazwane w zależności od ilości kolorów a także od architektury. Interesujący nas (PeCetowców) plik to logo_linux_clut224.ppm. Kopiujemy go sobie w nową lokalizację lub zmieniamy mu nazwę na jakąś inną na wypadek gdybyśmy chcieli wrócić do oryginalnego obrazka w przyszłości. Nasz plik natomiast zapisujemy pod tą nazwą.
Następnie rekompilacja i podmiana jądra na właśnie stworzone. Po ponownym uruchomieniu komputera w trakcie uruchamiania powinniśmy zobaczyć nasze piękne, nowe logo "w akcji".


Uwagi (zaba0):
W celu wyświetlania pojedynczego obrazu należy zmienić w pliku drivers/video/fbmem.c:

Kod: Zaznacz cały

fb_do_show_logo(info, &image, rotate, num_online_cpus());
na

Kod: Zaznacz cały

fb_do_show_logo(info, &image, rotate, 1);
----

(30-03-2007 22:45) Dodałem link do artykułu o zmianach logo w 2.4
(23-03-2007 10:00) Dodałem wzmiankę o dokumentacji fb w źródłach linuksa
Ostatnio zmieniony 2009-05-24, 10:09 przez Radek_R, łącznie zmieniany 6 razy.
#358274
http://www.prook.net

ODPOWIEDZ