Środowisko deweloperskie - PLD
Transkrypt
Środowisko deweloperskie - PLD
2017/03/02 07:56 1/3 Środowisko deweloperskie Domyślny kernel sprawdza się większości wypadków, jednak czasami chcemy mieć jego najświeższą wersję lub specyficzną dla PLD odmianę. W tym rozdziale opiszemy budowanie kernela vaniliowego (bez jakichkolwiek łatek). Na serwerze dostępne są podstawowe alternatywne pakiety kernela, jednak nie ma do nich modułów dodatkowych np.: nvidia, madwifi, dlatego zbudujemy wszytko samodzielnie. Założyłem, że będziemy chcieli mieć najnowsze dostępne wersje pakietów, dlatego przykłady będą dotyczyć tagów DEVEL i HEAD. Jest to ryzykowne i nie ma gwarancji, że budowanie się w takim wypadku uda, jednak w wielu wypadkach gra jest warta świeczki. Środowisko deweloperskie Oprócz oczywistych pakietów takich jak gcc i okolic, będziemy potrzebować kompletnego środowiska do budowania pakietów. Kernel Wchodzimy do katalogu ~/rpm/SPECS i zaczynamy od podstawowych pakietów jądra (trochę to potrwa): ./builder -bb kernel-vanilla -r HEAD zanim zainstalujemy nowo zbudowane pakiety dobrze jest od razu zbudować dodatkowe moduły kernela. Moduły spoza jądra Aby zbudować moduły spoza źródeł jądra potrzebujemy pakiet kernel-module-build, który jednak nie jest budowany domyślnie. Dlatego teraz zbudujemy pakiety niezależne od architektury (kernelmodule-build, kernel-source, itd.). Jeśli, dopiero co budowaliśmy kernel (jak wyżej), to możemy użyć szybszej metody, w katalogu ~/rpm/packages: ./repackage.sh kernel-vanilla/kernel-vanilla.spec --with noarch w przeciwnym wypadku: ./builder -bb kernel-vanilla -r HEAD --with noarch Pakiety trafiły do katalogu ~/rpm/RPMS, więc instalujemy je Poldkiem z użyciem parametru -n home: poldek -n home -i kernel-vanilla-module-build PLD-users.org - http://pld-users.org/ Last update: 2009/08/08 pl:przewodniki:budowanie-niestandardowego-kernela http://pld-users.org/pl/przewodniki/budowanie-niestandardowego-kernela 22:50 Nvidia Budujemy moduł nvidia, jako że budujemy alternatywny kernel musimy użyć parametru –alt_kernel ./builder -bb xorg-driver-video-nvidia -r DEVEL --alt_kernel vanilla Teraz kolej na sterownik X.org: ./builder -bb xorg-driver-video-nvidia.spec -r DEVEL --without kernel Madwifi Poniżej przykład budowania sterownika WiFi dla kart z układem Atheros: ./builder -bb madwifi-ng -r HEAD --alt_kernel vanilla Instalacja Kiedy wszystkie pakiety są gotowe, możemy je zainstalować za pomocą parametru -n home, jak to zostało wcześniej opisane. Niestandardowe pakiety będą miały słowo vanilla w nazwie, przez co nie będą kolidować z zainstalowanymi już paczkami. Co więcej, pliki instalowane do /boot (vmlinuz, initrd, itd.) też będą miały alternatywną nazwę, dlatego należy dokonać poprawek w konfiguracji bootloadera. Jeśli używamy lilo to dodatkowo instalujemy je na nowo i możemy restartować system. Uwagi zainstalowane pakiety *-module-build, *-headers itd. nie będą już nam potrzebne i możemy je odinstalować, zbudowane RPM-y jednak warto zachować. więcej o budowaniu pakietów w podręczniku dewelopera. budowanie pakietów z DEVEL lub HEAD nie zawsze się uda, możemy jednak użyć wersji oznaczonych tagami zaczynającymi się od auto np.: auto-th-kernel-2_6_25_9-4 w przypadku kernel.spec. Dzięki temu będziemy mieli pewność, że w repo SOURCES będą dostępne wszystkie wymagane łatki. http://pld-users.org/ Printed on 2017/03/02 07:56 2017/03/02 07:56 3/3 From: http://pld-users.org/ - PLD-users.org Permanent link: http://pld-users.org/pl/przewodniki/budowanie-niestandardowego-kern ela Last update: 2009/08/08 22:50 PLD-users.org - http://pld-users.org/ Środowisko deweloperskie