Author: alexander
Date: 2007-08-12 04:28:47 -0600 (Sun, 12 Aug 2007)
New Revision: 2017
Removed:
trunk/doc/official-livecd.txt
Modified:
trunk/doc/README
Log:
Updated README, removed unfinished hint
Modified: trunk/doc/README
===================================================================
--- trunk/doc/README 2007-08-12 09:07:03 UTC (rev 2016)
+++ trunk/doc/README 2007-08-12 10:28:47 UTC (rev 2017)
@@ -14,7 +14,7 @@
* curl (command line file retriever)
* lynx (text web browser)
* w3m (text web browser)
-* irssi (console irc client, unstable version)
+* irssi (console irc client)
* seamonkey (graphical web browser, mail and news reader and irc client)
* xchat (x-based irc client)
* pidgin (multiprotocol x-based chat client)
@@ -25,13 +25,13 @@
Text Editors
* vim
-* nano (unstable version)
+* nano
* joe
Network Tools
* SSH server & client
* NFS server & client
-* Samba (client only)
+* Samba server & client
* Subversion
* cvs
* pppd
@@ -70,6 +70,16 @@
(A tool for extracting commands from the Linux From Scratch book and creating
Makefiles that can download, check and build each LFS package for you.)
+VMWARE ISSUE
+===========================
+This CD does not detect virtual SCSI disks connected to a virtual machine in
+VMware Workstation 5.x or earlier or VMware Server 1.0.x or earlier. This is
+a known VMware bug. The solution is to upgrade to VMware Workstation 6.x, or
+to choose "BusLogic" as the virtual SCSI controller type instead of the
+default "LSI Logic".
+
+The same issue will be present on an LFS system built from this CD.
+
CONFIGURING NET CONNECTION
===========================
The LiveCD attempts to detect the network cards present in the system.
@@ -78,6 +88,10 @@
in your location, or if you want to use dialup or GPRS connection, run the
"net-setup" command.
+If you don't want the CD to start dhcpcd on the detected network cards,
+type "linux nodhcp" at the boot loader prompt. This may be required for
+wireless connections that utilize WEP or WPA encryption.
+
CONFIGURING X
===========================
The LiveCD attempts to configure X for your video card automatically. The
@@ -120,6 +134,7 @@
HorizSync 30-92 # because gtf said "hsync: 91.38 kHz"
VertRefresh 56-86 # because an 85 Hz mode has been requested
# the Modeline may also be pasted here
+ Option "PreferredMode" "1280x1024_85.00" # only for the "intel" driver
EndSection
3) In the Section "Screen", change the DefaultDepth and add the "Modes"
@@ -130,6 +145,32 @@
When you are finished editing /etc/X11/xorg.conf, run startx.
+PROPRIETARY VIDEO DRIVERS
+=========================
+
+The CD contains pre-built proprietary video drivers in the /drivers directory
+(if you loaded the CD contents to RAM, you have to mount the CD and look into
+/media/cdrom/drivers instead). They are never selected by default by the
+autoconfiguration process. Here is how to enable them:
+
+NVIDIA:
+
+cd /drivers
+tar -C / -xf NVIDIA-Linux-[userspace_arch]-[version]-glx.tgz
+tar -C / -xf NVIDIA-Linux-[kernel_arch]-[version]-kernel-[kernel_version].tgz
+depmod -ae
+ldconfig
+vim /etc/X11/xorg.conf # use the "nvidia" driver instead of "vesa" or "nv"
+
+FGLRX:
+
+cd /drivers
+tar -C / -xf fglrx-x710-[version]-[userspace_arch]-1.tgz
+tar -C / -xf fglrx-module-[version]-[kernel_arch]-1_kernel_[kernel_version].tgz
+depmod -ae
+ldconfig
+vim /etc/X11/xorg.conf # use the "fglrx" driver instead of "vesa" or "ati"
+
CUSTOMIZING THE CD CONTENTS
===========================
It is possible to burn a customized version of the official Linux From
@@ -244,6 +285,7 @@
Known non-working cases:
All CP1251-based locales (no CP1251 Braille table in brltty)
+ All UTF-8 locales (kernel deficiency)
zh_TW (configuration instructions available in Chinese only). If you use
this locale, please email [email protected] and help us add
support for it.
@@ -335,12 +377,10 @@
brw------- 1 root root 254, 3 2006-07-10 17:51 /dev/myvg/swap
# echo 254:3 >/sys/power/resume
-In the case of the first boot, this will print an error, but store the device
-numbers to be used for hibernation. Ignore the error and hibernate when needed.
+In the case of the first boot, this will store the device numbers to be used
+for hibernation. On the second boot (i.e., after hibernating), this "echo"
+command will restore the computer state from the swap device.
-On the second boot (i.e., after hibernating), this "echo" command will restore
-the computer state from the swap device.
-
AUTOMATING THE BUILD
===========================
This CD comes with the "jhalfs" tool that allows extracting commands from the
@@ -357,6 +397,56 @@
Note that this user already has the required root access (via sudo) to complete
the build.
+LOADING CD CONTENTS TO RAM
+===========================
+The CD works much faster if you load all its contents to RAM. As a bonus, you
+will be able to eject the CD immediately and use the CD-ROM drive for other
+purposes (e.g., for watching a DVD while compiling LFS).
+
+To load the CD contents to RAM, type "linux toram" at the boot prompt.
+
+The minimum required amount of RAM is 512 MB. If you have less than 768 MB of
+RAM, add swap when the CD boot finishes.
+
+Note: in order to save RAM, sources and proprietary drivers are not loaded
+there. In order to access them, please mount this CD and look into
+/media/cdrom/sources and /media/cdrom/drivers.
+
+BOOTING FROM ISO IMAGE
+===========================
+If you want to boot this CD on a computer without a CD-ROM drive, follow
+the steps below:
+
+1) Store the ISO image of this CD as a file on a partition formatted with
+ one of the following filesystems:
+ vfat, ntfs, ext2, ext3, ext4, reiserfs, reiser4, xfs
+2) Copy the boot/isolinux/{linux,initramfs_data.cpio.gz} files from the CD
+ to your hard disk
+3) Configure the boot loader to load "linux" as a kernel image and
+ "initramfs_data.cpio.gz" as an initrd. The following parameters have to
+ be passed to the kernel:
+
+ rw root=iso:/dev/XXX:/path/to/lfslivecd.iso rootfstype=[fs_type]
+
+ where /dev/XXX is a partition where you stored the LiveCD image, and
+ [fs_type] is the type of the filesystem on that partition. You may
+ also want to add rootflags=... option if mounting this partition requires
+ special flags.
+
+If there is only Windows on the target computer, please use grub4dos as a boot
+loader. It is available from http://sourceforge.net/projects/grub4dos
+
+MAKING A BOOTABLE USB DRIVE
+===========================
+Install GRUB on a flash drive, then follow instructions in the
+"BOOTING FROM ISO IMAGE" above, using a partition on your flash drive.
+The following tips will ensure that the flash drive is bootable in any
+computer:
+
+* Use the persistent symlink such as /dev/disk/by-uuid/890C-F46A to identify
+ the target partition.
+* Add "rootdelay=20" to the kernel arguments.
+
THANKS
===========================
Many thanks to all whose suggestions, support and hard work have helped create
Deleted: trunk/doc/official-livecd.txt
===================================================================
--- trunk/doc/official-livecd.txt 2007-08-12 09:07:03 UTC (rev 2016)
+++ trunk/doc/official-livecd.txt 2007-08-12 10:28:47 UTC (rev 2017)
@@ -1,183 +0,0 @@
-AUTHOR: Alexander E. Patrakov <patrakov at ums dot usu dot ru>
-
-DATE: 2005-12-15
-
-LICENSE: GNU General Public License, version 2 or later
-
-SYNOPSIS: Design and history of the official LFS LiveCD
-
-DESCRIPTION:
-This hint documents design choices made while developing
-the official LFS LiveCD. This is not a step-by-step guide.
-
-PREREQUISITES:
-Ability to build LFS and BLFS and script the build process
-Working knowledge of C, ability to read and understand documentation
-
-HINT:
-
-I. DIFFERENCES BETWEEN A LIVE CD AND A REGULAR SYSTEM
-
-Any Linux live CD contains a Linux system and a special boot loader designed
-for running it from a CD-ROM. The fact that the root file system is stored
-on a CD leads to the following consequences:
-
-1. The device which holds the system is not known in advance.
-
-Some people have their CD-ROM as /dev/hdc, others use /dev/hdd or even
/dev/sr0.
-This means that one cannot pass a fixed "root=..." argument to the kernel
-in the boot loader configuration.
-
-2. The hardware on the target system is not known in advance.
-
-In order to be useful for building the LFS system, the official LiveCD must
-be able to boot from a CD drive connected to any IDE or SCSI controller and
-also recognize all hard disks in the target system.
-
-3. The CD is read-only.
-
-The iso9660 filesystem used on CD-ROMs is read-only. However, some programs
-require a writeable location to store their settings. Some mechanism must
-exist that provides such scratch space.
-
-4. The CD size is limited to 700 MB.
-
-A bare-bones LFS system takes approximately 300 megabytes, even after
stripping.
-The official LFS LiveCD must also contain LFS sources, this takes 150 MB more.
-Thus, without compression, at most 250 megabytes are left for additional BLFS
-software that makes the CD more comfortable.
-
-5. The CD must be configurable in order to fit different user needs.
-
-When a user builds his [B]LFS system, he/she edits the configuration files
-according to personal requirements. Other user may be uncomfortable with
-the first user's settings. Thus, a live CD should contain some default
-settings that work for most people. Sometimes (e.g. when keyboard layouts
-are concerned) it is not possible. In such cases, an easy configuration
-mechanism should exist.
-
-The points outlined above are discussed in more detail in the next parts
-of the hint.
-
-II. The boot loader
-
-One of the boot loaders capable of booting a Linux kernel from a CD-ROM is
-isolinux, part of the Syslinux package. Syslinux is available at:
-
-http://syslinux.zytor.com/
-
-The official LFS LiveCD uses a precompiled isolinux.bin file because some
-time ago the syslinux maintainer advised against recompiling syslinux from
-source. In order to build isolinux from source, nasm is needed. Issue the
-following commands to rebuild the isolinux.bin file:
-
-make spotless # removes all precompiled files
-make isolinux.bin # or just "make" if you want other programs in the package
-
-This "isolinux.bin" file should end up in the /boot/isolinux directory on the
-LiveCD, together with the isolinux.cfg configuration file, the kernel image
-("linux") and the initramfs image ("initramfs_data.cpio.gz", discussed in the
-next section). The isolinux.cfg file on the official LFS LiveCD contains the
-following:
-
-serial 0
-default linux
-prompt 1
-timeout 600
-display boot.msg
-F1 options.msg
-
-label linux
- kernel linux
- append initrd=initramfs_data_cpio.gz
-
-The meaning of each configuration option is described in the syslinux.doc file
-in the syslinux source tarball.
-
-The initramfs performs detection of the CD-ROM device and mounts filesystems
-in such a way that a read-write filesystem is presented to the user. From
-the viewpoint of the boot loader, the initramfs image is just an initrd.
-The file name is passed as initramfs_data_cpio.gz, not initramfs_data.cpio.gz,
-because Syslinux understands only the bare ISO9660 filenames, not RockRidge
-extensions. To see bare ISO9660 filenames, issue the following command:
-
-mount -o norock,nojoliet /dev/cdrom /media/cdrom
-
-The timeout exists for unattended boot scenarios where the user is supposed to
-connect to his LiveCD system via ssh. This currently requires customizing the
-LiveCD, as described in the README file. Earlier, an attempt was made to start
-the ssh daemon automatically when the boot prompt times out, and change the
-root password to a well-known string. Such practice was insecure, and the
-old method of starting sshd has been dropped.
-
-III. Finding the root device.
-
-When the kernel boots, it realizes that the boot loader has passed something
-to it using the initrd protocol. The kernel looks at the contents of this image
-and checks whether it looks like a compressed cpio archive. For the official
-LFS LiveCD, this is the case, and the kernel unpacks this archive into the
-"ramfs" filesystem and uses it as a root filesystem. Then, the kernel checks
-whether the /init file exists and is executable. If it is not, the usual
-"root=..." argument parsing takes place. But the initramfs on the official
-LFS LiveCD contains /init, thus, the kernel executes it instead of parsing
-the non-existing "root=..." parameter. This /init file has to mount the
-real root file system and tell the kernel to use it.
-
-Currently, a statically-linked binary is used as the /init script, which makes
-it hard to explain what exactly is going on to people who don't know the C
-programming language. The source for this binary is kept in the
-lfs-livecd/initramfs directory. Earlier pre-releases of the LiveCD contained
-a number of small utilities statically linked against the "klibc" library
-(available from http://www.kernel.org/pub/linux/libs/klibc) instead of the
-usual glibc, and the /init file was a shell script. This practice has been
-dropped in favour of a statically linked glibc-based binary because klibc
-could not be built on some non-x86 architectures, like Sparc.
-
-Searching for the root device is the first thing done by /init. This is done
-by querying the ISO9660 volume label on each known device that could
-contain the LFS LiveCD. The static device nodes created when building the CD
-are used in initramfs. The shell-based /init used the following commands for
-searching the CD:
-
-LABEL="LFS_CD"
-DEVS=`echo /dev/hd* /dev/sr*`
-
-while [ -z "$CDROM" ] && [ "$TIMEOUT" != "..............." ] ; do
- for DEV in $DEVS ; do
- if [ "`isoinfo -V $DEV 2>/dev/null`" = "$LABEL" ] ; then
- CDROM=$DEV
- fi
- done
- if [ -z "$CDROM" ] ; then
- echo -n "."
- TIMEOUT=".$TIMEOUT"
- sleep 1
- fi
-done
-
-The "isoinfo" program is available from
-ftp://metalab.unc.edu/pub/Linux/utils/disk-management/
-
-In order to compile cleanly against klibc, it needs a patch:
-isoinfo-0.03.02-fixes-1.patch
-
-It is also possible to search for the CD by attempting to mount all devices
-and looking if one of them contains some file known to be present on the CD.
-
-The logic for retrying the CD-ROM detection is needed in the case of SCSI
-and USB CD-ROM drives, because the kernel performs their detection in the
-background, and it takes some time, and therefore the first round of CD-ROM
-detection may miss such devices.
-
-In the current C-based init, the corresponding logic is contained in the
-mountlfscd() function.
-
-When the device containing the LFS CD is found, the tmpfs filesystem is mouned
-onto the /.tmpfs directory, and the CD-ROM device it is mounted onto
-/.tmpfs/.cdrom. Note: this does not become the root filesystem.
-
-Such setup is needed in order to be able to access the sources present on
-the LiveCD, and will be explained later.
-
-CHANGELOG:
-{place the SVN changelog here just before the official release}
--
http://linuxfromscratch.org/mailman/listinfo/livecd
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page