NetBSD-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Some questions about build.sh, machine, -u and tools



On mag 05 13:21, Martin Husemann wrote:

> No, but you may have the choice wich kernel/userland you want to run
> on the same physical hardware. An example is my cubietruck:
> I run it big-endian as:
> 
> [~] martin@space-truckin > uname -p -m
> evbarm earmv7hfeb
> 
> but most people use exactly the same hardware to run earmv7hf (little endian)
> instead.
> 
> On this board the difference is a simple "set endianess" instruction early
> in the kernel, but on some other machines it is a physical jumper on the board.
> 
> This is not a very typical case though.

It's the first time I "hear" (actually, read) about it. It offers
great flexibility!

> The "compat" cases are more common: on arm machines you can execute
> binaries for eabi (the default) and oabi. On aarch64 machines you could
> run aarch64 (native 64bit), eabi (new 32bit abi) or oabi (old 32bit abi).

This way, MACHINE seems to represent the entirety of the hardware
devices which compose a specific system. It doesn't (it can't!)
change, of course.  Then, given this "static" hardware, you may make some
choices about endianness (as in the cubietruck example) and/or ABI (as
in this compat example) and/or some other features: this determines
the architecture, the instruction set you choose to build the kernel
for (the instruction set you choose to run on the actual CPU), and
this architecture is exactly MACHINE_ARCH.

> I guess now you see the complex spread sheet and understand why you have
> been confused initally - hope it got better during this thread ;-)

Oh, I think (I hope!) yes, it's becoming to be more clear, I really
couldn't figure it out before.

Thank you so much :)

Rocky


Home | Main Index | Thread Index | Old Index