crosstool-NG(1)
π crosstool-NG(1) β the user-commands glow-up β¨
okay so this is the manual page for ct-ng / crosstool-NG, bestie β it lives in the User Commands section of your man pages, and it's literally your whole guide to building cross-toolchains without crying. let's get into it π
β¨ NAME β¨
ct-ng, crosstool-NG β build cross-toolchains, that's the whole vibe π«Ά
πΈ SYNOPSIS πΈ
ct-ng ACTION
π¦ DESCRIPTION π¦
building a cross-toolchain can be a real pain. like, genuinely. π
but crosstool-NG makes it easy to build cross-toolchains β and it lets you take all the juice out of your target by configuring the different components of the toolchain according to the targeted processor. it's giving "custom-fit, no notes" energy, fr fr. β¨
π ACTIONS π
here are the most commonly used actions. for other actions, please see the documentation in /usr/share/doc/crosstool-ng β it's all there, iykyk π
helpβ prints a little help text. tiny, cute, useful.menuconfigβ configures crosstool-NG using a configurator menu very similar to that of the Linux kernel. yeah, that menu. iconic behavior. πoldconfigβ applies the options found in an existing.configfile, and asks you about newer options if there are any.saveconfigβ saves the current crosstool-NG configuration, and the associated components' config files, into a sample. samples get saved in their own sub-directory β named after the target's tuple β inside thesamplessub-directory of the current directory. you can recall a sample later by callingct-ngwith the target tuple it represents. πsavedefconfigβ saves the current configuration to a mini-defconfig file that contains only the strictly required symbols to reproduce the configuration. defconfig files are much smaller than a complete.config, so it's easy to send by mail. and since only non-default symbols show up in a defconfig, meaningful values are easy to spot. also, defconfig files play nice with newer versions of crosstool-NG. by default the mini-defconfig is saved to a file nameddefconfigβ unless the variable$DEFCONFIGis set, in which case it gets saved to the file referenced by$DEFCONFIG. π
note: only the.configfile for crosstool-NG is saved. the config files for the components are not saved. usesaveconfigfor that. π«Ά
defconfigβ configures crosstool-NG using a mini-defconfig file (previously saved withsavedefconfig, or hand-edited by you, you little artisan). the default mini-defconfig is read from the filedefconfig, unless the variable$DEFCONFIGis set, in which case the mini-defconfig is read from the file referenced by$DEFCONFIG.buildβ builds the configured toolchain. the main character step, honestly. π₯cleanβ removes files generated by crosstool-NG for itself (these are mostly the configurators' binaries).distcleanβ same asclean, but it also removes the toolchain build directory, the downloaded files, and the.configconfiguration file. the generated toolchain is left untouched, and so are samples β those are not removed. β¨updatetoolsβ updates theconfig.guessandconfig.subscripts. these scripts are used by crosstool-NG to canonicalise the machines' name (host, build and target machines). keeping it canonical, periodt. π
π ENVIRONMENT π
STOP,RESTARTβ respectively stops and restarts the build just before this step. to restart a step, a previous build should have run at least to that step, or further. β
the list of steps is viewable with the action list-steps.
note: if the Keep only the last-saved step's state option is enabled, only the most recently saved step is retained β so the build can only be restarted from that step. plan accordingly bestie π
π EXIT VALUE π
the ct-ng frontend is in fact a make(1) script. see the man page for make(1) to have the meaning of the exit values. yes, it's outsourcing, but it's outsourcing correctly. π
π₯ SECURITY π₯
don't run as root! like seriously, don't. π ββοΈ
great care has been taken to avoid mistakes, but bug-free programs don't exist. during normal operation, crosstool-NG removes entire directories. if you run as root, and there is a bug, or you mis-configured crosstool-NG, entire important directories could be removed (eg. /usr) β although crosstool-NG will refuse to install toolchains in some well known critical directories. still. don't run as root. π
π§ AUTHORS π§
Yann E. MORIN and a lot of contributors. legends, all of them. πΈ
π SEE ALSO π
you can find more in-depth documentation in /usr/share/doc/crosstool-ng.
please have a look at the original crosstool β¨http://www.kegel.com/crosstoolβ© by Daniel KEGEL β the ancestor, the icon, the origin story. π
okay that's the page!! π this was version 1.29.0, dated Fri Oct 23 14:23:26 2026, written under, well β it's crosstool-NG(1) and that's the whole footer, bestie. go build something iconic ππ¦
π¦ where this page comes from
- arch rolling: crosstool-ng 1.29.0-1 Β· CC-BY-SA-2.5 AND GPL-2.0-only AND LGPL-2.1-only
- Copyright 2007 Yann E. MORIN
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms