r1874 - in trunk: . doc etc packages/glibc scripts

alexander at linuxfromscratch.org alexander at linuxfromscratch.org
Sun May 6 19:15:12 PDT 2007


Author: alexander
Date: 2007-05-06 20:15:12 -0600 (Sun, 06 May 2007)
New Revision: 1874

Modified:
   trunk/Makefile
   trunk/README
   trunk/doc/README
   trunk/etc/bashrc
   trunk/etc/issue
   trunk/packages/glibc/Makefile
   trunk/scripts/ll
Log:
Documentation changes from Archaic (slightly edited)

Modified: trunk/Makefile
===================================================================
--- trunk/Makefile	2007-05-06 13:27:57 UTC (rev 1873)
+++ trunk/Makefile	2007-05-07 02:15:12 UTC (rev 1874)
@@ -21,38 +21,46 @@
 
 -include Makefile.personal
 
-# MP:       mount point
-# timezone: default timezone
-# pagesize: default paper size for groff.
-# ROOT:     name of this directory, as seen from chroot
-# HTTP:     Default http server for the lfs-base packages
-# HTTPBLFS: Default http server for the BLFS packages
+#==============================================================================
 
+# Here are the various variables you might want/need to change. You can change
+# them here or in Makefile.personal. Variables mentioned in the README will not
+# be commented on here.
+
 export MPBASE ?= /mnt/lfs
-export MP ?= $(MPBASE)/image
+
+# Free disk space needed for the build.
+ROOTFS_MEGS := 1536
+
+export VERSION ?= x86-6.3-pre2
+export CFLAGS ?= -O2 -pipe -s -fno-strict-aliasing -mtune=i686
+export CXXFLAGS ?= $(CFLAGS)
+export LFS_TARGET ?= i486-pc-linux-gnu
+
+
+# Default timezone
 export timezone ?= GMT
+# Default paper size for groff.
 export pagesize ?= letter
-export ROOT ?= /lfs-livecd
+
+# HTTP:     Default http server for the lfs-base packages
+# HTTPBLFS: Default http server for the BLFS packages
 export HTTP ?= http://ftp.lfs-matrix.net/pub/lfs/conglomeration
 export HTTPBLFS ?= http://ftp.lfs-matrix.net/pub/blfs/conglomeration
 
-# Directory variables
 #==============================================================================
-export HOSTNAME := lfslivecd
+# The following variables are not expected to be changed
+
 export WD := /tools
+export MP := $(MPBASE)/image
+export ROOT := /lfs-livecd
 export SRC := /sources
 export LFSSRC := /lfs-sources
 export PKG := packages
+
 export MKTREE := $(MP)$(ROOT)
 export CONFIG_SITE := $(ROOT)/scripts/config.site
 
-ROOTFS_MEGS := 1536
-
-export VERSION := x86-6.3-pre2
-export CFLAGS := -O2 -pipe -s -fno-strict-aliasing -mtune=i686
-export LINKER := ld-linux.so.2
-export LFS_TARGET := i486-pc-linux-gnu
-
 # Environment Variables
 # The following lines need to be all on one line - no newlines.
 #===============================================================================
@@ -68,8 +76,6 @@
 
 # More Environment Variables
 #==============================================================================
-export CXXFLAGS := $(CFLAGS)
-
 export chbash-pre-bash := SHELL=$(WD)/bin/bash
 export chbash-post-bash := SHELL=/bin/bash
 export WHICH ?= $(WD)/bin/which
@@ -92,9 +98,6 @@
 all: test-host lfs-base extend-lfs iso
 	@echo "The LiveCD, $(MPBASE)$(ROOT)/lfslivecd-$(VERSION).iso, is ready!"
 
-minimal: test-host lfs-base extend-minimal iso
-	@echo "The LiveCD, $(MPBASE)$(ROOT)/lfslivecd-$(VERSION).iso, is ready!"
-
 test-host:
 	@if [ `whoami` != "root" ] ; then \
 	 echo "You must be logged in as root." && exit 1 ; fi
@@ -185,15 +188,6 @@
 	 make blfs $(chbash-post-bash)'
 	@install -m644 etc/issue $(MP)/etc/issue
 
