Changeset 1874 for trunk/README

Show
Ignore:
Timestamp:
05/06/07 20:15:12 (20 months ago)
Author:
alexander
Message:

Documentation changes from Archaic (slightly edited)

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • trunk/README

    r1816 r1874  
    33~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    44 
    5 I.   Introduction 
    6 II.  Using the Makefiles 
    7   A.    How These Makefiles Work 
    8   B.    Configuring the Environment 
    9   C.    Obtaining the Sources 
    10   D.    Running the Scripts 
    11 III. Editing the Makefiles 
    12 IV.  End Notes 
     5I.   Using the Makefiles 
     6  A.   How These Makefiles Work 
     7  B.   Configuring the Environment 
     8  C.   Obtaining the Sources 
     9  D.   Running the Scripts 
     10II.  Editing the Makefiles 
     11III. End Notes 
    1312 
    1413~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    1514 
    16 I. Introduction 
    17  
    18   There have been many LiveCDs (aka BootCDs) made and used within the LFS 
    19 community. Of particular note were Chris Lingard's and Jeremy Utley's. By some 
    20 random freak of chance, and perhaps a bit of persistence on my part, a CD of 
    21 mine was chosen to be used as the 'Official' LFS CD with the release of 
    22 LFS 6.0. 
    23  
    24   I based much of my work on the ideas and work of Chris and Jeremy, and from 
    25 suggestions and comments from various LFS users, but the originalCD had still 
    26 been largely my work. However, for the idea of an official CD to survive and 
    27 grow within the community, help and ideas need to continue to come from more 
    28 than just one source. 
    29  
    30   My intention with the LFS LiveCD project, then, was to devise a framework, a 
    31 usable setting in which others may contribute and build CDs that live up to the 
    32 official standard. Originally, the idea was just to keep config files and a 
    33 list of required packages in a Subversion repository. What actually happened 
    34 was that a fully automated scripting system was devised specifically for the 
    35 purpose of building the LiveCD iso. This allows both an easily repeatable way 
    36 of building the CD and a means to track its configuration and history. 
    37  
    38   Many thanks to all who have contributed to the production of these Makefiles 
    39 (and the CDs they in turn produce) by either suggestions, ideas, support, or 
    40 submitted edits. 
    41  
    42         - Jeremy Huntwork 
    4315 
    4416~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4517 
    46 II. Using the Makefiles 
     18I. Using the Makefiles 
    4719 
    4820A. How These Makefiles Work 
     
    5325that are used throughout the build. Inside the packages directory there is 
    5426a sub-directory for each package the LiveCD will build and install. Each of 
    55 those directories contains a Makefile specific for that package, with the 
    56 specific instructions it needs in order to compile. Any patches which that 
    57 package needs (and which are not part of the LFS or BLFS books) are included 
    58 in that directory as well. 
     27those directories contains a Makefile with the specific instructions it needs to 
     28compile that package. Any patches which that package needs (and which are not 
     29part of the LFS or BLFS books) are included in that directory as well. 
    5930 
    6031  Part of the build is run as an unprivileged user, 'lfs', and the rest is 
     
    6839 
    6940  In the correct order, and in the proper environment, each package's Makefile 
    70 is called and run. These download the source files it needs, verifies that 
    71 they are correct via sha1sum, unpacks the tarballs into its own directory, 
    72 runs the build instructions and sends the output into a log-file. 
     41is called and run. These download the source files needed, verify the SHA1 sums, 
     42unpack the tarball(s) into its own directory, run the build instructions, and 
     43send the output into a log-file. 
    7344 
    7445B. Configuring the Environment 
     
    7748as this README before attempting to run the scripts. There are a few variables 
    7849that you may want to customize to meet the needs of your own particular setup 
    79 and for the type of CD you are hoping to produce. Here's a list of the main 
     50and for the type of CD you are hoping to produce. Here is a list of the main 
    8051variables to look for: 
    8152 
     
    8657follow a specific versioning scheme. 
    8758 
    88 * KVERS 
    89   This is the version of the Linux kernel to include on the CD 
    90  
    91 * MP 
     59* MPBASE 
    9260  This is the Mount Point, the directory that you will be using to house the 
    9361build as it runs. These scripts (this entire directory and its sub-directories) 
    94 should be placed inside the MP directory and run from there. Default is 
     62should be placed inside the $MPBASE directory and run from there. Default is 
    9563/mnt/lfs. 
    9664 
    9765* ROOT 
    98   This signifies the root-point of the build scripts. In other words, this 
    99 is the name of the actual directory containing the build scripts. Default is 
    100 /lfs-livecd. If you accept the defaults for both this variable and MP, then 
    101 this directory and all its sub-directories should exist as 'lfs-livecd' within 
    102 the direcotry '/mnt/lfs'. It is important that this variable have a leading 
    103 '/' as it is referenced by the scripts in both the host environment and the 
    104 chroot environment. 
     66  This signifies the root-point of the build scripts. In other words, this is 
     67the name of the directory containing the build scripts. A symlink will be made 
     68from this directory to the root of the host filesystem. The default name of this 
     69directory is lfs-livecd. If you accept the defaults for both this variable and 
     70$MPBASE, then this directory will exist as /mnt/lfs/lfs-livecd. A symlink will 
     71be made to /lfs-livecd on the host system. It is important that this variable 
     72have a leading '/' as it is referenced by the scripts in both the host 
     73environment and the chroot environment. 
    10574 
    106 * PM 
    107   This is the level of parallel building you want make to use for each 
    108 package. Default is -j3, but you may wish to increase or decrease it slightly 
    109 as the case may be. 
    110  
    111 Any of the other variables could be changed, but that isn't recommended. Some 
    112 of them are crucial to the successful building of the CD, especially the ones 
    113 containing environment variables. 
     75  All of the above variables (and others) can be edited directly in the 
     76top-level Makefile (the one in the same directory as this README). However, if 
     77you are tracking SVN, then each 'svn up' will overwrite your custom changes. To 
     78overcome that, you can create a file called 'Makefile.personal' and add the 
     79desired changes there. The original Makefile will source that file. 'svn up' 
     80will not affect 'Makefile.personal'. 
    11481 
    11582C. Obtaining the Sources 
    11683 
    117   The scripts will attempt to download the sources as it needs them. Since it 
    118 is highly unlikely that you will have all the correct sources already 
    119 downloaded to your system, a working internet connection is almost a 
    120 necessity when using these scripts. 
    121  
    122   If you want to gather the source packages you'll need beforehand, you will 
    123 need to create a directory called 'sources' in the $(MP) directory and place 
    124 your packages there. You should either ensure that you download the *exact* 
    125 same package from the same URL the scripts use, or you should verify that 
    126 the SHA1 sum in that package's Makefile matches the tarball you have 
    127 downloaded. 
     84  The scripts will attempt to download the sources and book patches as it needs 
     85them. If you want to gather the sources and book patches beforehand, create a 
     86directory called 'sources' in the $(MPBASE) directory and place the sources and 
     87book patches there. You should ensure that you download the *exact* same sources 
     88and book patches the scripts use and then verify the SHA1 sums. This will 
     89prevent the build from failing unexpectedly on a bad checksum during the build. 
    12890 
    12991D. Running the Scripts 
     
    139101make 
    140102 
    141   The above example makes use of the default variables for $(MP) and $(ROOT). 
     103  The above example makes use of the default variables for $(MPBASE) and 
     104$(ROOT). 
    142105 
    143106~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    144107 
    145 III. Editing the Makefiles 
     108II. Editing the Makefiles 
    146109 
    147110~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    148111 
    149 IV. End Notes 
     112III. End Notes