Changeset 2ee1d11 for README


Ignore:
Timestamp:
10/07/2006 07:14:47 PM (18 years ago)
Author:
Manuel Canales Esparcia <manuel@…>
Branches:
experimental
Children:
42e1b38
Parents:
f5791f0
Message:

Merged r3147:3173 from trunk.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • README

    rf5791f0 r2ee1d11  
    331. INTRODUCTION::
    44
    5      This collection of scripts, known as jhalfs-X, strives to create
     5     This collection of scripts, known as jhalfs, strives to create
    66  accurate makefiles from the Linux From Scratch book series XML files.
    7   This software is an evolution of the original "jhalfs-0.2" code.
     7  This software is an evolution of the original "jhalfs-0.2" code developed
     8  by Jeremy Huntwork.
    89
    910     The usage of this script assumes you have read and are familiar with
    10   the book(s) and, therefore, the configuration variables found in config
    11   files will have meaning to you. There are a number of command line switches
    12   which, if used, will override the config file settings.
     11  the book(s) and, therefore, the configuration variables found in menuconfig
     12  interface will have meaning to you.
     13
     14  The list of supported books can be found at
     15  http://wiki.linuxfromscratch.org/alfs/wiki/SupportedBooks
    1316
    1417  NOTES::
     
    3235       (user error, package bug, {c,h,b}LFS command bug, or jhalfs code bug)
    3336
    34      If you don't have the above skill, please don't use this tool.
     37     If you do not have the above skills, please don't use this tool.
    3538
    3639
    37403. INSTALLATION::
    38      No installation is required. System-wide installation is not allowed
    39   for now.
    40 
    41 4. CONFIGURATION FILES::
    42      Each book in the LFS series has its own set of configurable parameters
    43   as well as the common parameters file.
    44  
    45      ::NEWS:: There is new configuration method for jhalfs.
    46      
     41
     42     No installation is required. System-wide installation is not allowed.
     43
     444. CONFIGURATION::
     45
     46     ::NEWS::
     47         There is a new configuration method for jhalfs.
     48
    4749     We have installed the familiar menu based configuration tool driven by
    48      make. If you type the command
    49        make
    50      you will be presented with a list of configurable parameters (starting
    51      with the book you wish to use). All the parameters found in the individual
    52      config files are available. Once you have finished setting the parameters
    53      and exit the make file will launch the chosen book version of jhalfs.
    54      JHALFS will import your created file and overider the values found in normal
    55      "config" files.
    56      ..note.. The generated file <configuration> is only used by jhalfs if you
    57      run jhalfs via make otherwise it is ignored.
    58      
    59      If you want to try out the new configuration system without running jhalfs
    60      issue the following.
    61        make menuconfig
    62      This will create a new file named configuration but will not launch jhalfs.
    63    
     50     GNU make. see the section RUNNING, for details
     51
    64525. RUNNING::
    65      The script master.sh cannot be invoked directly but only via the
    66   supplied symlinks. After editing the config file for the project you wish
    67   to build, run the script.
    68 
    69      IMPORTANT:
    70        If you use the switch -M (automatically run the generated makefile) you
    71        must be 'root' or you can run the scripts using 'sudo'
    72         i.e.  sudo ./lfs -G -M
    73 
    74        If you want to run make manually you can only do so if you are 'root' or
    75        via 'sudo'
    76         i.e  (from within the jhalfs directory) sudo make
    77 
    78      The term <symlink> refers to the 1 of 3 package symlinks, lfs,hlfs,clfs.
    79      Replace <symlink> with your choice of packages; i.e.: ./lfs
    80 
    81      ./<symlink>                eg: ./lfs or ./hlfs
    82      Create a makefile based on the settings found in the config files.
    83      You must enter the build partition/jhalfs directory and manually run <make>
    84 
    85      ./<symlink> -G             eg: ./lfs -G
    86      Download the packages and patches necessary to build <symlink>
    87 
    88      ./<symlink> -G -M          eg: ./lfs -G -M
    89      Download the packages, create and automatically run the Makefile
    90 
    91      ./<symlink> --help         eg: ./lfs --help
    92      will give you a context sensitive list of command line switches.
    93 
    94    >>>> an expanded example
    95 
    96    export SRC_ARCHIVE=/mnt/SourceFiles
    97 
    98    ./lfs -D /mnt/partition4 \
    99          -K ~/jhalfs_configs/linux-2.6.16.19-LFS.config \
    100          -F ~/jhalfs-configs/fstab-sda3 \
    101          -G -T 0 -M
    102 
    103    explanation:::
    104 
    105    export SRC_ARCHIVE=/mnt/SourceFiles
    106       # This points to a local archive of existing packages. If the version in
    107         the archive is incorrect jhalfs will access the net and download the
    108         necessary version and store it here for later use. DO NOT set this to
    109         $BUILDDIR/sources. If you do not set this variable to a valid directory
    110         ALL package tarballs will be downloaded from the 'net.
    111 
    112    -D /mnt/partition4
    113       # where everything takes place.  ..NOTE it must already exist and be mounted
    114 
    115    -K ~/jhalfs_configs/linux-2.6.16.19-LFS.config
    116       # If you want to automatically build a the kernel you MUST supply a valid
    117         kernel configuration file. The file you supply will be copied and renamed.
    118 
    119    -F ~/jhalfs-configs/fstab-sda3
    120       # If you have a fstab file you wish to use it will be copied and renamed
    121 
    122    -G   # Retrieve the package files. You MUST enable this flag at least once if you
    123           wish to do a build or whenever you update the book.
    124 
    125    -T 0 # don't run any testsuites
    126 
    127    -M   # automatically run make against Makefile once jhalfs finishes its work.
    128 
    129 
    130 6. LAYOUT::
    131 
    132         /CLFS/config
    133              /master.sh
    134              /xxxx.xsl
    135 
    136         /CLFS2/config
    137               /master.sh
    138               /xxxx.xsl
    139 
    140         /HLFS/config
    141              /master.sh
    142              /xxxx.xsl
    143 
    144         /LFS/config
    145             / master.sh
    146             /xxxx.xsl
    147 
    148         /common/config
    149                /common_functions
     53
     54     ::NEWS::
     55         jhalfs is now launched via GNU make instead of individual symlinks.
     56
     57     The command <make> will launch a menu based configuration program. You will
     58     recognize the layout from building the kernel or uClibc/BusyBox. The
     59     underlying menu code was borrowed from BusyBox and slightly modified for
     60     our use.
     61
     62     Help on parameter function is available from the online help. Please
     63     make use of that feature for additional information not in this file.
     64
     65     Once you have set the parameters you wish and have saved your work the
     66     jhalfs script is launch. The script verify first that the host can run
     67     it and build the xLFS system, then validate the configuration and present
     68     you with your selections which you may accept or reject.
     69
     70     If you accepted the displayed settings jhalfs will proceed to create the
     71     Makefile, optionally download packages.
     72
     73     ::NEWS::
     74         You must be logged as a normal user with sudo privileges to run
     75         the Makefile.
     76
     77     NOTE::
     78         If you run the jhalfs script directly the only function you can select
     79         is to display the version number running <./jhalfs -v>
     80
     816. BLFS_TOOL SUPPORT::
     82
     83     For books that support it, there is an option to install blfs-tool and its
     84     dependendencies on the final system.
     85
     86     After booting the new xLFS system some steps are needed to finish
     87     blfs-tool installation:
     88
     89       - A user account must be created. You must be logged on that user
     90         account to use blfs-tool.
     91
     92       - Move /blfs-root to that user's home and change ownership of the
     93         directory and files to the user.
     94
     95       - Give the user read and write privileges over the $TRACKING_DIR
     96         directory and the files that it contains.
     97
     98       - Configure sudo, adding the needed privileges for the user.
     99
     100     We assume that blfs-tool will be used on a running fresh xLFS system.
     101     To use it to build BLFS packages from the chroot jail is also possible,
     102     but is for you to figure out how to do that.
     103
     104     To know how to blfs-tool works, see README.BLFS.
     105
     1067. LAYOUT::
     107
     108        /BLFS (see README.BLFS)
     109
     110        /CLFS/master.sh
     111             /clfs.xsl
     112
     113        /CLFS2/master.sh
     114              /clfs2.xsl
     115
     116        /HLFS/master.sh
     117             /hlfs.xsl
     118
     119        /LFS/master.sh
     120            /lfs.xsl
     121
     122        /common/common_functions
    150123               /makefile_functions
    151124               /func_check_versions.sh
    152125               /func_validate_configs.sh
     126               /packages.xsl
     127               /urls.xsl
     128               /create-sbu_du-report.sh
     129               /func_compare.sh
     130               /progress_bar.sh
     131               /blfs-tool-deps/9xx-*
    153132
    154133        /contrib/jhalfs-paco.patch
    155134
    156         /extras/do_copy_files
     135        /extras/do_copy_files
    157136               /do_ica_prep
    158137               /do_ica_work
     
    160139               /filelist
    161140
    162          README
    163          README.PACO
    164          TODO
    165 
    166          ./clfs  ---|
    167          ./clfs2 ---|
    168          ./hlfs  ---|+---> master.sh
    169          ./lfs   ---|
    170 
    171 
    172 7. FAQ::
     141        /optimize/opt_config
     142                 /opt_override
     143                 /optimize_functions
     144                 /opt_config.d/noOpt
     145                              /noSymbols
     146                              /O3pipe
     147                              /O3pipe_march
     148                              /defOpt_fPIC
     149
     150        /menu/*
     151
     152        README
     153        README.BLFS
     154        README.HLFS
     155        README.PACO
     156        TODO
     157        LICENSE
     158
     159        Config.in
     160        Makefile
     161        jhalfs
     162        blfs-tool
     163
     1648. FAQ::
    173165    Q. "This 'help' file is very sparse"
    174166    A. Yes, it is. This tool, jhalfs, is for those who understand the LFS books
     
    177169
    178170    Q. "It doesn't work!"
    179     A. Yes it does, try ./lfs --help
    180        Remember you must either be 'root' to run this script or have 'sudo' privileges.
     171    A. Yes it does, try >> make
     172       Remember you must have 'sudo' privileges.
    181173
    182174    Q. "It still doesn't work"
    183     A. jhalfs was designed to work against the developement versions of the LFS
     175    A. jhalfs was designed to work against the development versions of the LFS
    184176       series of books. Consequently changes in a book(s) sometimes breaks older
    185177       versions of jhalfs. Before you start pulling out your hair download the
     
    194186       The layout below $BUILDDIR is as follows.
    195187       $BUILDDIR/
    196             jhalfs      (makefile,cmd scripts,logs..etc)
    197             sources     (where packages reside)
    198             tools       (temporary bootstrap system)
    199             cross-tools (temporary CLFS only)
    200                 ...
    201             FHS dir structure
    202                 ...
     188            jhalfs      (Makefile, cmd scripts, logs, etc..)
     189            sources     (where packages reside)
     190            tools       (temporary bootstrap system)
     191            cross-tools (temporary CLFS only)
     192                ...
     193            FHS dir structure
     194                ...
     195            blfs_root   (files to use blfs-tool if selected to install it)
    203196
    204197    Q. "What is the function of the SRC_ARCHIVE variable?"
    205     A. When then symlinked master.sh runs it creates a local copy of the
    206        necessary packages in BUILDDIR/sources by downloading the files. If
    207        the variable SRC_ARCHIVE is defined the software will first look in
    208        this location for the file and, if found, will copy it to BUILDDIR/sources.
     198    A. When jhalfs runs and packages download was selected, it creates a local
     199       copy of the necessary packages in BUILDDIR/sources by downloading the
     200       files. If the variable SRC_ARCHIVE is defined the software will first
     201       look in this location for the file and, if found, will copy it to
     202       BUILDDIR/sources.
    209203       If the files are not found in SRC_ARCHIVE _and_ you have write priv to
    210204       the directory any downloaded files will be mirrored there.
     
    212206    Q. "How do I set the SRC_ARCHIVE location?"
    213207    A. The best way to set the value of SRC_ARCHIVE is
     208
    214209       export SRC_ARCHIVE=/wherever/you/store/downloaded/packages
    215                        OR
    216        you can change the setting in common/config.
     210
     211       or you can set the full path in the proper menu entry.
    217212
    218213    Q. "Why have 2 copies of the files?"
    219214    A. The package files must be visible during the chroot phase and this is a
    220215       simple and reliable method of doing so. This method also handles the CLFS
    221        build method where the final build may be done on a separate machine.
    222 
    223     Q. "What is the function of LUSER and LGROUP? There is no cmd line switch"
    224     A. If you are running jhalfs from a low or non-priveledged account you may not
    225        have the priv to create/delete accounts. These variables are adjustable
    226        when invoking make.
    227          make LUSER=myaccount LGROUP=mygroup
    228        Then only changes to your account will be the creation of a NEW .bashrc after
    229        saving your original to .bashrc.XXX
    230    
    231     Q. "When I try to build 'xxx' with clfs the makefile fails at the mid-point"
     216       boot build method where the final build may be done on a separate machine.
     217
     218    Q. "What is the function of "User account" and "Group account" menu settings?"
     219    A. If you are running jhalfs from a low or non-privileged account you may not
     220       have the priv to create/delete the user needed to build temporally tools.
     221       These settings allow you to use your own user and group name to do that
     222       build steps.
     223
     224       These variables are adjustable also when invoking make:
     225
     226         $BUILDDIR make LUSER=myaccount LGROUP=mygroup
     227
     228       The only changes to your account will be the creation of a NEW .bashrc
     229       after saving your original to .bashrc.XXX
     230
     231    Q. "When I try to build CLFS the Makefile fails at the mid-point"
    232232    A. There could be numerous reasons for the failure but the most likely reason
    233233       is you are doing a cross-build using the 'chroot' method and the target is
     
    238238       'boot' method to create your target code.
    239239       As an extreme example: You can build a sparc target on a x86 platform but
    240        only the temptools phase. You must run ./clfs using the 'boot' method and
    241        not the 'chroot.' You must transfer the toolchain to a sparc platform, reboot
    242        the sparc box and continue the build.
     240       only the temptools phase. You must select the 'boot' method and not the
     241       'chroot.' You must transfer the toolchain to a sparc platform, reboot the
     242       sparc box and continue the build.
    243243       Of all the LFS series of books Cross-LFS requires the greatest
    244244       understanding of host/target hardware combination. Please read the book
     
    248248  George Boudreau
    249249  Manuel Canales Esparcia
    250   Jeremy Huntwork
Note: See TracChangeset for help on using the changeset viewer.