- Timestamp:
- 10/07/2006 07:14:47 PM (18 years ago)
- Branches:
- experimental
- Children:
- 42e1b38
- Parents:
- f5791f0
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
README
rf5791f0 r2ee1d11 3 3 1. INTRODUCTION:: 4 4 5 This collection of scripts, known as jhalfs -X, strives to create5 This collection of scripts, known as jhalfs, strives to create 6 6 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. 8 9 9 10 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 13 16 14 17 NOTES:: … … 32 35 (user error, package bug, {c,h,b}LFS command bug, or jhalfs code bug) 33 36 34 If you do n'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. 35 38 36 39 37 40 3. 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 44 4. CONFIGURATION:: 45 46 ::NEWS:: 47 There is a new configuration method for jhalfs. 48 47 49 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 64 52 5. 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 81 6. 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 106 7. 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 150 123 /makefile_functions 151 124 /func_check_versions.sh 152 125 /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-* 153 132 154 133 /contrib/jhalfs-paco.patch 155 134 156 135 /extras/do_copy_files 157 136 /do_ica_prep 158 137 /do_ica_work … … 160 139 /filelist 161 140 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 164 8. FAQ:: 173 165 Q. "This 'help' file is very sparse" 174 166 A. Yes, it is. This tool, jhalfs, is for those who understand the LFS books … … 177 169 178 170 Q. "It doesn't work!" 179 A. Yes it does, try ./lfs --help180 Remember you must either be 'root' to run this script orhave 'sudo' privileges.171 A. Yes it does, try >> make 172 Remember you must have 'sudo' privileges. 181 173 182 174 Q. "It still doesn't work" 183 A. jhalfs was designed to work against the develop ement versions of the LFS175 A. jhalfs was designed to work against the development versions of the LFS 184 176 series of books. Consequently changes in a book(s) sometimes breaks older 185 177 versions of jhalfs. Before you start pulling out your hair download the … … 194 186 The layout below $BUILDDIR is as follows. 195 187 $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) 203 196 204 197 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. 209 203 If the files are not found in SRC_ARCHIVE _and_ you have write priv to 210 204 the directory any downloaded files will be mirrored there. … … 212 206 Q. "How do I set the SRC_ARCHIVE location?" 213 207 A. The best way to set the value of SRC_ARCHIVE is 208 214 209 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. 217 212 218 213 Q. "Why have 2 copies of the files?" 219 214 A. The package files must be visible during the chroot phase and this is a 220 215 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" 232 232 A. There could be numerous reasons for the failure but the most likely reason 233 233 is you are doing a cross-build using the 'chroot' method and the target is … … 238 238 'boot' method to create your target code. 239 239 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 and241 not the 'chroot.' You must transfer the toolchain to a sparc platform, reboot242 thesparc 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. 243 243 Of all the LFS series of books Cross-LFS requires the greatest 244 244 understanding of host/target hardware combination. Please read the book … … 248 248 George Boudreau 249 249 Manuel Canales Esparcia 250 Jeremy Huntwork
Note:
See TracChangeset
for help on using the changeset viewer.