[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

dlugie - kompilacja jadra dla i386 na amd64



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


Reply to: