Toolchain Usage

Me Me
Sun Jan 26 03:23:00 GMT 2014

I'm looking into using crosstool-ng as backend for generating my
toolchains. I love the software and it is incredibly slick. Right now,
my current toolchain includes an extra 20 or so packages in it, so
after entering into a chroot, each package would have everything it
needed to build and install. But from what I have read, this seems to
go against the spirit of the toolchain being as minimal as possible to
only generate code for the target architecture. I have seen many
implementations which do not use chroot at all and just override a
slew of environment variables to build the final system (PATH, CFLAGS,
LDFLAGS, etc). Chrooting seems much safer from the host polluting the
target system (especially if the packages that get built don't use
some type of autotools or respect environment variables). On the other
hand, I would rather prefer the simplicity of not cramming extra
packages into the toolchain unnecessarily. In the future, I hope to be
able to utilize crosstool-ng to generate my toolchains for building
each of the packages in the final system; all without chrooting.

My current process:
1) Use host system to generate/run toolchain for the target architecture.
2) Use toolchain/chroot to generate final system. Remove toolchain
when finished.
3) Use final system/chroot to generate rest of the packages.

Ideal process:
1) Use host system to generate/run toolchain for the target architecture.
2) Use toolchain to generate packages in the final system.

1) Is chrooting a valid/preferred way to utilize the toolchain to
build the final system?
2) If not, how can I be sure that I don't pollute the final system
with includes/linking from the host system?
3) What are the pros/cons of both methods?


For unsubscribe information see

More information about the crossgcc mailing list