kernel do linux - tentando compilar no ubuntu (para rpi zero)

Jun 25 2020

[nova caixa virtual vm, usando ubuntu 20.04, todas as atualizações feitas durante a instalação]

Eu apenas tento executar make bcmrpi_defconfig em um repositório git do kernel do Linux

patcheado para RT :

wget https://mirrors.edge.kernel.org/pub/linux/kernel/projects/rt/4.19/patch-4.19.127-rt55.patch.gz
zcat patch-4.19.127-rt55.patch.gz | patch -p1

mas diz que não consegue encontrar o compilador de braço ...

phil@rt-linux-pi:~/linux$ /home/phil/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/arm-linux-gnueabihf-gcc bash: /home/phil/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian /bin/arm-linux-gnueabihf-gcc: No such file or directory phil@rt-linux-pi:~/linux$ ls /home/phil/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/arm-linux-gnueabihf-gcc -lha
lrwxrwxrwx 1 phil phil 29 Jun 25 22:58 /home/phil/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/arm-linux-gnueabihf-gcc -> arm-linux-gnueabihf-gcc-4.8.3

Agora percebo que arm-linux-gnueabihf-gcc não pode ser encontrado em nenhum lugar do sistema

Eu recebo este erro :

make bcmrpi_defconfig
/bin/sh: 1: /home/phil/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/arm-linux-gnueabihf-gcc: not found
/bin/sh: 1: /home/phil/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/arm-linux-gnueabihf-gcc: not found
./scripts/gcc-version.sh: 26: /home/phil/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/arm-linux-gnueabihf-gcc: not found
./scripts/gcc-version.sh: 27: /home/phil/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/arm-linux-gnueabihf-gcc: not found
./scripts/gcc-version.sh: 29: /home/phil/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/arm-linux-gnueabihf-gcc: not found
./scripts/gcc-version.sh: 26: /home/phil/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/arm-linux-gnueabihf-gcc: not found
./scripts/gcc-version.sh: 27: /home/phil/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/arm-linux-gnueabihf-gcc: not found
./scripts/gcc-version.sh: 29: /home/phil/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/arm-linux-gnueabihf-gcc: not found
init/Kconfig:17: syntax error
init/Kconfig:16: invalid option
./scripts/clang-version.sh: 15: /home/phil/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/arm-linux-gnueabihf-gcc: not found
./scripts/gcc-plugin.sh: 11: /home/phil/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/arm-linux-gnueabihf-gcc: not found
make[1]: *** [scripts/kconfig/Makefile:104: bcmrpi_defconfig] Error 1
make: *** [Makefile:534: bcmrpi_defconfig] Error 2

Eu tentei :

  • instalando fundamentos de compilação

  • Eu instalei esses pacotes: libncurses-dev flex bison openssl libssl-dev dkms libelf-dev libudev-dev libpci-dev libiberty-dev autoconf

  • Modifiquei a variável PATH:

echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/home/phil/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/

obrigado pelo tempo que você gastará nesta questão

Saudações

Eu sigo este tutorial: http://www.frank-durr.de/?p=203

Respostas

user3455897 Jun 26 2020 at 11:59

o documento oficial explica as coisas um pouco melhor e de uma forma mais "recente" de fazer as coisas

https://www.raspberrypi.org/documentation/linux/kernel/building.md

primeiro mod e arquivo .bashrc de origem e adicione no final:

if [ -d "$HOME/tools/arm-bcm2708/arm-linux-gnueabihf/bin" ] ; then PATH="$PATH:$HOME/tools/arm-bcm2708/arm-linux-gnueabihf/bin"
fi

para construir o kernel faça:

sudo apt install git bc bison flex libssl-dev make libc6-dev libncurses5-dev

git clone --depth=1 --branch rpi-4.19.y https://github.com/raspberrypi/linux

cd linux
export KERNEL=kernel
make bcmrpi_defconfig

cd ..
git clone https://github.com/raspberrypi/tools ~/tools

cd linux

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- bcmrpi_defconfig
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- zImage modules dtbs

espero que isso ajude outra pessoa também