-extend-minimal: $(MKTREE)
-	@cp $(WD)/bin/which $(MP)/usr/bin
-	@cp $(ROOT)/scripts/unpack $(MP)/bin
-	@chroot "$(MP)" $(chenv-blfs) 'set +h && cd $(ROOT) && \
-	 make blfs-minimal $(chbash-post-bash)'
-	@rm -rf $(LFSSRC) $(MP)$(LFSSRC)
-	@sed '/sources/d' etc/issue >$(MP)/etc/issue
-	@chmod 644 $(MP)/etc/issue
-
 lfsuser:
 	@-groupadd lfs
 	@-useradd -s /bin/bash -g lfs -m -k /dev/null lfs
@@ -390,10 +384,9 @@
 	@install -m644 doc/README doc/lfscd-remastering-howto.txt $(MP)/root
 	@sed -i "s/\[version\]/$(VERSION)/" $(MP)/root/README
 	@install -m600 root/.bashrc $(MP)/root/.bashrc
-	@install -m755 scripts/{net-setup,greeting,livecd-login,ll} $(MP)/usr/bin/ 
-	@sed 's|_LINKER_|$(LINKER)|' scripts/shutdown-helper > $(MP)/usr/bin/shutdown-helper
-	@chmod 755 $(MP)/usr/bin/shutdown-helper
-	@cp -ra root $(MP)/etc/skel
+	@install -m755 scripts/{net-setup,greeting,ll} $(MP)/usr/bin/ 
+	@install -m755 scripts/{livecd-login,shutdown-helper} $(MP)/usr/bin/
+	@svn export --force root $(MP)/etc/skel
 
 iso: prepiso
 	@make unmount

Modified: trunk/README
===================================================================
--- trunk/README	2007-05-06 13:27:57 UTC (rev 1873)
+++ trunk/README	2007-05-07 02:15:12 UTC (rev 1874)
@@ -2,48 +2,20 @@
 LFS LiveCD Makefiles
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-I.   Introduction
-II.  Using the Makefiles
-  A.    How These Makefiles Work
-  B. 	Configuring the Environment
-  C.    Obtaining the Sources
-  D. 	Running the Scripts
-III. Editing the Makefiles
-IV.  End Notes
+I.   Using the Makefiles
+  A.   How These Makefiles Work
+  B.   Configuring the Environment
+  C.   Obtaining the Sources
+  D.   Running the Scripts
+II.  Editing the Makefiles
+III. End Notes
 
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-I. Introduction
 
-  There have been many LiveCDs (aka BootCDs) made and used within the LFS
-community. Of particular note were Chris Lingard's and Jeremy Utley's. By some
-random freak of chance, and perhaps a bit of persistence on my part, a CD of
-mine was chosen to be used as the 'Official' LFS CD with the release of
-LFS 6.0.
-
-  I based much of my work on the ideas and work of Chris and Jeremy, and from
-suggestions and comments from various LFS users, but the originalCD had still
-been largely my work. However, for the idea of an official CD to survive and
-grow within the community, help and ideas need to continue to come from more
-than just one source.
-
-  My intention with the LFS LiveCD project, then, was to devise a framework, a
-usable setting in which others may contribute and build CDs that live up to the
-official standard. Originally, the idea was just to keep config files and a
-list of required packages in a Subversion repository. What actually happened
-was that a fully automated scripting system was devised specifically for the
-purpose of building the LiveCD iso. This allows both an easily repeatable way
-of building the CD and a means to track its configuration and history.
-
-  Many thanks to all who have contributed to the production of these Makefiles
-(and the CDs they in turn produce) by either suggestions, ideas, support, or
-submitted edits.
-
-	- Jeremy Huntwork
-
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-II. Using the Makefiles
+I. Using the Makefiles
 
 A. How These Makefiles Work
 
@@ -52,10 +24,9 @@
 including the order in which the packages are built. It also contains variables
 that are used throughout the build. Inside the packages directory there is
 a sub-directory for each package the LiveCD will build and install. Each of
