xteejx,
I think we have a terminology issue here. A chroot of itself does not permit you to run code for one architecture on a different architecture. e.g. you cannot run ARM binaries, on an amd64 host because they are in a chroot. The CPU is still the host CPU both inside and outside the chroot.
Another host based install inside a chroot does mean that if you make a build error and install ARM code in your chroot, only your chroot is trashed, not your entire install.
You will need qemu to execute ARM binary code on an amd64 host. qemu can be installed inside the chroot or outside the chroot. It provides an emulated ARM system that you install ARM code into just as you install into Virtualbox.
However you build your ARM code, it must not be installed so you attempt to execute it in the host, because the host won't understand it. I will probably hear the crash :)
Indeed, you can install qemu with one of the ARM soft targets then boot a qemu instance with an ARM iso file. It will boot like a real ARM based system. Now you can go through a handbook install in this qemu instance. Like a virtualbox guest, the qemu instance has its filesystem as a file on your disk. You will die of old age running gcc inside qemu, so build things with your crossdev toolchain and move them into qemu so that they can be installed and executed.
-- edit --
The kernel supports these
Code: Select all
blackfin hexagon microblaze parisc sh unicore32
alpha cris ia64 mips powerpc sparc x86
arm frv m32r mn10300 s390 tile x86_64
avr32 h8300 m68k openrisc score um xtensa
arches.
To see what an arm kernel menuconfig looks like run
do *NOT* save on exit.
Looking is harmless. If you want to save and build get a clean copy of the kernel in your ARM workspace and build it there, away from your system kernel.
Read the help in the () Cross Compiler Prefix option. You may want to set that.