This page describes how to cross-compile with buildroot a toolchain for the printer.
We configure buildroot to cross-compile for ARMv7. It will create build tools for software development and other packages like dropbear for the target system.
First make sure your system has the required dependencies as stated in Chapter 2, 2.1. Mandatory packages of the buildroot user manual.
From the buildroot download webpage, follow instructions how to clone the git repository and build accordingly:
cd your_project_directory git clone https://gitlab.com/buildroot.org/buildroot.git buildroot-2024.08.1 cd buildroot-2024.08.1
And create a symbolic link to buildroot and create a directory for a possible rootfilesystem.
ln -s buildroot-2024.08.1 buildroot mkdir -p flashforge/buildroot_overlay/rootfs_overlay
Start reading the information about a buildroot external tree. Using buildroot's external tree mechanism allows all project-specific files to be separated from the buildroot internals and easy upgrades to future buildroot releases. See here for more inforation.
Then issue:
make menuconfig
and when done, click on save, exit menuconfig and from the terminal enter:
make
This will let buildroot download and compile all required files. Have patience.
If we only are interested in fixing the printers' software, we can as an alternative just use apt to install the toolchain gcc-arm-linux-gnueabihf:
sudo apt install gcc-arm-linux-gnueabihf
For the build tools, we will use the following:
Target system libc version:
/lib/libc.so.6 --version GNU C Library (EGLIBC) stable release version 2.19-2014.08-1-git, by Roland McGrath et al. Copyright (C) 2014 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. Compiled by GNU CC version 4.9.4. Compiled on a Linux 4.0.0 system on 2017-02-01. Available extensions: crypt add-on version 2.1 by Michael Glad and others Native POSIX Threads Library by Ulrich Drepper et al BIND-8.2.3-T5B libc ABIs: UNIQUE For bug reporting instructions, please see: <http://www.eglibc.org/issues/>.