Strona 1 z 1

Kompilacja jądra make-kpg - błędne pakiety

: 23 sierpnia 2011, 18:43
autor: giaur
Witam,

Długo już tego nie robiłem, ale ostatnio przyszło mi znowu kompilować samodzielnie jądro. No i wyszedł problem, który nie występował niegdyś. Robię to tak (podaję polecenie końcowe):

Kod: Zaznacz cały

make-kpkg --initrd kernel-image kernel-headers
No i wszystko pięknie, tylko że pakiet linux-image zawiera odnośnik do... katalogu z pełnymi źródłami. Natomiast powstały po kompilacji pakiet linux-headers nie nadaje się do niczego. Więc koniec końców i tak powstałe pakiety nie są przenośne - już przy instalacji linux-image od razu mam ostrzeżenie że pakiet zawiera odnośnik do nieistniejących źródeł. A tutaj mam tworzone dowiązanie do katalogu, z którego kompilowałem jądro i to już przy instalacji linux-image. Nie muszę chyba tłumaczyć dlaczego jest to ZŁE. Mając pakiety linux-image i linux-headers chciałbym zainstalować je na innym komputerze. A teraz muszę jeszcze ciągnąć za sobą całe źrodła jądra i to jeszcze wrzucać je do takiego samego katalogu, jak to było na komputerze, na którym przeprowadzałem kompilację. Czyli na każdym komputerze wypada mi zakładać katalog /home/lucek/kernel.

Oczywiście jest to nie do zaakceptowania - powinien być jeden pakiet z samym jądrem, a drugi nagłówkami jądra i to pakiet z nagłówkami powinien tworzyć dowiązania symboliczne do /usr/src. Całe źródła kernela nie powinny być potrzebna i tak to działało wtedy, gdy ostatni raz to robiłem.

Cos mi się pokiełbasiło czy jakis nowy miły błąd nam zafundowano?

Czy coś zmieniło się przez te 2 lata, czy o czymś nie wiem? Czy zmienił sie sposób kompilowania jądra w Debianie? Robię coś źle?

: 25 sierpnia 2011, 13:49
autor: Yampress
Kompilowałeś zapewne 3?

Mnie przy 3 też cuda wyszły według starego mojego przepisu.

: 26 sierpnia 2011, 10:25
autor: giaur
Tak, dokładniej jest to jądro aptosid. Kompilowałem samodzielnie, ponieważ potrzebuję mieć wkompilowaną obsługę fstack-protector i Trace max stack - bez tego nie mogę zainstalować najnowszych sterowników do mojego tunera tv, a starsze są błędne i powodują:

Kod: Zaznacz cały

kernel panic
Tak się zastanawiam, czy moze nie popytać na forum aptosida jak kompilują jądro. Pakiety od nich są w porządku. Ale jeśli ktoś ma rozwiązanie, to chętnie się dowiem. "Klasyczne" kompilowanie jądra nie wchodzi w grę, chcę mieć pakiety z nagłówkami i z samym jądrem.

Edycja:
No właśnie, widzę że twórcy aptosida proponują nieco inny sposób?
http://aptosid.com/index.php?module=wik ... osidKernel

: 26 sierpnia 2011, 12:51
autor: Yampress
Może użyj standardowej nie debianowej metody kompilacji jak za dawnych lat...
Swój opis odnośnie kompilacji juz dawno usunąłem bo nie pasował do 3.

: 26 sierpnia 2011, 13:09
autor: giaur
No właśnie w tym rzecz, że nie bardzo chcę stosować standardową metodę. Ponieważ chcę mieć pełne pakiety .deb z jądrem i nagłówkami jądra. A instalacja nowego jądra powinna sie sprowadzać do zainstalowania tych pakietów. Chyba ze masz na mysli jeszcze jakąś inną metodę, która tworzy pakiety .deb o której nie wiem?

Wypróbuję moze jeszcze metodę z aptosida, jeśli nie zadziała tak jak chcę to chyba będę już pytać na forum aptosid jak skompilować kernel 3.0 tak aby powstały poprawne paczki deb. W końcu oni skompilowali i umieścili w swoim repozytorium poprawne pakiety więc sposób jest. Jeśli dojdę do rozwiązania, to warto by gdzies wrzucić działający sposób. Bo tak jak teraz to działa, to jest nieco bez sensu.

W każdym razie, dzięki za wskazówki.

: 29 sierpnia 2011, 08:18
autor: kiko80
giaur pisze:

Kod: Zaznacz cały

make-kpkg --initrd kernel-image kernel-headers
A nie powinno być przypadkiem tak

Kod: Zaznacz cały

make-kpkg --initrd linux[B]_[/B]image linux[B]_[/B]headers

: 29 sierpnia 2011, 10:37
autor: Yampress
kiko80 pisze:A nie powinno być przypadkiem tak

Kod: Zaznacz cały

make-kpkg --initrd linux[B]_[/B]image linux[B]_[/B]headers
Zawsze było: kernel_image kernel_headers, chyba, że teraz coś zmienili.