witam, Mam dosc zlozona sytuacje. Potrzebuje zbudowac jajko do Sun Cobalt'a RaQ4 - gdzie jest amd K6 o ile sie nie myle. Coby bylo szybciej wymyslilem sobie, ze skompiluje to jajko na serwerku do ktorego mam dostep. I tutaj zaczela sie zabawa - bo serwerek na architekturze 64 bitowej. Pierwsze co udalo mi sie wygooglac to "The simplest way to compile a 32bit kernel on pure64 is still to create a 32bit chroot." Podazajac wiec za http://www.debian-administration.org/articles/356 zdebootstrapowalem sarge'a pod i386, zchrootowalem sie do srodka - i ku mojemu zaskoczeniu podczas konfiguracji (make menuconfig) dostepne mialem nadal tylko 64bit architektory. Troche czasu zajelo zanim wygooglalem cos typu "make ARCH=i386 menuconfig". Wiecej wygooglac mi sie w temacie nie udalo wiec dalej eksperymentuje i jakos nie daje juz rady. "make-kpkg --revision cobalt.1 kernel_image" zaczyna kompilowac i po chwili wurzuca cos typu: depmod: ELF file /usr/src/linux/debian/tmp-image/lib/modules/2.4.32/kernel/net/ipv4/netfilter/iptable_filter.o not for this architecture depmod: ELF file /usr/src/linux/debian/tmp-image/lib/modules/2.4.32/kernel/net/ipv4/netfilter/iptable_mangle.o not for this architecture depmod: ELF file /usr/src/linux/debian/tmp-image/lib/modules/2.4.32/kernel/net/ipv4/netfilter/iptable_nat.o not for this architecture make[2]: *** [_modinst_post] Bd 1 make[2]: Leaving directory `/usr/src/linux-2.4.32' make[1]: *** [real_stamp_image] Bd 2 make[1]: Leaving directory `/usr/src/linux-2.4.32' make: *** [kernel-image-deb] Bd 2 wynalazlem tez, ze make-kpkg mozna uruchomic z opcjami --arch i --cross-compile - wiec "make-kpkg --arch amd686 --cross-compile i386 --revision cobalt.1 kernel_image" ale nadal cos nie tak bo pierwsze linijki to: dpkg-architecture: warning: Specified GNU system type x86_64-linux does not match gcc system type i386-linux i zaraz po tym dostaje kilka pytan odnosnie konfiguracji jadra (jak przy make config) m.in. odnosnie architektury - i tutaj znowu do wyboru tylko 64 bit. Pomyslalem, ze moze odwrocilem parametry ale "make-kpkg --arch i386 --cross-compile amd64 --revision cobalt.1 kernel_image" na koniec zwraca: /usr/bin/make ARCH=i386 \ CROSS_COMPILE=amd64- bzImage make[1]: Entering directory `/usr/src/linux-2.4.32' gcc -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -o scripts/split-include scripts/split-include.c scripts/split-include include/linux/autoconf.h include/config amd64-gcc -D__KERNEL__ -I/usr/src/linux-2.4.32/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -fomit-frame-pointer -pipe -march=i586 -DKBUILD_BASENAME=main -c -o init/main.o init/main.c make[1]: amd64-gcc: Polecenie nie znalezione make[1]: *** [init/main.o] Bd 127 make[1]: Leaving directory `/usr/src/linux-2.4.32' make: *** [stamp-build] Bd 2 gdzie zle kombinuje ?? pozdrawiam - no i przepraszam, ze to tyle zajel - ale nie potrafie krocej opisac tego problemu. -- Marcin 'iwi' Iwinski jid: iwi@jabber.org | rlu: 417243
Attachment:
pgpTKBf8Jn2Fy.pgp
Description: PGP signature