Build cross compiler for Raspberry Pi
Christer Solskogen
christer.solskogen@gmail.com
Wed Aug 16 13:14:00 GMT 2017
On 16-Aug-17 12:52, Avelino Herrera Morales wrote:
> Hi all,
>
> I am attempting to build the binutils/gcc/glibc toolchain to build a
> cross compiled Linux from scratch for my Raspberry Pi. I succesfully
> have compiled binutils, stage 1 of gcc and glibc:
>
> For binutils 2.29:
> $ configure --prefix=/opt/rpi --disable.nls
> --target=arm-linux-gnueabihf --disable-multilib
> $ make
> $ make install
>
> For gcc 7.2.0 (stage 1):
> $ export PATH=/opt/rpi/bin:${PATH}
> $ configure --prefix=/opt/rpi --target=arm-linux-gnueabihf
> --enable-languages=c --without-headers --disable-nls
> --disable-multilib --disable-threads --disable-shared
> $ make all-gcc all-target-libgcc
> $ make install-gcc install-target-libgcc
>
> Get current kernel headers:
> $ cd /opt/rpi/src
> $ git clone https://github.com/raspberrypi/linux.git
> $ cd linux
> $ make headers_install ARCH=arm INSTALL_HDR_PATH=/opt/rpi/src/kernel-headers
>
Don't do that that way.
Install the kernel headers in in sysroot like this:
/opt/rpi/sysroot
> For glibc 2.26:
> $ configure --prefix=/opt/rpi --host=arm-linux-gnueabihf
> --with-headers=/opt/rpi/src/kernel-headers/include --disable-multilib
> $ make
> $ make install
>
Use --prefix=/usr and --with-headers=/opt/rpi/sysroot. Then use make
install DESTDIR="/opt/rpi/sysroot"
> Until here all is ok, but I am a bit confused about how to compile
> stage 2 of gcc. I have tested some configurations (found all over the
> internet) but no one compiles ok the stage 2.
>
> Any idea for how to compile the stage 2? I guess I should use the
> "--with-sysroot" configuration option but I don't understand it.
>
IIRC --with-sysroot=/opt/rpi/sysroot should be used on both stage2 of
gcc and binutils.
--
chs
More information about the Gcc-help
mailing list