PARTITION (<- LFS <- LINUX <- HOME)

Prepare LFS partition

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

Download sources

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

autoconf-2.13: FTP, mirror,

$ cd $LFS/var/src/autoconf
$ wget -N --retr-symlinks ftp://sunsite.cnlab-switch.ch/mirror/gnu/autoconf/autoconf-2.13.tar.gz

automake-1.4: FTP, mirror,

$ cd $LFS/var/src/automake
$ wget -N --retr-symlinks ftp://sunsite.cnlab-switch.ch/mirror/gnu/automake/automake-1.4.tar.gz

bash-2.05: FTP, mirror,

$ 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

binutils-2.11: FTP, mirror

$ 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

devfsd-v1.3.11: FTP, mirror

$ 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

diffutils-2.7: FTP, mirror

$ cd $LFS/var/src/diffutils
$ wget -N --retr-symlinks ftp://sunsite.cnlab-switch.ch/mirror/gnu/diffutils/diffutils-2.7.tar.gz

e2fsprogs-1.19: FTP, mirror

$ cd $LFS/var/src/e2fsprogs
$ wget -N --retr-symlinks ftp://sunsite.cnlab-switch.ch/mirror/tsx-11/packages/ext2fs/e2fsprogs-1.19.tar.gz

ed-0.2: FTP, mirror,

$ cd $LFS/var/src/ed
$ wget -N --retr-symlinks ftp://sunsite.cnlab-switch.ch/mirror/gnu/ed/ed-0.2.tar.gz

file-3.35: FTP, mirror

$ 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

gcc-2.95.3: FTP, mirror

$ 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

gettext-0.10.37: FTP, mirror

$ 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

grep-2.4.2: FTP, mirror

$ cd $LFS/var/src/grep
$ wget -N --retr-symlinks ftp://sunsite.cnlab-switch.ch/mirror/gnu/grep/grep-2.4.2.tar.gz

groff-1.16.1: FTP, mirror,

$ 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

kbd-1.05: FTP, mirror

$ cd $LFS/var/src/kbd
$ wget -N --retr-symlinks ftp://sunsite.cnlab-switch.ch/mirror/linux/sunsite/system/keyboards/kbd-1.05.tar.gz

less-358: FTP, mirror,

$ cd $LFS/var/src/less
$ wget -N --retr-symlinks ftp://sunsite.cnlab-switch.ch/mirror/gnu/less/less-358.tar.gz

libtool-1.3.5: FTP, mirror,

$ cd $LFS/var/src/libtool
$ wget -N --retr-symlinks ftp://sunsite.cnlab-switch.ch/mirror/gnu/libtool/libtool-1.3.5.tar.gz

lilo-21.7.4: FTP, mirror

$ 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

linux-2.4.4: FTP, mirror

$ cd $LFS/var/src/linux
$ wget -N http://www.ch.kernel.org/pub/linux/kernel/v2.4/linux-2.4.4.tar.bz2

m4-1.4: FTP, mirror,

$ 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

man-1.5i: FTP, mirror

$ 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

man-pages-1.35: FTP, mirror

$ 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

modutils-2.4.5: FTP, mirror

$ 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

net-tools-1.60: HTTP, mirror

$ 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

pcmcia-cs-3.1.25: FTP, mirror

$ 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

perl-5.6.1: HTTP, mirror

$ 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

procinfo-18: FTP, mirror

$ cd $LFS/var/src/procinfo
$ wget -N --retr-symlinks ftp://sunsite.cnlab-switch.ch/mirror/linux/sunsite/system/status/ps/procinfo-18.tar.gz

procps-2.0.7: FTP, mirror

$ 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

psmisc-19: FTP, mirror

$ 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

sed-3.02: FTP, mirror,

$ cd $LFS/var/src/sed
$ wget -N --retr-symlinks ftp://sunsite.cnlab-switch.ch/mirror/gnu/sed/sed-3.02.tar.gz

sh-utils-2.0: FTP, mirror,

$ 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

textutils-2.0: FTP, mirror,

$ cd $LFS/var/src/textutils
$ wget -N --retr-symlinks ftp://sunsite.cnlab-switch.ch/mirror/gnu/textutils/textutils-2.0.tar.gz

util-linux-2.11a: FTP, mirror

$ 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

vim-5.7: FTP

$ 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

wget-1.6: FTP, mirror

$ 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