NetBSD-Users archive

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

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



Hello!
Chapter 32 of The NetBSD Guide deals with Crosscompiling NetBSD with
build.sh.

1.
With `list-arch' the full list of the available machines and CPU
types is shown, named respectively MACHINE and MACHINE_ARCH. Correct
me if I'm wrong, MACHINE_ARCH represents the CPU with its specific
instructions set. In other words, this one:

 <https://en.wikipedia.org/wiki/Instruction_set_architecture>

I struggle instead about MACHINE. Some of them (sparc, vax) have
just one MACHINE_ARCH with the same name. Some of them have just
one MACHINE_ARCH with a different name (amd64). This allows to
specify just one between `-m' or `-a', when building with build.sh.
Then, there are the cases where a single MACHINE has several
MACHINE_ARCH. So, what does MACHINE exactly refer to?

2.
(For `host', `build host', etc. refer to the paper

 <http://www.mewburn.net/luke/papers/build.sh.pdf>)
After fetching the sources, and after building the tools for the
first time with `-O ~/obj', two directories are created in `~/obj':

tooldir.NetBSD-9.99.81-amd64
tools

`tooldir.NetBSD-9.99.81-amd64' actually contains the cross-compiler
with its tools that have just been built: they are the actual `tools'
created by build.sh and they are supposed to run on the host platform.

What exactly is, instead, the contents of the directory `tools'?
Are they supposed to run on the build host platform to build the
cross-compiler and its tools?

3.
In Chapter 32, option `-u' for build.sh is used both when building
`tools' and when building the kernel itself.
Assume to run build 1 as:

./build.sh -U -j2 -O ~/obj -m evbarm -a aarch64 tools kernel=MYKERNEL

Then, some modifications to the cross-compiler tools and/or to the
kernel sourcefile(s) are performed. In the end, assume to run build
2 as:

./build.sh -U -u -j2 -O ~/obj -m evbarm -a aarch64 tools kernel=MYKERNEL

IIUC, `-u' means that if anything between tools and kernel has already
been built and its code has not been modified after build 1, now it
won't be built again. Is this correct?

Bye!

Rocky


Home | Main Index | Thread Index | Old Index