FAQs
Why do Baserock use VMs instead of cross-compiling?
13:46 < Phlogistique> Is there a "Why baserock" design document besides
http://wiki.baserock.org/overview/
http://wiki.baserock.org/developer-experience/ ? In particular
from reading the docs it looks like Baserock does not embrace
cross-development and instead prefers developers to work inside
a VM; is there a rationale for that?
13:52 <+richard_maw> Phlogistique: by cross-development do you mean cross-compiling to
build your system to target another CPU architecture to that
you build from, or cross-platform where the tooling is expected to
be run from a variety of platforms?
13:53 < Phlogistique> richard_maw: the former
13:53 < Phlogistique> cross-compiling
13:56 <+richard_maw> Phlogistique: ah, then the rationale for that is that there's many
projects that dont cross-compile successfully without
patching, and the patches may not be acceptable by upstream, since
they don't habitually cross-compile. We instead prefer native
builds so that it's easier to update those components to new versions,
since we don't need to keep rebasing the
cross-compilation support patches.
13:58 <+richard_maw> Phlogistique: as for why we prefer to work in VMs (or chroots), it's
because while we take great efforts to improve
reproducibility and reliability with sandboxed builds, for the early
bootstrap steps it depends on what you have available in
your host system, so we prefer you run the Baserock tools from a known
working system