Changeset c7c32a3
- Timestamp:
- 03/19/2017 09:08:18 PM (7 years ago)
- Branches:
- 2.4, ablfs-more, legacy, trunk
- Children:
- a03bccc, c6c2d89
- Parents:
- 9da16d9
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
README
r9da16d9 rc7c32a3 21 21 *. It is recommended that you temporarily unpack your linux kernel, 22 22 run <make menuconfig>, configure the kernel as per the book and save 23 the resulting .config file. This suggestion also applies to the 24 configuration of the uClibc package when building a HLFS system using 25 uClibc rather than glibc. 26 27 *. Read carefully this file and the other README.* files before start 28 using the tool. 23 the resulting .config file. 24 25 *. Read carefully this file and the other README.* files before beginning 26 to use this tool. 29 27 30 28 2. PREREQUISITES:: … … 35 33 - know how to edit and write shell scripts 36 34 - know how a Makefile works 37 - be able to trace build failures and to find what is causing it35 - be able to trace build failures and to find what is causing them 38 36 (user error, package bug, {c,h,b}LFS command bug, or jhalfs code bug) 39 37 … … 43 41 3. INSTALLATION:: 44 42 45 No installation is required. System-wide installation is not allowed.43 No installation is required. You should just run <make> in this directory. 46 44 47 45 4. CONFIGURATION:: 48 46 49 We have installed the familiar menu based configuration tool driven by50 GNU make. see the section RUNNING, for details47 Configuration is done through a menu based interface. See the section 48 RUNNING, for details. 51 49 52 50 5. RUNNING:: … … 58 56 59 57 Help on parameter function is available from the on-line help. Please 60 make use of that feature for additional information not in this file. 61 62 Once you have set the parameters you wish and have saved your work the 63 jhalfs script is launch. The script verify first that the host can run 64 it and build the xLFS system, then validate the configuration and present 65 you with your selections which you may accept or reject. 66 67 If you accepted the displayed settings jhalfs will proceed to create the 68 Makefile, optionally download packages. 58 make use of that feature: it may contain additional information not 59 duplicated in this file. 60 61 You should first choose which book and flavour you want to build. Note 62 that when you choose the BLFS book, the tool will just install the BLFS 63 tool to your system. You'll have to run that installed tool to build 64 packages in BLFS. See README.BLFS to know how. If you choose any other 65 book, you'll have to configure the settings and the build parameters 66 from the menu. Note that you may choose to install the blfs tools onto 67 the newly built system (see below). It is not the same thing as choosing 68 the BLFS book in the menu, which will install the blfs tools on the 69 currently running system. 70 71 72 Once you have set the parameters and saved the configuration, the script 73 is launched. Its aim is to extract instructions from the selected book 74 to generate scripts, and to generate a Makefile, which allows running 75 the scripts in the right order. The script verifies first that the host 76 can run it and build the xLFS system, then validates the configuration 77 and lists the parameters. At this point, you may choose to quit or to 78 continue with the listed parameters. The script will then proceed to 79 generate the Makefile and the build scripts, optionally download 80 packages, and eventually verify the host prerequisite. If you have 81 selected "Run the makefile", the command make is launched in the 82 adequate directory, and the build begins. If not, you'll have to run 83 "make" manually, for example: "make -C /mnt/build_dir/jhalfs", if you 84 have used the default parameters (see the layout under $BUILDDIR in the 85 Q&A below). 69 86 70 87 IMPORTANT:: … … 81 98 6. BLFS_TOOL SUPPORT:: 82 99 83 For books that support it ( As of March 8, 2012, works only with LFS),100 For books that support it (only LFS for jhalfs version 2.4), 84 101 there is an option to install an automated framework for building BLFS 85 packages. it is called blfs-tool. When you tick `BOOK Settings/Add102 packages. It is called blfs-tool. When you tick `BOOK Settings/Add 86 103 blfs-tool support' in jhalfs configuration menu, the tools are 87 104 installed in $BLFS_ROOT (default /blfs_root) on the xLFS system, … … 90 107 building the dependencies are taken from the BLFS book. 91 108 92 (TODO: blfs-tools have not been tested with current (version 3.0) CLFS,93 and cert ianly need some adaptation to run)109 (TODO: blfs-tools have not been tested with current (version 3.0) of CLFS, 110 and certainly need some adaptation to run) 94 111 WARNING:: If you add blfs-tool support on a CLFS Sysroot build 95 112 you MUST edit the scripts to fix the installation paths. … … 258 275 after saving your original to .bashrc.XXX 259 276 260 Q. "When I try to build CLFS the Makefile fails at themid-point"277 Q. "When I try to build CLFS the Makefile fails at mid-point" 261 278 A. There could be numerous reasons for the failure but the most likely 262 279 reason is you are doing a cross-build using the 'chroot' method and the -
README.BLFS
r9da16d9 rc7c32a3 101 101 3.2.2 Install to an already running LFS/BLFS system 102 102 If you forgot to install the tools when building xLFS, or want to try 103 the tools, you can just run the install-blfs-tools.sh script. It will 104 create the above hierarchy in your home directory and initialize the 105 tracking file. You have first to make sure that the tracking dir exists 106 and is writable by the user. You may also populate it with (empty) files 107 whose names are of the form package-version, for installed packages, so 108 that they are included into the tracking file. 103 the tools, you can select the BLFS book from the jhalfs menu. It will 104 run a script, which creates the above hierarchy in your home directory and 105 initialize the tracking file. You have first to make sure that the tracking 106 dir exists and is writable by the user. You may also populate it with 107 (empty) files whose names are of the form package-version, for installed 108 packages, so that they are included into the tracking file. 109 109 110 3.3.3 Working files 110 111 Several files are generated during the process: … … 162 163 chain is generated. Each dependency appears with its priority (required, 163 164 recommended, optional, or external), and it's level. There is a root level 164 0. The selected packages have level 1. The dependencies of selected packages165 have level 2, the dependencies of the dependencies have level 3, and so on.165 1. The selected packages have level 2. The dependencies of selected packages 166 have level 3, the dependencies of the dependencies have level 4, and so on. 166 167 When circular dependencies are found, they appear with a priority of 167 168 "circular". This means that two (or more) dependency chains arrive at the -
README.CUSTOM
r9da16d9 rc7c32a3 6 6 7 7 Normally JHALFS creates a Makefile containing only those scripts found in 8 the { B,C,H}LFS books. An automated construction tool cannot predict the8 the {,B,C,H}LFS books. An automated construction tool cannot predict the 9 9 needs of every individual and requests are made "Can you add xxxx package". 10 10 Rather than adding numerous package scripts and switches for each request it 11 11 was easier to add a tool for the user(s) to code their own package needs. 12 12 13 There is two areas that can be customized: how the base system is build 14 and what additional configurations and packages requires your hardware to can 15 boot and work with. Each one of this areas is handled in a different way. 16 13 There are two areas that can be customized: how the base system is built 14 and what additional configurations and packages your hardware requires to be 15 able to boot and run. Each of those areas are handled in a different way. 17 16 18 17 … … 20 19 BASE SYSTEM CUSTOMIZATION 21 20 22 There istwo ways to alter how the base system will be built:21 There are two ways to alter how the base system will be built: 23 22 24 23 - Using a working copy of the book sources and editing the XML files. … … 29 28 files need be edited. It will not be discussed here. 30 29 31 - Editing the generated build scripts to make any change you w ould.30 - Editing the generated build scripts to make any change you want. 32 31 This is the method discussed below. 33 32 … … 35 34 EDITING THE BASE SCRIPTS 36 35 37 First step is to generate the build scripts with book defaults. To do that,38 configure jhalfs activating any option you want included, but do not select39 "Run the Makefile" option.36 To begin with, the build scripts should be generated with book defaults. To 37 do that, configure jhalfs activating any option you want included, but do not 38 select "Run the Makefile" option. 40 39 41 40 Under the ${BUILD_DIR}/${SCRIPT_ROOT}/${PROGNAME}-commands directory … … 44 43 45 44 If all you want is modify, add, or remove some command from a package 46 installation, for example to change it ./configure line, just edit the related45 installation, for example to change its ./configure line, just edit the related 47 46 script. If changing or adding a patch, be sure to copy the new patch to the 48 47 ${BUILD_DIR}/sources directory. When done, run 'make' from inside the … … 54 53 To remove a package from the system, just remove its script(s). 55 54 56 To change the version of some package to build a newest or oldest one than the57 one foundin the book, edit ${BUILD_DIR}/${SCRIPT_ROOT}/pkg_tarball_list to58 change it tarball name and place the new tarball in the ${BUILD_DIR}/sources59 directory ,55 To change the version of some package, or to build a newer or older version 56 than that in the book, edit ${BUILD_DIR}/${SCRIPT_ROOT}/pkg_tarball_list to 57 change its tarball name and place the new tarball in the ${BUILD_DIR}/sources 58 directory. 60 59 61 60 To replace a package by an equivalent one, rename the replaced package script … … 63 62 script to made the required commands changes, place the new tarball in the 64 63 ${BUILD_DIR}/sources directory, and edit ${BUILD_DIR}/${SCRIPT_ROOT}/pkg_tarball_list 65 file to replace the removed package tarball name by the new package tarball name. 64 file to replace the removed package tarball name by the new package tarball 65 name. 66 66 67 67 To change the build order, rename the scripts changing the first 3-digits 68 string until have it ordered in the way you want.69 70 To insert a new package, for example to build Cracklib to can build Shadow71 with Cracklib support, first you should decide before what default package it72 need be installed, in this example before 107-shadow. Then create a new script73 containing the needed commands, using an existing one as template, and name it with74 the same 3-digits string used for that mentioned default package, but adding 75 a nother 1-digit string. In our example, the new script to build Cracklib just76 before Shadow will be named 107-1-cracklib. This naming schem a allow to insert77 up to 10 scripts before each o ne of the defaultscripts. Place the tarball for78 the new package and required patches, if any, i f${BUILD_DIR}/sources and edit68 string until they are sorted in the way you want. 69 70 To insert a new package, for example to build Cracklib in order to build 71 Shadow with Cracklib support, you should first decide before what package it 72 needs to be installed, in this example 107-shadow. Then create a new script 73 containing the needed commands, using an existing one as template, and name it 74 with the same 3-digits string used for that mentioned default package, but 75 adding another 1-digit string. In our example, the new script to build Cracklib 76 before Shadow will be named 107-1-cracklib. This naming scheme allows inserting 77 up to 10 scripts before each of the existing scripts. Place the tarball for 78 the new package and required patches, if any, in ${BUILD_DIR}/sources and edit 79 79 ${BUILD_DIR}/${SCRIPT_ROOT}/pkg_tarball_list to add the tarball name for that 80 80 package. 81 81 82 When ready, launch again the jhalfs configuration interface. Be sure that 83 are selected exactly the same options than when generating the default build 84 scripts. Be sure that "Rebuild files" is unselected and select "Run the Makefile" 85 if you want. Then select "Rebuild the Makefile". This will create a new Makefile 86 based on the changes you made to the build scripts. 87 88 82 When ready, launch again the jhalfs configuration interface. Make sure that 83 exactly the same options are selected as when generating the default build 84 scripts. Be sure that "Rebuild files" is unselected and select "Run the 85 Makefile" if you want. Then select "Rebuild the Makefile". This will create a 86 new Makefile based on the changes you made to the build scripts. 89 87 90 88 … … 97 95 The feature described below was added so users could install remaining 98 96 configuration files, build the packages necessary to access the Internet 99 or to support specific hardware, or to install basic utilities that need100 have availablefrom the beginning, and was not intended to replace the BLFS97 or to support specific hardware, or to install basic utilities that are 98 needed from the beginning, and was not intended to replace the BLFS 101 99 install system. 102 100 … … 109 107 110 108 LAYOUT 111 A new directory has been added to JHALFS tree which will containthe109 A new directory has been added to JHALFS tree which contains the 112 110 configuration scripts and a few examples. A switch has been added to the 113 configuration file which enables/disables the inclusion of personalscripts.111 configuration file which enables/disables the inclusion of custom scripts. 114 112 115 113 custom … … 122 120 123 121 NOTE::: You are responsible for including all dependencies and ensuring they 124 are built in the properorder.122 are built in the right order. 125 123 126 124 1. To add a package to the final JHALFS Makefile you must first create a file -
README.HLFS
r9da16d9 rc7c32a3 3 3 4 4 ::::NOTICE:::: 5 6 Hardened Linux From Scratch is a highly volatile project. Extreme design 7 changes can occur and the build could be broken for extended periods of 8 time. 9 10 As of July 26.2007, the Glibc-based systems builds should work. 11 uClibc-based system still fail due book issues. 5 HLFS has not be updated for a very long time. Since then, jhalfs has evolved 6 and is now incompatible with HLFS. -
README.PACKAGE_MANAGEMENT
r9da16d9 rc7c32a3 17 17 2. OVERVIEW OF THE SYSTEM: 18 18 19 For now, package management is only available for LFS. I plan to19 Presently, package management is only available for LFS. I plan to 20 20 upgrade BLFS tools, but nothing usable right now. I have not attempted 21 21 to adapt this tool for the other flavours of LFS. 22 23 To use package management, you need to create the required files in 24 the pkgmngt directory (see below), and to select "package management" in 25 the build settings. Note that this is incompatible with creating an SBU 26 and usage report. 27 28 3. DETAILS OF OPERATION: 29 22 30 This system performs basically a "DESTDIR install" for all pages 23 31 in chapter 6, 7 and 8 of the book. The name of the DESTDIR directory is the 24 32 same as the one of the executed script. The path to this directory is 25 available to the scriplets through the PKG_DEST variable.33 made available to the scriplets through the PKG_DEST variable. 26 34 The XSL stylesheet used for generating the scriptlets, automatically 27 35 adds DESTDIR install instructions when "package management" is selected.
Note:
See TracChangeset
for help on using the changeset viewer.