I read through this document on cross compiling. It really wasn't informative.
When I'm setting up a Ubuntu VM for cross compile to Arm V8, all I have to really do is.
Code: Select all
sudo nano /etc/apt/sources.list
Code: Select all
deb [arch=arm64] http://ports.ubuntu.com/ focal main multiverse universe
deb [arch=arm64] http://ports.ubuntu.com/ focal-security main multiverse universe
deb [arch=arm64] http://ports.ubuntu.com/ focal-backports main multiverse universe
deb [arch=arm64] http://ports.ubuntu.com/ focal-updates main multiverse universe
Code: Select all
sudo dpkg --add-architecture arm64
sudo apt-get update
sudo apt-get install crossbuild-essential-arm64
sudo apt-get install gcc g++ cmake make ninja-build
sudo apt-get upgrade
sudo apt-get autoremove
sudo apt-get install libx11-dev libx11-dev:arm64 libx11-xcb-dev libx11-xcb-dev:arm64
Code: Select all
make CC="/usr/bin/aarch64-linux-gnu-gcc"
Code: Select all
file bin/zahnrad
bin/zahnrad: ELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=77ac2a1bc4ed24786e35cf7ef1bf6e99fcf37e05, for GNU/Linux 3.7.0, not stripped
What I'm looking for is the lines needed to add to /etc/apt/sources.list.
I'm perfectly fine having the extra files cluttering up my system. I really want to use Debian for my cross platform development environment because I'm sick and tired of Ubuntu nagging me to "Upgrade to Ubuntu Pro!" That's not the only issue, but it's a big one.
I should be able to replicate this workflow in Debian I would think, am I incorrect? Has Debian abandoned the "traditional" embedded systems development workflow in favor of the things on that documentation page I linked?
Thanks!