Cross-compile qemu for ARM - arm

I need to cross-compile qemu to use it on a cubieboard2 with an ARM Cortex-A7 CPU and I'm cross-compiling it on Linux Mint.
I can't find anywhere the commands I need to use to do it, the only thing I could find is how to compile qemu on an emulated ARM system. This is what I tried:
git clone git://git.qemu-project.org/qemu.git
./configure --target-list="arm-softmmu arm-linux-user" --prefix=/usr --enable-kvm --enable-linux-user --enable-user --enable-system
make ARCH=ARM CROSS_COMPILE=arm-linux-gnueabihf-
I don't get any errors, everything seems fine, but I don't get an executable file that I can use on my board.
Thanks everyone!

Related

Install gcc in 32 bit ARM architecture

I've installed BuildRoot, to set a SoftetherVPN.
Well, my problem is that I necessary need to install GCC, in a 32-bit ARM Architecture, (obviously I've downloaded the 32 bit version).
I looked all over the internet, because of many problems:
My first idea was to install GCC using command sudo apt-get or sudo yum, but I can only find it in Debian Linux (Buildroot kernel, and its toolchain are very reduced).
At this point I tried to cross-compiling GCC but with no results, because it produced in shell output Library errors. And I also tried to paste those missing libraries yet achieve very little.
You could download some GCC cross-compiler. For example, if your PC is running some Debian-like Linux distribution -perhaps Ubuntu- you might install some gcc-7-arm-linux-gnueabi or similar (gcc-7-arm-linux-gnueabihf ...) package.
The SDK for your board is likely to provide some cross-GCC & cross-binutils.
You could build some cross binutils then some GCC cross-compiler from their source code (this is a bit more tricky).
Your cross-compiler would compile (for ARM) on your Linux-running PC, not on your ARM circuit board.

Compiling ARM with buildroot- how to tell where are the ARM GCC include file

I am trying to compile buildroot to ARM cortex M4.
i donwloaded the ARM Cross compiler
https://developer.arm.com/open-source/gnu-toolchain/gnu-rm/downloads
and configure buildroot using xconfig to use external tool chain with direction to the arm gcc compiler
but i am getting that it search the version.h include in /usr/include
how to i tell gcc in buildroot to search in my installed directory
Thanks!
This cross compiler from ARM is a bare metal compiler, so it cannot build Linux userspace applications/libraries. Therefore, trying to use this compiler with Buildroot does not make much sense, because the whole point of Buildroot is to build a Linux system, with Linux userspace applications and libraries.

Build Linux kernel from source for ARM

Where can I get from the Linux kernel 3.10 for arm7l?
I tried using the one for PC but when I compile it, it ask me the processor architecture and there is no ARM option.
Thank you!
In order to configure and build it for ARM architecture set environment variables or execute the following commands sequence.
ARCH=arm
CROSS_COMPILE=your path to arm cross compile tools/bin/arm-none-eabi-
make menuconfig
Instead of default x86 there will be ARM based architectures list in the menu.

Cross-compiling and running hello world for ARM Linux

I'm trying to run hello world program on ARM computer with Linux (Debian Wheezy). The libc version on it is 2.13, while my own computer has 2.15 (Ubuntu Precise).
I installed arm-linux-gnueabi-gcc on my computer and compiled the application with static linkage.
All my attempts to run compiled binary result in "cannot execute binary file" message. However, QEMU on my own computer (qemu-arm-static) runs the application succesfully.
I thought that it should be enough to link my app statically. The permissions are 755. What am I missing here?
UPD: I tried to install Arch Linux on that ARM. In that distribution my compiled binaries crash with segfault instead of bash error message. Does stock cross compiler in Ubuntu distribution ever work? :-/
Thanks!

Cross-compile from arm to x86

Is there a cross-compile tool like mingw-w64 that will compile code on a Linux ARM system for a Linux x86 system?
I have a BeagleBone Black that is running Debian wheezy that I would like to use to as a build server. It should just sit in the corner and each night build the code from certain repositories.
I have run some tests and found that I can get it to build the windows versions using mingw-w64. However, when I looked at what I thought would be the Linux build I noticed that it was building for ARM. I figure it should be possible to build the Linux versions, but I can't find a cross-compiler.

Resources