The main deviation from LFS is the creation of /var/src
with write permission for group admin(50000), and no creation of
/usr/local
.
It further assumes, that /dev/hda13
will be the new partiton. This
must be changed to the need of the installation.
The environment variable LFS must always contain the path to the LFS
partition, while one works "from the outside". A good idea is, to add
the export LFS=/mnt/lfs
to the .bashrc
of
the user doing the installation, as well as to the one of root. So one
does not forget to set it, when one resumes work at a later time. For
the same reason it is good to mount the LFS partition automatically
using an entry in /etc/fstab
.
$ su - # groupadd -g 50000 admin # ( cd /usr/lib; ln -s libncurses.a libcurses.a ) # cfdisk /dev/hda # mke2fs -i 8192 /dev/hda13 # export LFS=/mnt/lfs # umask 022 # mkdir -p $LFS # mount /dev/hda13 $LFS # cd $LFS # mkdir bin boot dev etc home lib mnt proc root sbin tmp usr var # cd $LFS/usr # mkdir bin etc include lib sbin share src # ln -s share/man man # ln -s share/doc doc # ln -s share/info info # cd share # mkdir dict doc info locale man nls misc terminfo zoneinfo # cd man # mkdir man1 man2 man3 man4 man5 man6 man7 man8 # cd $LFS/var # mkdir lib lock log run src tmp # chgrp admin src # chmod 2775 src # cd $LFS # chmod 0750 root # chmod 1777 tmp var/tmp # exit $ export LFS=/mnt/lfs
Create all source directories and fill with source archives
$ cd $LFS/var/src $ umask 002 $ mkdir autoconf automake bash bin86 binutils bison bzip2 daemontools \ devfsd diffutils e2fsprogs ed file fileutils findutils flex gcc gettext \ glibc grep groff gzip kbd less libtool lilo linux m4 make man man-pages \ mawk modutils ncurses net-tools patch pcmcia perl procinfo procps \ psmisc read_syslog sed shadowpwd sh-utils sysvinit tar texinfo \ textutils utillinux vim wget wireless-tools
$ cd $LFS/var/src/autoconf $ wget -N --retr-symlinks ftp://sunsite.cnlab-switch.ch/mirror/gnu/autoconf/autoconf-2.13.tar.gz
$ cd $LFS/var/src/automake $ wget -N --retr-symlinks ftp://sunsite.cnlab-switch.ch/mirror/gnu/automake/automake-1.4.tar.gz
$ cd $LFS/var/src/bash $ wget -N --retr-symlinks ftp://sunsite.cnlab-switch.ch/mirror/gnu/bash/bash-2.05.tar.gz
bin86-0.15.5: HTTP
$ cd $LFS/var/src/bin86 $ wget -N --retr-symlinks http://www.cix.co.uk/~mayday/bin86-0.15.5.tar.gz
$ cd $LFS/var/src/binutils $ wget -N --retr-symlinks ftp://sunsite.cnlab-switch.ch/mirror/gnu/binutils/binutils-2.11.tar.gz
bison-1.28: FTP, mirror,
$ cd $LFS/var/src/bison $ wget -N --retr-symlinks ftp://sunsite.cnlab-switch.ch/mirror/gnu/bison/bison-1.28.tar.gz
bzip2-1.0.1: FTP
$ cd $LFS/var/src/bzip2 $ wget -N --retr-symlinks ftp://sourceware.cygnus.com/pub/bzip2/v100/bzip2-1.0.1.tar.gz
daemontools-0.70: HTTP. daemontools-0.70-man: FTP
$ cd $LFS/var/src/daemontools $ wget -N --retr-symlinks http://cr.yp.to/daemontools/daemontools-0.70.tar.gz $ wget -N --retr-symlinks ftp://ftp.innominate.org/gpa/djb/daemontools-0.70-man.tar.gz
$ cd $LFS/var/src/devfsd $ wget -N --retr-symlinks ftp://sunsite.cnlab-switch.ch/mirror/kernel/linux/daemons/devfsd/devfsd-v1.3.11.tar.bz2
$ cd $LFS/var/src/diffutils $ wget -N --retr-symlinks ftp://sunsite.cnlab-switch.ch/mirror/gnu/diffutils/diffutils-2.7.tar.gz
$ cd $LFS/var/src/e2fsprogs $ wget -N --retr-symlinks ftp://sunsite.cnlab-switch.ch/mirror/tsx-11/packages/ext2fs/e2fsprogs-1.19.tar.gz
$ cd $LFS/var/src/ed $ wget -N --retr-symlinks ftp://sunsite.cnlab-switch.ch/mirror/gnu/ed/ed-0.2.tar.gz
$ cd $LFS/var/src/file $ wget -N --retr-symlinks ftp://ftp.astron.com/pub/file/file-3.35.tar.gz
fileutils-4.0: FTP, mirror. fileutils-4.0.patch: FTP
$ cd $LFS/var/src/fileutils $ wget -N --retr-symlinks ftp://sunsite.cnlab-switch.ch/mirror/gnu/fileutils/fileutils-4.0.tar.gz $ wget -N --retr-symlinks ftp://packages.linuxfromscratch.org/conglomeration/fileutils-4.0.patch.bz2
findutils-4.1: FTP, mirror. findutils-4.1.patch: FTP
$ cd $LFS/var/src/findutils $ wget -N --retr-symlinks ftp://sunsite.cnlab-switch.ch/mirror/gnu/findutils/findutils-4.1.tar.gz $ wget -N --retr-symlinks ftp://packages.linuxfromscratch.org/conglomeration/findutils-4.1.patch.bz2
flex-2.5.4a: FTP, mirror,
$ cd $LFS/var/src/flex $ wget -N --retr-symlinks ftp://sunsite.cnlab-switch.ch/mirror/gnu/non-gnu/flex/flex-2.5.4a.tar.gz
$ cd $LFS/var/src/gcc $ wget -N ftp://ftp.sunet.se/puba/gnu/egcs/releases/gcc-2.95.3/gcc-2.95.3.tar.gz
$ cd $LFS/var/src/gettext $ wget -N ftp://sunsite.cnlab-switch.ch/mirror/gnu/gettext/gettext-0.10.37.tar.gz
glibc-2.2.3: FTP, mirror. glibc-linuxthreads-2.2.3: FTP, mirror.
$ cd $LFS/var/src/glibc $ wget -N --retr-symlinks ftp://sunsite.cnlab-switch.ch/mirror/gnu/glibc/glibc-2.2.3.tar.gz $ wget -N --retr-symlinks ftp://sunsite.cnlab-switch.ch/mirror/gnu/glibc/glibc-linuxthreads-2.2.3.tar.gz
$ cd $LFS/var/src/grep $ wget -N --retr-symlinks ftp://sunsite.cnlab-switch.ch/mirror/gnu/grep/grep-2.4.2.tar.gz
$ cd $LFS/var/src/groff $ wget -N --retr-symlinks ftp://sunsite.cnlab-switch.ch/mirror/gnu/groff/groff-1.16.1.tar.gz
gzip-1.2.4a: FTP, mirror. gzip-1.2.4a.patch: FTP
$ cd $LFS/var/src/gzip $ wget -N --retr-symlinks ftp://sunsite.cnlab-switch.ch/mirror/gnu/gzip/gzip-1.2.4a.tar.gz $ wget -N --retr-symlinks ftp://packages.linuxfromscratch.org/conglomeration/gzip-1.2.4a.patch.bz2
$ cd $LFS/var/src/kbd $ wget -N --retr-symlinks ftp://sunsite.cnlab-switch.ch/mirror/linux/sunsite/system/keyboards/kbd-1.05.tar.gz
$ cd $LFS/var/src/less $ wget -N --retr-symlinks ftp://sunsite.cnlab-switch.ch/mirror/gnu/less/less-358.tar.gz
$ cd $LFS/var/src/libtool $ wget -N --retr-symlinks ftp://sunsite.cnlab-switch.ch/mirror/gnu/libtool/libtool-1.3.5.tar.gz
$ cd $LFS/var/src/lilo $ wget -N --retr-symlinks ftp://sunsite.cnlab-switch.ch/mirror/linux/sunsite/system/boot/lilo/lilo-21.7.3.tar.gz $ wget -N --retr-symlinks ftp://brun.dyndns.org/pub/linux/lilo/patch-21.7.3-to-21.7.4-diff.txt
$ cd $LFS/var/src/linux $ wget -N http://www.ch.kernel.org/pub/linux/kernel/v2.4/linux-2.4.4.tar.bz2
$ cd $LFS/var/src/m4 $ wget -N --retr-symlinks ftp://sunsite.cnlab-switch.ch/mirror/gnu/m4/m4-1.4.tar.gz
make-3.79.1: FTP, mirror,
$ cd $LFS/var/src/make $ wget -N --retr-symlinks ftp://sunsite.cnlab-switch.ch/mirror/gnu/make/make-3.79.1.tar.gz
$ cd $LFS/var/src/man $ wget -N --retr-symlinks ftp://sunsite.cnlab-switch.ch/mirror/kernel/linux/utils/man/man-1.5i.tar.bz2 $ wget -N --retr-symlinks ftp://packages.linuxfromscratch.org/conglomeration/man-1.5i.patch.bz2
$ cd $LFS/var/src/man-pages $ wget -N --retr-symlinks ftp://sunsite.cnlab-switch.ch/mirror/kernel/linux/docs/manpages/man-pages-1.35.tar.bz2
mawk1.3.3: FTP
$ cd $LFS/var/src/mawk $ wget -N --retr-symlinks ftp://ftp.whidbey.net/pub/brennan/mawk1.3.3.tar.gz
$ cd $LFS/var/src/modutils $ wget -N --retr-symlinks ftp://sunsite.cnlab-switch.ch/mirror/kernel/linux/utils/kernel/modutils/v2.4/modutils-2.4.5.tar.bz2
ncurses-5.2: FTP, mirror,
$ cd $LFS/var/src/ncurses $ wget -N --retr-symlinks ftp://sunsite.cnlab-switch.ch/mirror/gnu/ncurses/ncurses-5.2.tar.gz
$ cd $LFS/var/src/net-tools $ wget -N --retr-symlinks http://www.tazenda.demon.co.uk/phil/net-tools/net-tools-1.60.tar.bz2
patch-2.5.4: FTP, mirror,
$ cd $LFS/var/src/patch $ wget -N --retr-symlinks ftp://sunsite.cnlab-switch.ch/mirror/gnu/patch/patch-2.5.4.tar.gz
$ cd $LFS/var/src/pcmcia $ wget -N --retr-symlinks ftp://sunsite.cnlab-switch.ch/mirror/linux/sunsite/kernel/pcmcia/pcmcia-cs-3.1.25.tar.gz
$ cd $LFS/var/src/perl $ wget -N --retr-symlinks ftp://sunsite.cnlab-switch.ch/mirror/CPAN/src/5.0/maint/perl-5.6.1.tar.gz
$ cd $LFS/var/src/procinfo $ wget -N --retr-symlinks ftp://sunsite.cnlab-switch.ch/mirror/linux/sunsite/system/status/ps/procinfo-18.tar.gz
$ cd $LFS/var/src/procps $ wget -N --retr-symlinks ftp://sunsite.cnlab-switch.ch/mirror/linux/sunsite/system/status/ps/procps-2.0.7.tar.gz
$ cd $LFS/var/src/psmisc $ wget -N --retr-symlinks ftp://sunsite.cnlab-switch.ch/mirror/linux/sunsite/system/status/ps/psmisc-19.tar.gz
read_syslog: HTTP
$ cd $LFS/var/src/read_syslog $ wget -N --retr-symlinks http://www.claudio.ch/C/read_syslog/read_syslog.c
$ cd $LFS/var/src/sed $ wget -N --retr-symlinks ftp://sunsite.cnlab-switch.ch/mirror/gnu/sed/sed-3.02.tar.gz
$ cd $LFS/var/src/sh-utils $ wget -N --retr-symlinks ftp://sunsite.cnlab-switch.ch/mirror/gnu/sh-utils/sh-utils-2.0.tar.gz $ wget -N --retr-symlinks ftp://packages.linuxfromscratch.org/conglomeration/sh-utils-2.0.patch.bz2
shadow-20001016: FTP. shadow-20001016.patch: FTP
$ cd $LFS/var/src/shadowpwd $ wget -N --retr-symlinks ftp://ftp.pld.org.pl/software/shadow/shadow-20001016.tar.gz $ wget -N --retr-symlinks ftp://packages.linuxfromscratch.org/conglomeration/shadow-20001016.patch.bz2
sysvinit-2.78: FTP, mirror. sysvinit-2.78.patch: FTP
$ cd $LFS/var/src/sysvinit $ wget -N --retr-symlinks ftp://sunsite.cnlab-switch.ch/mirror/linux/sunsite/system/daemons/init/sysvinit-2.78.tar.gz $ wget -N --retr-symlinks ftp://packages.linuxfromscratch.org/conglomeration/sysvinit-2.78.patch.bz2
tar-1.13: FTP, mirror. gnutarpatch: FTP, mirror
$ cd $LFS/var/src/tar $ wget -N --retr-symlinks ftp://sunsite.cnlab-switch.ch/mirror/gnu/tar/tar-1.13.tar.gz $ wget -N --retr-symlinks ftp://packages.linuxfromscratch.org/conglomeration/gnutarpatch.txt.bz2
texinfo-4.0: FTP, mirror,
$ cd $LFS/var/src/texinfo $ wget -N --retr-symlinks ftp://sunsite.cnlab-switch.ch/mirror/gnu/texinfo/texinfo-4.0.tar.gz
$ cd $LFS/var/src/textutils $ wget -N --retr-symlinks ftp://sunsite.cnlab-switch.ch/mirror/gnu/textutils/textutils-2.0.tar.gz
$ cd $LFS/var/src/utillinux $ wget -N --retr-symlinks ftp://sunsite.cnlab-switch.ch/mirror/kernel/linux/utils/util-linux/util-linux-2.11a.tar.bz2
$ cd $LFS/var/src/vim $ wget -N --retr-symlinks ftp://ftp.vim.org/pub/editors/vim/unix/vim-5.7-src.tar.gz $ wget -N --retr-symlinks ftp://ftp.vim.org/pub/editors/vim/unix/vim-5.7-rt.tar.gz
$ cd $LFS/var/src/wget $ wget -N --retr-symlinks ftp://sunsite.cnlab-switch.ch/mirror/gnu/wget/wget-1.6.tar.gz
wireless_tools.21: FTP, mirror
$ cd $LFS/var/src/wireless-tools $ wget -N --retr-symlinks ftp://sunsite.cnlab-switch.ch/mirror/linux/sunsite/kernel/pcmcia/contrib/wireless_tools.21.tar.gz