Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Strony: 1
Hej,
Przeczytałem masę artykułów. Wiem, że teoretycznie się nie da. Że trzeba chrootować. Komp dla którego chce zrobić kernel, jest strasznie wolny. Kompilacja trwa cały dzień. Wydaje mi się, że mimo wszystko można zrobić paczki i potem je tylko zainstalować. Za pierwszym razem mi się udało i komp wstał, ale późniejsze próby kończyły się klęską (panika kernela). Może opiszę co i jak robiłem.
Najpierw generuje config na 32 poleceniem:
make defconfig
później na 64 dodaje ten config to tych samych źródeł i:
make ARCH=i386 menuconfig
Zaznaczam co mi potrzeba i:
make-kpkg --cross-compile - --arch i386 kernel_image kernel_headers
No i wszystko gra. Problem w tym, że wynikowe paczki są dla amd64 (tego nie rozumiem dlaczego skoro podałem arch w poleceniu) (tu pytanie: Jak zrobić paczki dla i386?). No nic. Forsuje:
dpkg --force-architecture -i linux-image*amd64.deb
Podkreślę, że mimo forsowania raz czy dwa razy udało mi się postawić kernel tylko nie pamiętam co takiego zrobiłem, że działał...
Miałem też próby zmieniania Makefile'a. Zmieniałem linijkę:
CC = $(CROSS_COMPILE)gcc
na
CC = $(CROSS_COMPILE)gcc -m32
ale też lipa. Być może problem jest configu: http://wklej.dug.net.pl/4144
Odznaczam w nim tylko żeby nie robił initrd. ext3 i ata jest na sztywno (tu pytanie: Czy trzeba mieć na sztywno ext2 mimo że się z niego nie korzysta przy kernelu bez init'a?)
Z góry dziękuję za pomoc.
Pozdrawiam
Ostatnio edytowany przez P@blo (2012-06-07 23:05:26)
Offline
Ten opis wygląda nieźle: http://sparlampe.wordpress.com/2011/01/07/cross-com … ng-make-kpkg/.
EDIT: A tutaj z make deb-pkg, wygląda jeszcze łatwiej: http://michael-prokop.at/blog/2011/07/12/creating-3 … environments/.
P@blo napisał(-a):
Najpierw generuje config na 32 poleceniem:
Kod:
make defconfig
Jesteś pewien, że to generuje konifig? Czasem nie kopiuje po prostu odpowiedniego dla danej architektury (w tym przypadku arch/x86/configs/i386_defconfig) jako .config? Nie żeby to miało jakieś większe znaczenie, ale jeśli tylko kopiuje to nie trzeba się bawić w przenoszenie z jednego kompa na drugi.
P@blo napisał(-a):
Czy trzeba mieć na sztywno ext2 mimo że się z niego nie korzysta przy kernelu bez init'a?
Ja nie mam i działa, zatem pewnie nie.
Offline
ArnVaker napisał(-a):
Jesteś pewien, że to generuje konifig? Czasem nie kopiuje po prostu odpowiedniego dla danej architektury (w tym przypadku arch/x86/configs/i386_defconfig) jako .config? Nie żeby to miało jakieś większe znaczenie, ale jeśli tylko kopiuje to nie trzeba się bawić w przenoszenie z jednego kompa na drugi.
Może i masz racje, ale popatrzyłem na różnice i są (niewielkie ale jednak). Więc może ścieżka którą podałeś jest bazą, ale jeszcze dopieszcza co nieco... ;)
Na razie już nie mam dostępu do kompa (na jakiś dłuższy czas) więc wątek niech zahibernuje. Dzięki za linki.
Offline
Miałem jeszcze przez chwile ten komp więc się pobawiłem. make deb-pkg jest świetne. Robi to co chce (czyli paczki dla 32) tak więc gorąco polecam.
Mój problem jendak nie rozwiązał się do końca bo jest problem z konfigiem. Z initem działa, bez nie. Nie wiem czy w 32 jest tak samo jak w 64, stąd zwracam się do was o pomoc w znalezieniu błędu. Załączam ten sam konfig 'z' i 'bez' initrd.
Config z initem → działa
Config bez inita → nie działa
Oczywiście sterwonik ATA i ext3 jest na sztywno... Czy coś jeszcze powinno być o czym nie wiem?
Ostatnio edytowany przez P@blo (2012-06-07 15:47:06)
Offline
UUID-y wykluczyłeś? Tego posta jeszcze zobacz: http://forum.dug.net.pl/viewtopic.php?pid=192167#p192167.
Offline
Ale mówiąc o UUID-ach mówisz o fstab?
Offline
O wpisie w konfigu GRUB-a. Jeśli tam są UUID-y, to bez initrd będzie panikował.
Offline
A widzisz... Zaraz sprawdzę...
EDIT:
Rzeczywiście to były UUID-y w grubie (w fstabie też zmieniłem). Działa wszystko jak należy :)
Dzięki bardzo.
Ostatnio edytowany przez P@blo (2012-06-07 23:04:59)
Offline
W fstabie mogą zostać jeśli tak Ci bardziej pasuje. Chodzi tylko o konfig bootloadera.
Offline
Strony: 1