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
Witam,
Pozornie udało mi się cross-kompilować kernel Raspbian'a na komputerze PC. Niestety kompilację udało się zakończyć i zainstalować, ale z błędem.
Zacznę od początku, najpierw przygotowałem RPi do kroskompilacji:
cd /usr/src
git clone --depth 1 git://github.com/raspberrypi/firmware.git
cd firmware/boot
cp fixup.dat bootcode.bin start.elf start_cd.elf fixup_cd.dat kernel_cutdown.img kernel_emergency.img /boot/
zcat /proc/config.gz > $pendrive/.config
apt-get install -y make gcc libncurses5-dev
rm -r $pendrive/linux
cd /usr/src
git clone --depth 1 git://github.com/raspberrypi/tools.git
cd tools/arm-bcm2708
cp -r arm-bcm2708hardfp-linux-gnueabi /
cd /
mv arm-bcm2708hardfp-linux-gnueabi cross
rm -r /usr/src/tools
rm -r /usr/src/firmwareNastępnie plik konfiguracyjny przeniosłem na komputer PC, który też przygotowałem:
apt-get -y install make gcc git libncurses5-dev
cd /usr/src
git clone --depth 1 git://github.com/raspberrypi/linux.git
cp $pendrive/.config /usr/src/linux/
cd /usr/src
git clone --depth 1 git://github.com/raspberrypi/tools.git
apt-get -y install gcc-arm-linux-gnueabihf
apt-get -y install ia32-libs
cd tools/arm-bcm2708
cp -r arm-bcm2708hardfp-linux-gnueabi /
cd /
mv arm-bcm2708hardfp-linux-gnueabi raspbian
cd /usr/src/linux
make ARCH=arm CROSS_COMPILE=/raspbian/bin/arm-bcm2708hardfp-linux-gnueabi- menuconfig
make -j"$cores" ARCH=arm CROSS_COMPILE=/raspbian/bin/arm-bcm2708hardfp-linux-gnueabi-
make modules -j"$cores" ARCH=arm CROSS_COMPILE=/raspbian/bin/arm-bcm2708hardfp-linux-gnueabi-
cd /usr/src/tools/mkimage
./imagetool-uncompressed.py /usr/src/linux/arch/arm/boot/zImage
cp kernel.img $pendrive
cd /usr/src
tar czfv $pendrive/linux.tar.gz linux/
rm -r /raspbian
rm -r /usr/src/toolsPodczas kompilacji pojawił się błąd składni, ale udało się całość przekompilować, po czym przeniosłem wszystko z powrotem na RPi do instalacji:
cp $pendrive/kernel.img /boot/
cp $pendrive/linux.tar.gz /usr/src/
cd /usr/src
tar -xzf linux.tar.gz
rm linux.tar.gz
cd /usr/src/linux
make ARCH=arm CROSS_COMPILE=/cross/bin/arm-bcm2708hardfp-linux-gnueabi- modules_install INSTALL_MOD_PATH=/Podczas instalacji znowu ten sam błąd, ale wszystko poszło do końca:
(...)
root@raspberrypi:/usr/src/linux# ARCH=arm CROSS_COMPILE=/cross/bin/arm-bcm2708hardfp-linux-gnueabi- make modules_install INSTALL_MOD_PATH=/
/cross/bin/arm-bcm2708hardfp-linux-gnueabi-gcc: 1: /cross/bin/arm-bcm2708hardfp-linux-gnueabi-gcc: Syntax error: word unexpected (expecting ")")
INSTALL arch/arm/oprofile/oprofile.ko
INSTALL crypto/aes_generic.ko
INSTALL crypto/arc4.ko
INSTALL crypto/async_tx/async_memcpy.ko
(...)Kernel i moduły zaktualizowane, ale jak tylko próbuję coś skompilować przez make, make install - np. sterownik:
root@raspberrypi:/usr/src/stk1160# make
make -C /lib/modules/3.2.27+/build M=/usr/src/stk1160 modules
make[1]: Wejście do katalogu `/usr/src/linux'
Building modules, stage 2.
MODPOST 1 modules
scripts/mod/modpost: 1: scripts/mod/modpost: Syntax error: ")" unexpected
make[2]: *** [__modpost] Błąd 2
make[1]: *** [modules] Błąd 2
make[1]: Opuszczenie katalogu `/usr/src/linux'
make: *** [all] Błąd 2
root@raspberrypi:/usr/src/stk1160# ls
Makefile stk1160-core.c stk1160-i2c.c stk1160-reg.h stk1160-video.c
modules.order stk1160-core.o stk1160-i2c.o stk1160-v4l.c stk1160-video.o
README.md stk1160.h stk1160.o stk1160-v4l.o
root@raspberrypi:/usr/src/stk1160#... to nadal mam ten sam błąd, ale kompilacja już dalej jest niemożliwa :!:
Tyle roboty i *.
Może to problem ze źle zrobioną konfiguracją w menuconfig ??
Co wpisać w pole w ogólnych ustawieniach: "() Cross-compiler tool prefix." ??
Co robię źle ?? Skąd ten błąd ??
Ostatnio edytowany przez Maliniak (2012-12-08 11:45:27)
Offline
Strony: 1