Como posso baixar corretamente o conjunto de ferramentas linaro e configurá-lo para que eu possa usá-lo com o Makefile do kernel? Quando testo minha versão na função arm-linux-gnueabihf-gcc --version
, ela funciona, mas ao compilar um kernel personalizado, ele falha.
Contexto
Eu estou trabalhando para compilar um kernel Linux customizado para o Blackboard do Beaglebone. O guia que estou seguindo para criar o kernel personalizado é aqui .
Ao seguir as etapas do guia, preciso usar arm-linux-gnueabihf-gcc
a fim de cruzar compilar o kernel para o hardware Beaglebone. Então eu instalei o conjunto de ferramentas do linaro em seu site . Acabei de fazer o download e, em seguida, descompactei-o na pasta /opt/
.
$ cd /opt/
$ sudo mv gcc-linaro-7.1.1-2017.08-x86_64_arm-linux-gnueabi.tar.xz/ gcc-arm-linux
$ export PATH=$PATH:/opt/gcc-arm-linux/bin
Eu testo e me certifico de que as coisas funcionaram na instalação.
$ arm-linux-gnueabihf-gcc --versão
E minha saída é semelhante à seguinte imagem:
Quandoterminar,estoucompilandookernelusandooMakefilepadrão.
$cd~/linux$sudomakeARCH=armCROSS_COMPILE=arm-linux-gnueabihf-bb.org_defconfig$sudomakeARCH=armCROSS_COMPILE=arm-linux-gnueabihf-uImagedtbsLOADADDR=0x80008000-j4
Nesteponto,eumedeparocomerrosnocomandopararealmentecompilarokernel.
Makefile:686:CannotuseCONFIG_CC_STACKPROTECTOR_STRONG:-fstack-protector-strongnotsupportedbycompilermake:arm-linux-gnueabihf-gcc:CommandnotfoundCHKinclude/config/kernel.releaseCHKinclude/generated/uapi/linux/version.hCCscripts/mod/empty.o/bin/sh:1:arm-linux-gnueabihf-gcc:notfoundscripts/Makefile.build:258:recipefortarget'scripts/mod/empty.o'failedmake[2]:***[scripts/mod/empty.o]Error127scripts/Makefile.build:403:recipefortarget'scripts/mod'failedmake[1]:***[scripts/mod]Error2make[1]:***Waitingforunfinishedjobs....Makefile:556:recipefortarget'scripts'failedmake:***[scripts]Error2make:***Waitingforunfinishedjobs....
Omaisconfusoéqueoserrosindicamquearm-linux-gnueabihf-gcc:notfound
,noentanto,possoexecutarocomandoarm-linux-gnueabihf-gcc--version
namesmapastaeeleseráexecutadocorretamente.
Asoluçãoparaesteproblemapodeserapenasinstalá-lousandooapt:
sudoapt-getinstallgcc-arm*
Oqueésugeridonaresposta this , mas que não t resolve minha confusão.
Por que eu posso testar minha versão na função arm-linux-gnueabihf-gcc
, mas ela não é executada no Makefile corretamente? Como posso baixar corretamente o conjunto de ferramentas linaro e configurá-lo para que eu possa usá-lo com o Makefile do kernel?