-those directories contains a Makefile specific for that package, with the
-specific instructions it needs in order to compile. Any patches which that
-package needs (and which are not part of the LFS or BLFS books) are included
-in that directory as well.
+those directories contains a Makefile with the specific instructions it needs to
+compile that package. Any patches which that package needs (and which are not
+part of the LFS or BLFS books) are included in that directory as well.
 
   Part of the build is run as an unprivileged user, 'lfs', and the rest is
 done after chroot-ing into the $(MP) directory (see the Configuring the
@@ -67,16 +38,16 @@
 different user or in a different environment.
 
   In the correct order, and in the proper environment, each package's Makefile
-is called and run. These download the source files it needs, verifies that
-they are correct via sha1sum, unpacks the tarballs into its own directory,
-runs the build instructions and sends the output into a log-file.
+is called and run. These download the source files needed, verify the SHA1 sums,
+unpack the tarball(s) into its own directory, run the build instructions, and
+send the output into a log-file.
 
 B. Configuring the Environment
 
   You should visually inspect the main Makefile, the one in the same directory
 as this README before attempting to run the scripts. There are a few variables
 that you may want to customize to meet the needs of your own particular setup
-and for the type of CD you are hoping to produce. Here's a list of the main
+and for the type of CD you are hoping to produce. Here is a list of the main
 variables to look for:
 
 * VERSION
@@ -85,47 +56,38 @@
 this CD for personal use, you can enter anything here. LFS LiveCD editors will
 follow a specific versioning scheme.
 
-* KVERS
-  This is the version of the Linux kernel to include on the CD
-
-* MP
+* MPBASE
   This is the Mount Point, the directory that you will be using to house the
 build as it runs. These scripts (this entire directory and its sub-directories)
-should be placed inside the MP directory and run from there. Default is
+should be placed inside the $MPBASE directory and run from there. Default is
 /mnt/lfs.
 
 * ROOT
-  This signifies the root-point of the build scripts. In other words, this
-is the name of the actual directory containing the build scripts. Default is
-/lfs-livecd. If you accept the defaults for both this variable and MP, then
-this directory and all its sub-directories should exist as 'lfs-livecd' within
-the direcotry '/mnt/lfs'. It is important that this variable have a leading
-'/' as it is referenced by the scripts in both the host environment and the
-chroot environment.
+  This signifies the root-point of the build scripts. In other words, this is
+the name of the directory containing the build scripts. A symlink will be made
+from this directory to the root of the host filesystem. The default name of this
+directory is lfs-livecd. If you accept the defaults for both this variable and
+$MPBASE, then this directory will exist as /mnt/lfs/lfs-livecd. A symlink will
+be made to /lfs-livecd on the host system. It is important that this variable
+have a leading '/' as it is referenced by the scripts in both the host
+environment and the chroot environment.
 
-* PM
-  This is the level of parallel building you want make to use for each
-package. Default is -j3, but you may wish to increase or decrease it slightly
-as the case may be.
+  All of the above variables (and others) can be edited directly in the
+top-level Makefile (the one in the same directory as this README). However, if
+you are tracking SVN, then each 'svn up' will overwrite your custom changes. To
+overcome that, you can create a file called 'Makefile.personal' and add the
+desired changes there. The original Makefile will source that file. 'svn up'
+will not affect 'Makefile.personal'.
 
-Any of the other variables could be changed, but that isn't recommended. Some
-of them are crucial to the successful building of the CD, especially the ones
-containing environment variables.
-
 C. Obtaining the Sources
 
-  The scripts will attempt to download the sources as it needs them. Since it
-is highly unlikely that you will have all the correct sources already
-downloaded to your system, a working internet connection is almost a
-necessity when using these scripts.
+  The scripts will attempt to download the sources and book patches as it needs
+them. If you want to gather the sources and book patches beforehand, create a
+directory called 'sources' in the $(MPBASE) directory and place the sources and
+book patches there. You should ensure that you download the *exact* same sources
+and book patches the scripts use and then verify the SHA1 sums. This will
+prevent the build from failing unexpectedly on a bad checksum during the build.
 
-  If you want to gather the source packages you'll need beforehand, you will
-need to create a directory called 'sources' in the $(MP) directory and place
-your packages there. You should either ensure that you download the *exact*
-same package from the same URL the scripts use, or you should verify that
-the SHA1 sum in that package's Makefile matches the tarball you have
-downloaded.
-
 D. Running the Scripts
 
   Building the CD could be as simple as the following:
@@ -138,12 +100,13 @@
 cd /mnt/lfs/lfs-livecd
 make
 
-  The above example makes use of the default variables for $(MP) and $(ROOT).
+  The above example makes use of the default variables for $(MPBASE) and
+$(ROOT).
 
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-III. Editing the Makefiles
+II. Editing the Makefiles
 
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-IV. End Notes
+III. End Notes

Modified: trunk/doc/README
===================================================================
--- trunk/doc/README	2007-05-06 13:27:57 UTC (rev 1873)
+++ trunk/doc/README	2007-05-07 02:15:12 UTC (rev 1874)
@@ -81,8 +81,8 @@
 ===========================
 The LiveCD attempts to configure X for your video card automatically. The
 process may fail if you have more than one video card, if your video card
-doesn't support 24-bit color depth, or if your monitor is not Plug-n-Play
-compatible (in other words, doesn't tell its characteristics to Xorg via DDC).
+does not support 24-bit color depth, or if your monitor is not Plug-n-Play
+compatible (in other words, does not tell its characteristics to Xorg via DDC).
 In such cases, you have to edit the /etc/X11/xorg.conf file manually, using
 vim, joe or nano.
 
@@ -117,7 +117,7 @@
 	# Option	"NoDDC" # for broken monitors that
 				# report max dot clock = 0 MHz
 	HorizSync	30-92   # because gtf said "hsync: 91.38 kHz"
-	VertRefresh	56-86   # because a 85 Hz mode has been requested
+	VertRefresh	56-86   # because an 85 Hz mode has been requested
 	# the Modeline may also be pasted here
 EndSection
 
@@ -154,8 +154,8 @@
 
 * /etc/ssh/ssh_host_dsa_key, /etc/ssh/ssh_host_rsa_key
     Create those files as described in the ssh-keygen(1) manual page. If you
-    don't do that, random host keys will be generated for you automatically
-    during the boot process. This is less secure, because you can't verify
+    do not do that, random host keys will be generated for you automatically
+    during the boot process. This is less secure, because you cannot verify
     them.
 
 * /etc/sysconfig/network-devices/ifconfig.eth0
@@ -193,7 +193,7 @@
 but there is a keymap for X. In this case, the only solution is to use X.
 
 While this CD configures the LANG environment variable, console font and
-keymap for you, it's your responsibility to configure other locale-dependent
+keymap for you, it is your responsibility to configure other locale-dependent
 parameters manually. You may want to configure character sets for SAMBA in
 /etc/samba/smb.conf, and to explicitly specify the "iocharset" and "codepage"
 options when mounting filesystems with Windows origin (e.g., vfat and isofs).
@@ -219,13 +219,14 @@
 BRAILLE DISPLAY SUPPORT
 ===========================
 The LiveCD includes the "brltty" program that allows a blind person to read
-the contents of Linux text console on a Braille display. In order to
+the contents of the Linux text console on a Braille display. In order to
 activate it:
 
-* Insert the CD into the drive, reboot the computer. The BIOS will produce
-  a beep, indicating successful power-on self-testing. Then it will load
-  the boot loader from the CD, and the boot loader will produce a second beep.
-* After the second beep, type:
+* Insert the CD into the drive, reboot the computer. Some BIOSes will produce
+  a beep indicating successful power-on self-testing. If so, the boot loader
+  will produce a second beep indicating the boot prompt is available.
+* After that beep (first or second depending on if your computer normally beeps
+* upon startup), type:
 
 linux brltty=eu,ttyS0
 
@@ -235,20 +236,22 @@
 
 Note: in some locales, brltty displays incorrect Braille patterns. This is
 related to the fact that Braille tables in brltty are indexed with
-encoding-dependent byte representing the character. Such representation
+encoding-dependent bytes representing the character. Such representation
 becomes invalid when another encoding for the same language is used.
-E.g., that's why the "ru" table (designed for KOI8-R encoding) produces
+E.g., that is why the "ru" table (designed for KOI8-R encoding) produces
 wrong result in the ru_RU.CP1251 locale.
 
 Known non-working cases:
     All CP1251-based locales (no CP1251 Braille table in brltty)
-    zh_TW (configuration instructions available in Chinese only)
+    zh_TW (configuration instructions available in Chinese only). If you use
+      this locale, please email livecd at linuxfromscratch.org and help us add
+      support for it.
     All other Chinese, Japanese and Korean locales (no support in brltty)
 
-If brltty displays incorrect Braille patterns displays incorrect Braille
-patterns in your locale, please revert to the en_US locale, thus avoiding
-the use of non-ASCII characters. If you know how to fix this problem
-for your locale, mail this information to livecd at linuxfromscratch.org.
+If brltty displays incorrect Braille patterns in your locale, please revert to
+the en_US locale, thus avoiding the use of non-ASCII characters. If you know how
+to fix this problem for your locale, mail this information to
+livecd at linuxfromscratch.org.
 
 RESUMING THE BUILD
 ===========================
@@ -258,7 +261,7 @@
 http://www.linuxfromscratch.org/hints/downloads/files/stages-stop-and-resume.txt
 
 Instructions from there should work on this CD, however, there is a simpler
-(but highly experimental) method described below.
+method (hibernation) described below.
 
 1) Make sure you have (or are planning to create) a swap partition not used
    by other Linux systems installed on your hard drive. The text below assumes
@@ -268,11 +271,22 @@
    I.e., the complete boot line may look as:
    linux LANG=ru_RU.UTF-8 TZ=Asia/Yekaterinburg resume=/dev/hda2
 
-3) In chapter 2, the book tells you to create (if you didn't do it already),
-   format that partition with mkswap, and activate it with swapon. Follow the
-   instructions in the book.
+   On some systems, hibernation refuses to work if ACPI is enabled. You
+   can disable ACPI by adding "acpi=off" to the kernel arguments.
 
-4) If you use X window system, take the following into account:
+   Alternatively, once the system is running, you can activate hibernation by
+   echoing the major and minor numbers of the partition to /sys/power/resume as
+   such:
+
+   # ls -l /dev/hda2
+   brw-rw---- 1 root disk 3, 2 2006-07-10 17:51 /dev/hda2
+   # echo 3:2 >/sys/power/resume
+
+3) At this point, the system is up and running. If you do not already have a
+   swap partition, or wish to create a new one, chapter 2 of the LFS book will
+   show you how to create, format, and activate one.
+
+4) If you use the X window system, take the following into account:
    * Users of old S3 video cards should uncomment the "EnableVbetool" line
      in the /etc/hibernate/common.conf file.
    * Hibernation is incompatible with the proprietary "nvidia" driver.
