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/firmware
Nastę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/tools
Podczas 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