[uClinux-dev] Creating a new arch
bklooste at gmail.com
Wed May 5 02:40:06 EDT 2010
This worked but the result was
Compiler and binutils built with standards tools ( eg elf format)
uCLibC as Nommu
I can build a no MMU kernel by setting the env variable.
So I really needs my own toolchain which I have been fighting with.
Now am I right in saying that the compiler and binutils don't really care
about the MMU and if I can manage to install elf2bin in binutils , I would
have a no mmu x86 toolchain ?
Getting PIC/ELF PIC too work would probably require changing the linker (
and loader !) or writing a new elf2bin ( and loader) .
>From: uclinux-dev-bounces at uclinux.org [mailto:uclinux-dev-
>bounces at uclinux.org] On Behalf Of David McCullough
>Sent: Tuesday, April 13, 2010 12:29 PM
>To: uClinux development list
>Subject: Re: [uClinux-dev] Creating a new arch
>Jivin Ben Kloosterman lays it down ...
>> I have been working on uCLinux on Arm, since Mono has Arm with the
>idea of a
>> prototype for a ucLinx + Mono base kernel to start with.
>> I got it booting in an emulator but now have some issue loading the
>> file system (not a Question I will work it out) I'm quite impressed by
>> functionality in the lib/toolkit though.
>> I just want to get a feel of how hard it will be to create an x86_64
>> if I copy the latest kernel , apply the ucLinux kernel patch will it
>> the Kernel ? How much work is in the libs or will these mostly compile
>> x86_64 ? Obviously mono will be easier to compile under x86_64.
>Building the uClinux-dist for x86/x86_64 is easy, you just need a good
>uClibc config and a kernel config.
>I am not sure there are any x86_64 targets in the tree, but plenty
>of systems are x86:
> grep -l i386 vendors/*/*/config.arch
>so that may be a good start. You can just override the compiler options
>in your config.arch to get a 64bit build happening. I have done it but
>don't seem to have it hanging around any more and can't really recall
>gotchs. An example might look something like (with a big dose of
> CPUFLAGS = -m64
> CPU_CFLAGS = -m64
> TARGETARCH = x86_64-linux
> CONFIGURE_HOST = x86_64-linux
> CROSS_COMPILE := some-tools-chain-prefix-here-
> include $(ROOTDIR)/vendors/config/i386/config.arch
>You may need to tweak vendors/config/i386/config.arch to get the
>right for x86_64 builds though.
More information about the uClinux-dev