@@ -284,7 +298,7 @@
    testsuite may lead to failures that would not occur otherwise.
 
 NOTE: you must unmount all USB flash drives and all partitions used by other
-operating systems installed on your computer before hibernating! Don't
+operating systems installed on your computer before hibernating! Do not
 attempt to mount partitions used by a hibernated system from other systems
 (even read-only, because there is no true read-only mount on journaled
 filesystems)!
@@ -296,13 +310,13 @@
    the same "vga=..." and "resume=..." arguments that you used earlier.
 
 9) The computer will load its state from the swap partition and behave as if
-   you didn't power it off at all (except breaking all network connections).
+   you did not power it off at all (except breaking all network connections).
    The build will automatically continue.
 
-The procedure is a bit more complicated if your swap is on a LVM volume
+The procedure is a bit more complicated if your swap is on an LVM volume
 or on software RAID. In this case, instead of passing the resume=... argument,
 you should boot the CD as usual and make actions needed for the kernel to see
-the swap device (for LVM, that's "vgchange -ay"). After doing that, note
+the swap device (for LVM, that is "vgchange -ay"). After doing that, note
 the major and minor device number for that device (assigning persistent numbers
 is highly recommended), and echo them to /sys/power/resume. E.g., for LVM:
 
@@ -319,17 +333,18 @@
 AUTOMATING THE BUILD
 ===========================
 This CD comes with the "jhalfs" tool that allows extracting commands from the
-XML version of LFS or CLFS book into Makefiles and shell scripts. You can find
-the jhalfs installation in the home directory of the "jhalfs" user, and the
-XML LFS book is in /usr/share/LFS-BOOK-SVN-XML. In order to use jhalfs, you
-have to:
+XML version of the LFS or CLFS book into Makefiles and shell scripts. You can
+find the jhalfs installation in the home directory of the "jhalfs" user, and the
+XML LFS book is in /usr/share/LFS-BOOK-SVN-XML. In order to use jhalfs, you have
+to:
 
 * create a directory for your future LFS system and mount a partition there
 * change the ownership of that directory to the "jhalfs" user
 * run "su - jhalfs" in order to become that user
 * as user "jhalfs", follow the instructions in the jhalfs README file
 
-Note that this user already has the required sudo access.
+Note that this user already has the required root access (via sudo) to complete
+the build.
 
 THANKS
 ===========================

Modified: trunk/etc/bashrc
===================================================================
--- trunk/etc/bashrc	2007-05-06 13:27:57 UTC (rev 1873)
+++ trunk/etc/bashrc	2007-05-07 02:15:12 UTC (rev 1874)
@@ -1,4 +1,5 @@
 alias ls='ls --color=auto'
+alias ll='ls -l'
 eval $(dircolors -b /etc/dircolors)
 
 # Colors for PS1

Modified: trunk/etc/issue
===================================================================
--- trunk/etc/issue	2007-05-06 13:27:57 UTC (rev 1873)
+++ trunk/etc/issue	2007-05-07 02:15:12 UTC (rev 1874)
@@ -1,10 +1,8 @@
 
 This is the Official Linux From Scratch LiveCD
-Created by:
-Jeremy Huntwork, Project Leader
-Alexander Patrakov, Maintainer, i18n
-Justin Knierim, Maintainer
-Thomas Pegg, Maintainer
+
+Created by: Jeremy Huntwork
+Maintained by: Alexander Patrakov
 
 Version:
 ____________________________________________________________
@@ -17,5 +15,5 @@
 Support questions concerning this CD should be directed to
 livecd at linuxfromscratch.org
 
-Type greeting at any time to view this message again.
+Type greeting at any time to view this message again.
 

Modified: trunk/packages/glibc/Makefile
===================================================================
--- trunk/packages/glibc/Makefile	2007-05-06 13:27:57 UTC (rev 1873)
+++ trunk/packages/glibc/Makefile	2007-05-07 02:15:12 UTC (rev 1874)
@@ -50,7 +50,7 @@
 	cd ../$(DIR) ; patch -Np1 -i ../$(PATCH1)
 	cd ../$(DIR) ; unpack ../$(FILE2) ; mv glibc-libidn-$(VRS) libidn
 	sed -i \
-	's|libs -o|libs -L/usr/lib -Wl,-dynamic-linker=/lib/$(LINKER) -o|' \
+	's|libs -o|libs -L/usr/lib -Wl,-dynamic-linker=/lib/ld-linux.so.2 -o|' \
 	        ../$(DIR)/scripts/test-installation.pl
 # LiveCD specific locale additions
 	cd ../$(DIR) ; patch -Np1 -i ../$(PATCH50)

Modified: trunk/scripts/ll
===================================================================
--- trunk/scripts/ll	2007-05-06 13:27:57 UTC (rev 1873)
+++ trunk/scripts/ll	2007-05-07 02:15:12 UTC (rev 1874)
@@ -1,3 +0,0 @@
-#!/bin/bash 
-/bin/ls --color=always --almost-all --format=long --time-style=+"%Y.%m.%d %T" --block-size=1K $@ | grep -e^d
-/bin/ls --color=always --almost-all --format=long --time-style=+"%Y.%m.%d %T" --block-size=1K $@ | grep -e^[-lbc]




More information about the livecd mailing list