From f29a7d433519b35a45fa62cb6c705882c6fbbbd3 Mon Sep 17 00:00:00 2001 From: "Yann E. MORIN\"" Date: Fri, 2 May 2008 21:53:09 +0000 Subject: [PATCH] Better explain why populate exists. New entry for how to add a new component version. Some homogeneisation in style. /trunk/docs/overview.txt | 44 30 14 0 ++++++++++++++++++++++++++++++-------------- 1 file changed, 30 insertions(+), 14 deletions(-) --- docs/overview.txt | 44 ++++++++++++++++++++++++++++++-------------- 1 file changed, 30 insertions(+), 14 deletions(-) diff --git a/docs/overview.txt b/docs/overview.txt index 4c1aaa0b..a8f7f097 100644 --- a/docs/overview.txt +++ b/docs/overview.txt @@ -146,7 +146,7 @@ where you want it installed, what architecture and specific processor it will support, the version of the components you want to use, etc... The value for those options are then stored in a configuration file. -The configurator works the same way you configure your Linux kernel.It is +The configurator works the same way you configure your Linux kernel. It is assumed you now how to handle this. To enter the menu, type: @@ -177,9 +177,8 @@ CT_VERSION: The version of crosstool-NG you are using. Not much use for you, but it's there if you need it. - Interesting config options | ----------------------------* +---------------------------+ CT_LOCAL_TARBALLS_DIR: If you already have some tarballs in a direcotry, enter it here. That will @@ -221,7 +220,7 @@ CT_BROKEN: Show broken versions or tools. Some usefull tools are currently broken: they won't compile, run, or worse, cause defects when running. But if you are brave enough, you can try and debug them. They are hidden behind CT_BROKEN, - which itself is hidden behind EXPERIMENTAL. + which itself is hidden behind CT_EXPERIMENTAL. Re-building an existing toolchain | ----------------------------------+ @@ -258,9 +257,8 @@ In any case, you can get some terse help. Just type: or: man 1 ct-ng - Stopping and restarting a build | --------------------------------* +--------------------------------+ If you want to stop the build after a step you are debugging, you can pass the variable STOP to make: @@ -288,16 +286,14 @@ Note that in order to restart a build, you'll have to say 'Y' to the config option CT_DEBUG_CT_SAVE_STEPS, and that the previous build effectively went that far. - Testing all toolchains at once | --------------------------------* +-------------------------------+ You can test-build all samples; simply call: ct-ng regtest - Overriding the number of // jobs | ----------------------------------* +---------------------------------+ If you want to override the number of jobs to run in // (the -j option to make), you can either re-enter the menuconfig, or simply add it on the command @@ -328,6 +324,17 @@ or make CROSS_COMPILE=your-target-tuple- and so on... +It is strongly advised not to use the toolchain sys-root directory as an +install directory for your programms/packages. If you do so, you will not be +able to use your toolchain for another project. It is even strongly advised +that your toolchain is chmod-ed to read-only once successfully build, so that +you don't go polluting your toolchain with your programms/packages' files. + +Thus, when you build a program/package, install it in a separate directory, +eg. /your/root. This directory is the /image/ of what would be in the root file +system of your target, and will contain all that your programms/packages have +installed. + When your root directory is ready, it is still missing some important bits: the toolchain's libraries. To populate your root directory with those libs, just run: @@ -429,7 +436,7 @@ Internally, crosstool-NG is script-based. To ease usage, the frontend is Makefile-based. Makefile front-end | --------------------* +-------------------+ The entry point to crosstool-NG is the Makefile script "ct-ng". Calling this script with an action will act exactly as if the Makefile was in the current @@ -453,7 +460,7 @@ rules are disabled: installing with --local would triger those rules, and mconf was unbuildable. Kconfig parser | ----------------* +---------------+ The kconfig language is a hacked version, vampirised from the toybox project by Rob LANDLEY (http://www.landley.net/code/toybox/), itself coming from the @@ -466,7 +473,7 @@ use the same crosstool-NG installation, and most notably, the same set of patches. Architecture-specific | -----------------------* +----------------------+ An architecture is defined by: @@ -555,8 +562,17 @@ The "functions" file API: - default to: see above. +Adding a new version of a conponent | +------------------------------------+ + +When a new component, such as the Linux kernel, gcc or any other is released, +adding the new version to crosstool-NG is quite easy. There is a script that +will do all that for you: + tools/addToolVersion.sh + +Run it with no option to get some help. Build scripts | ---------------* +--------------+ To Be Written later...