Текст книги "Linux From Scratch"
Автор книги: Gerard Beekmans
Жанр:
ОС и Сети
сообщить о нарушении
Текущая страница: 1 (всего у книги 18 страниц)
Пролог
Вступление
Я перепробовал некоторое количество дистрибутивов Linux, но ни один из них полностью не удовлетворял моим потребностям. Мне не нравилось расположение загрузочных скриптов. Мне не нравилось, как некоторые программы были сконфигурированы по умолчанию. Это мне порядком надоело. В итоге я осознал, что только построив собственную систему из исходников, я буду доволен. Я твердо решил отказаться от использования прекомпилированных пакетов и от загрузочного диска, который мог бы установить основу системы. Я буду использовать свою текущую систему Linux для построения своей собственной.
В то время эта сумасбродная идея казалась невыполнимой. Однако после разрешения различного рода проблем, таких как например проблемы зависимости и ошибки при компиляции, моя новая система стала полностью работоспособной. Я назвал ее Linux From Scratch < Linux из ничего >, сокращенно LFS.T
Надеюсь, вы получите удовольствие, работая над системой LFS.
Кому эта книга будет интересна
Существует ряд причин, по которым эта книга может представлять интерес. Основная из них – установка системы LFS. Возникает резонный вопрос, «Зачем мучаться, собирая Linux систему по частям, в то время как можно скачать и установить уже готовую?». Хороший вопрос.
Важное назначение LFS – помочь людям познать функционирование Linux изнутри. Построение системы LFS показывает, что заставляет Linux работать, как работают ее компоненты и как они друг от друга зависят. И наконец, вероятно важнее всего, как настроить Linux под себя, в соответствии со своими вкусами и потребностями.
Основное преимущество LFS состоит в том, что вы получаете больше контроля над системой, не полагаясь на чью-то Linux разработку. Использую LFS, вы определяете ее структуру и ее компоненты, в частности структуру директорий и загрузочные скрипты. Вы указываете как, куда и для чего устанавливать программы.
Другое преимущество системы LFS – возможность собрать наиболее компактную систему. Обычные дистрибутивы зачастую устанавливают на вашем компьютере огромное количество программ, которые навряд ли будут использоваться впоследствии. Они будут просто-напросто занимать (драгоценное?) место на диске, в то время как не составляет труда уместить систему LFS на разделе в 100MB. Все равно слишком много? Некоторые участники проекта разработали сверхкомпактную систему LFS. Была собрана система, позволяющая работу вебсервера Apache, которая занимала лишь 8 мегабайт. Дальнейшее урезание системы позволит сократить ее объем до 5 мегабайт. Вряд ли этого удастся достичь, используя обычный дистрибутив.
Давайте сравним дистрибутив Linux с гамбургером из закусочной, когда вы точно не знаете, что именно едите. LFS, в свою очередь, дает вам не гамбургер, а рецепт его приготовления. Внимательно изучив его, можно убрать ненужные ингредиенты и для насыщения вкуса добавить свои. Как только вы довольны рецептом, можете смело приступать к приготовлению гамбургера. На этом этапе также есть выбор: можно его поджарить на огне, во фритюре, запечь, или съесть сырым.
Также LFS можно сравнить с построенным домом. LFS предоставляет план дома, а строить его вам. Разумеется, можно изменять план по ходу дела.
Немаловажное преимущество индивидуальной системы Linux – безопасность. При компиляции всей системы из исходных кодов вы получаете возможность проверять все компоненты системы и по мере необходимости инсталлировать патчи. Больше нет необходимости ждать, пока кто-то выпустит бинарный пакет, устраняющий дыру в безопасности системы. Нет гарантии, что новый пакет был собран корректно и адекватно устраняет проблему, если вы самостоятельно не изучили и не собрали патч. Чтобы быть уверенным в том, что дыра в безопасности устранена, необходимо установить патч вручную.
Кому будет неинтересно читать эту книгу
Если у вас нет желания собирать Linux с нуля, тогда, наверное, эта книга не для вас. Наша цель – построение полной и практичной фундаментальной системы. Если все что вас интересует, это узнать, что происходит при загрузке системы, рекомендуем «From Power Up To Bash Prompt» HOWTO. Это руководство описывает процесс построения голой системы, похожей на нашу, но ставит задачу лишь создать систему, способную загрузиться в оболочку BASH.
Выбирая что читать, ясно определите для себя цель. Если вы хотите построить Linux систему, изучая ее по ходу дела, эта книга для вас. Если ваша цель сугубо познавательная, и вы не планируете создать готовую систему, тогда ваш выбор «From Power Up To Bash Prompt» HOWTO.
«From Power Up To Bash Prompt» HOWTO находится по адресу http://www.netspace.net.au/~gok/power2bash/.
Организация
Значительное число приложений включены в Часть 2 (это немного увеличивает объем книги). Это облегчает чтение. Таким образом, не нужно все время заглядывать в Приложения при прочтении Части 2. Это очень неудобно, особенно если читать txt версию книги. Данная книга поделена на разделы следующим образом:
Часть 1 – ВступлениеЧасть 1 содержит информацию о содержании книги (исправления, где скачать книгу, Changelog, списки рассылки и иную контактную информацию). Часть 1 также дает информацию о литературе, рекомендуемой для прочтения перед установкой LFS.
Часть 2 – Установка базовой системы LFSЧасть 2 будет служить ориентиром при построении и инсталляции LFS системы. Получившаяся система будет служить фундаментом, ядром для установки остальных компонентов системы.
Часть 3 – ПриложенияЧасть 3 содержит различные приложения.
Часть I – Вступление
Глава 1. Вступление
БлагодарностиМы благодарим всех людей и организации за их вклад в развитие проекта Linux From Scratch:
Mark Stone
VA Linux Systems за серверное пространство и канал для сервера linuxfromscratch.org.
Fredrik Danerklint за зеркало se.linuxfromscratch.org.
Tim Jackson
Hagen Herrschaft
UK Mirror Service за зеркало linuxfromscratch.mirror.ac.uk.
Guido Passet
Timothy Bauscher
Mark Hymers
Marc Heerdink
DREAMWVR.COM за предоставление ресурсов проекту LFS и другим подпроектам, связанным с ним.
Jan Niemann
Torsten Westermann
Ian Chilton
Dag Stenstad
Antonin Sprinzl
Jason Andrade
Ian Cooper
VA Linux Systems , которые от имени Linux.com, предоставили рабочую станцию VA Linux 420 (бывшая StartX SP2) для проекта.
Johan Lenglet
Jesse Tie-Ten-Quee [email protected] за предоставление пишущего привода Yamaha CDRW 8824E.
O'Reilly за предоставление книг по SQL и PHP.
Robert Briggs за предоставление доменов linuxfromscratch.org linuxfromscratch.com.
Frank Skettino
Garrett LeSage
Dean Benson
Бесчисленное количество людей в различных списках рассылки LFS за советы, тестирование книги и за сообщение об ошибках.
Как мы будем работатьМы собираемся построить систему LFS, используя заранее установленный дистрибутив Linux, как например Debian, SuSE, Slackware, Mandrake, RedHat, и т.д. Мы будем использовать установленную систему как платформу для разработки, т.к. нам понадобится компилятор, линкер, текстовый редактор и другие средства разработки, необходимые для построения нашей системы. Обычно эти инструменты доступны по умолчанию, если выбрать опцию «development» при инсталляции дистрибутива Linux.
После скачивания необходимых для построения системы LFS пакетов, мы создадим раздел Linux native и файловую систему на нем. Там будет скомпилирована и установлена система LFS.
Затем, в Главе 5, мы опишем процесс инсталляции различных пакетов, которые сформируют среду разработки, которую мы используем для построения самой системы и для решения проблемы зависимостей. Например, для сборки нового компилятора необходим компилятор, а для установки оболочки необходима оболочка. Пакеты в этой главе будут слинкованы статически.
Использование статических ссылок позволяет нам избежать необходимости в наличии библиотек на момент завершения сборки. Собранная программа самодостаточна, т.к. части программы, которые обычно находятся в библиотеках, в нашем случае копируются из библиотек и вставляются в программу. Обычно программы компилируются с использованием динамических ссылок. Это позволяет сэкономить место на диске и повышает эффективность многих программ. В Главе 5 мы используем статические ссылки, т.к. теоретически мы перемещаем нашу систему разработки в виртуальную среду, где указанные библиотеки отсутствуют. Если скомпилировать программы на данном этапе с динамическими ссылками, то средства разработки не будут работать. Так как необходимые библиотеки предоставлены нам установленным дистрибутивом Linux, цель Главы 5 – создание среды разработки, в которой эти библиотеки не требуются, что делает эту среду независимым дистрибутивом.
В Главе 6 мы скомпилируем и инсталлируем конечную систему. Мы используем программу chroot, для того, чтобы войти в виртуальную среду и запустить оболочку, для которой корневой каталог будет тот раздел, куда мы установили программы из Главы 5. Это похоже на то, когда при перезагрузке системы мы даем указание ядру монтировать раздел LFS как корневой. Почему мы используем chroot вместо того, чтобы перезагрузиться? Дело в том, что создание загрузочной системы LFS со статическими ссылками подразумевает выполнение дополнительных шагов, которые сейчас излишни. А также мы хотим иметь возможность использовать наш базовый дистрибутив во время установки LFS. Пока компилируется LFS, вы сможете переключиться в другую виртуальную консоль и сессию Х и заняться своими делами.
Когда все пакеты из Главы 6 проинсталлированы, Главы 7, 8 и 9 опишут завершающую стадию установки. Следуя указаниям Главы 7, мы напишем загрузочные скрипты. С помощью Главы 8 мы скомпилируем ядро Linux и установим загрузчик. Глава 9 содержит дополнительные указания по доводке системы после прочтения книги. И, наконец, можно будет перезагрузить систему и начать использовать LFS.
Это краткое изложение процесса установки. Более конкретную информацию вы можете найти в соответствующих главах и описаниях программных пакетов. Если сейчас вам что-то непонятно, ничего страшного. Скоро все приобретет смысл.
Прочтите Главу 2 внимательно. Она объясняет некоторые важные моменты, необходимые для понимания перед тем, как приступить к Главе 5 и далее.
Условные обозначения, используемые в книгеДля облегчения понимания книги, ознакомьтесь с условными обозначениями, используемыми в дальнейшем:
./configure –prefix=/usr
Текст такого формата предназначен для набора в командной строке в точности как на экране, помимо случаев, когда даны иные указания. Также он используется в пояснительных разделах для определения команды, о которой идет речь.
install-info: unknown option `–dir-file=/mnt/lfs/usr/info/dir'
Текст такого формата (с фиксированной шириной) показывает вывод на экране, как результат выполнения той или иной команды. Также он используется для обозначения имени файла, например /etc/lilo.conf.
Emphasis
Текст такого формат имеет несколько назначений в книге. В основном он используется для подчеркивания наиболее важных моментов, а также для примеров.
http://www.linuxfromscratch.org/
Текст такого формата используется для ссылок, как по книге, так и для ссылок на внешние ресурсы – на руководства, вебсайты и т.д.
cat > $LFS/etc/group << «EOF»
root:x:0:
bin:x:1:
......
EOF
Данный раздел используется в основном для создания конфигурационных файлов. Первая команда (выделенная жирным шрифтом) создает файл $LFS/etc/group, наполняя его строчками до EOF. В командной строке данная секция печатается в точности как на экране.
Версия книгиПеред вами Книга LFS версии 4.0 от 5 октября 2002 г. В случае, если данная версия старше месяца, наверняка обновленная версия книги доступна для скачивания с нижеперечисленных зеркал.
ЗеркалаНиже приведен список HTTP и FTP зеркал по состоянию на 10 апреля 2002 г. Для обновления этой информации, посетите http://www.linuxfromscratch.org.
Зеркала HTTP
Северная Америка
Fremont, California, USA [8 Mbit] – http://www.linuxfromscratch.org/lfs/intro.shtml
Lufkin, Texas, USA [6 Mbit] – http://linuxfromscratch.idge.net/lfs/intro.shtml
Columbus, Ohio, United States [1 Mbit] – http://www.us.linuxfromscratch.org/lfs/intro.shtml
Европа
Mainz, Germany [100 Mbit] – http://lfs.linux-provider.net/lfs/intro.shtml
Amsterdam, The Netherlands [100 Mbit] – http://www.nl.linuxfromscratch.org/lfs/intro.shtml
Oslo, Norway [100 Mbit] – http://www.no.linuxfromscratch.org/lfs/intro.shtml
Lancaster, United Kingdom [100 Mbit] – http://linuxfromscratch.mirror.ac.uk/lfs/intro.shtml
Vienna Univ. of Technology, Austria [64 Mbit] – http://www.at.linuxfromscratch.org/lfs/intro.shtml
Karlskrona, Sweden [10 Mbit] – http://www.se.linuxfromscratch.org/lfs/intro.shtml
Freising, Germany [4 Mbit] – http://www.de.linuxfromscratch.org/lfs/intro.shtml
Teeside, United Kingdom [256 Kbit] – http://www.linuxfromscratch.co.uk/lfs/intro.shtml
Австралия
Brisbane, Australia [155 Mbit] – http://www.au.linuxfromscratch.org/lfs/intro.shtml
Зеркала FTP
Северная Америка
Fremont, California, USA [FTP] [8 Mbit] – ftp://ftp.linuxfromscratch.org
Fremont, California, USA [HTTP] [8 Mbit] – http://ftp.linuxfromscratch.org
Lufkin, Texas, USA [FTP] [6 Mbit] – ftp://linuxfromscratch.idge.net/linuxfromscratch
Lufkin, Texas, USA [HTTP] [6 Mbit] – http://ftp.idge.net/linuxfromscratch
Европа
Univ. of Twente, The Netherlands [HTTP] [100 Mbit] – http://ftp.snt.utwente.nl/linux/lfs/
Univ. of Twente, The Netherlands [FTP] [100 Mbit] – ftp://ftp.snt.utwente.nl/pub/linux/lfs/
Oslo, Norway [FTP] [100 Mbit] – ftp://ftp.no.linuxfromscratch.org/mirrors/lfs/
Lancaster, United Kingdom [HTTP] [100 Mbit] – http://www.mirror.ac.uk/sites/ftp.linuxfromscratch.org/
Vienna Univ. of Tech., Austria [FTP] [64 Mbit] – ftp://ftp.at.linuxfromscratch.org/pub/lfs/
Vienna Univ. of Tech., Austria [HTTP] [64 Mbit] – http://ftp.at.linuxfromscratch.org/pub/lfs
Karlskrona, Sweden [FTP] [10 Mbit] – ftp://ftp.se.linuxfromscratch.org/lfs
Freising, Germany [HTTP] [4 Mbit] – http://ftp.de.linuxfromscratch.org/
Freising, Germany [FTP] [4 Mbit] – ftp://ftp.de.linuxfromscratch.org/mirrors/ftp.linuxfromscratch.org/
Австралия
Brisbane, Australia [FTP] [155 Mbit] – ftp://ftp.planetmirror.com/pub/lfs/
Changelog4.0 – 5 октября 2002 г.
3 октября 2002 [gerard]: Глава 06 – Linuxthreads: Вместо cd man используйте опцию –C для make. В этом больше смысла, и так короче.
29 сентября 2002 [gerard]: Глава 05 – GCC: Исправлен и заново инсталлирован старый патч nofixincludes.
29 сентября 2002 [markh]: Глава 05 – Bash: Правильная ссылка к предыдущему стабильному релизу Debian (potato), т.к. он не подходит к нынешнему (woody). Сообщил h2k1 на канале #lfs.
4.0-RC1 – 28 сентября 2002
Обновления:
automake-1.6.3
bin86-0.16.3
binutils-2.13
bison-1.35
diffutils-2.8.1
file-3.39
gawk-3.1.1
gcc-3.2
gettext-0.11.5
groff-1.18
gzip-1.2.4b.patch
lfs-bootscripts-1.10
linux-2.4.19
MAKEDEV-1.7
man-1.5k
man-pages-1.52
modutils-2.4.19
ncurses-5.2-2.patch
perl-5.8.0
psmisc-21
texinfo-4.2
textutils-2.1
util-linux-2.11u
Добавления:
ed-0.2.patch
fileutils-4.1.patch
gawk-3.1.1-2.patch
gcc-3.2.patch
gcc-3.2-nofixincludes.patch
glibc-2.2.5-2.patch
gzip-1.2.4b.patch
kbd-1.06-3.patch
man-1.5k.patch
ncurses-5.2.patch
procps-2.0.7.patch
sh-utils-2.0-hostname.patch
vim-6.1.patch
zlib-1.1.4
Удалено:
gzip-1.2.4a.patch
kbd-1.06-2.patch
reiserfsprogs-3.x.1b
28 сентября 2002 [gerard]: Глава 05 – GCC: Добавлен патч nofixincludes, чтобы предотвратить запуск этого скрипта в Главе 05. Он должен запускаться в Главе 06, для этого нужен отдельный патч.
28 сентября 2002 [gerard]: Глава 06 – Man: Удалена конструкция sed, теперь используется патч.
28 сентября 2002 [gerard]: Глава 06 – Bzip2: Удалено PREFIX=/usr из команды make install, т.к. PREFIX уже указывает на /usr по умолчанию.
28 сентября 2002 [gerard]: Глава 06 – Vim: Удалены записи о соответствии с FHS. Они не имеют смысла, т.к. Vim вообще не использует localstatedir.
28 сентября 2002 [timothy]: Применен грамматический патч от Bill Maltby. Изменен «$LFS» на «LFS», в случаях когда речь идет о переменной среды LFS.
23 сентября 2002 [timothy]: Применены различные грамматические патчи от Bill Maltby.
23 сентября 2002 [timothy]: Добавлено - опции tar (для ясности).
22 сентября 2002 [timothy]: Глава 06: Применен грамматический патч от Alex.
21 сентября 2002 [timothy]: Глава 02: Применены различные грамматические патчи от Bill Maltby.
21 сентября 2002 [timothy]: Глава 06 – Zlib: mv общую библиотеку в /lib.
20 сентября 2002 [timothy]: Глава 05 – GCC: Удалена опция –enable-threads=posix, т.к. компилятор С++ не собирается в данной главе.
18 сентября 2002 [timothy]: Глава 05 – Вступление: Удален параграф о статических ссылках, т.к. темы лучше раскрыта в разделе «Почему статические ссылки?»
18 сентября 2002 [timothy]: Глава 08 – Linux: Удалена команда cd.
18 сентября 2002 [timothy]: Глава 06 – Ncurses: Удалены старые пояснения команд mv /lib/*.a /usr/lib.
13 сентября 2002 [gerard]: Глава 06 – Shadow: Добавлено –libdir=/usr/lib к опциям скрипта configure. This way a proper libshadow.la is generated. Also changed the mv command to move all the libshadow.so* files to the /lib directory. The lib*a files are already in the /usr/lib directory.
September 13th, 2002 [gerard]: Chapter 06 – Man: Added another regex to the sed command that modifies the man.conf file. The added regex comments out the MANPATH /usr/man line which causes for duplicate results when using the whatis command
September 13th, 2002 [gerard]: Chapter 06: Added the Linux Threads Man Pages installation after the Perl installation.
September 12th, 2002 [gerard]: Chapter 06 – Create mtab link: Made the ln command an ln -sf so the existing /etc/mtab file, created by the mount command, will be removed before re-creating it as a symlink.
September 12th, 2002 [gerard]: Chapter 06 – Sh-utils: Added the sh-utils-hostname patch that supresses the build of the hostname program. This is done because the hostname program from the net-tools package is superior over this version.
September 12th, 2002 [gerard]: Chapter 06 – Gawk: Updated the Gawk patch. It also changes the DDEFPATH directory location now.
September 12th, 2002 [gerard]: Chapter 06 – Procps: Added patch that fixes a locale problem that makes top crash under certain locale settings.
September 12th, 2002 [timothy]: Chapter 04 – Creating a file system: Referenced alternative filesystems in BLFS.
September 12th, 2002 [gerard]: Removed all superfluous /usr/lib/*.so symbolic links from library installations.
September 12th, 2002 [gerard]: Upgraded to lfs-bootscripts-1.10
September 12th, 2002 [gerard]: Chapter 06 – Configure Sysvinit: Changed the sulogin line to once instead of having it respawn. This way it'll behave as expected (ie: a CTRL+D will continue instead of restart sulogin).
September 12th, 2002 [gerard]: Chapter 06 – GCC: Added the –enable-clocale=gnu option to ensure the proper locale mode is used by the C++ libraries.
September 11th, 2002 [timothy]: Preface: Grammatic changes.
September 8th, 2002 [timothy]: Chapter 06: Applied Alex's grammar changes patch.
September 7th, 2002 [timothy]: Chapter 06 – Gzip: Added gzip-1.2.4b.patch.
September 7th, 2002 [timothy]: Chapter 05 – Textutils: Added re_max_failures2 for old host systems.
September 2nd, 2002 [timothy]: Chapter 06 – Bash: Removed creation of sh symlink. Creating the bash and sh symlinks: Added /bin/bash symlink, symlinked sh to bash. Gzip, Sysvinit, Util-Linux: Shortened cp command. Makedev: Removed /bin/bash creation and removal. Man: Modified sed statement to edit less call, so SGR will work.
September 1st, 2002 [timothy]: Chapter 06 – About debugging symbols: Removed info. about stripping /static. Man: Added sed statement to prevent groff from using SGR escape sequences.
September 1st, 2002 [timothy]: Chapter 05 – Install all software as an unprivileged user: Added $CC='gcc -s' to omit the compilation of symbols in static packages.
August 30th, 2002 [timothy]: Chapter 06 – Makedev: Put rm /bin/bash after device creation. Perl: Removed information about the old patch.
August 30th, 2002 [timothy]: Chapter 05 – GCC: Re-added HAVE_GAS_HIDDEN; removed –enable-__cxa-atexit which was incorrect and not needed in this chapter; added information about the patch.
August 26th, 2002 [gerard]: Added a new Glibc patch and introducted a GCC patch.
August 26th, 2002 [gerard]: Updated to automake-1.6.3, gcc-3.2, groff-1.18, makedev-1.7, perl-5.8.0, util-linux-2.11u
August 22nd, 2002 [timothy]: Appendix: Added missing URLs to patches.
August 18th, 2002 [timothy]: Chapter 05 & 06: Changed ln -sf to ln -s wherever possible.
August 18th, 2002 [timothy]: Chapter 06 – Binutils: cp libiberty.h after install, as it is needed by certain software. Shadow: added command to remove the groups program installed by Shadow because Sh-utils installs a (better) groups program.
August 18th, 2002 [timothy]: Chapter 05 – Sh-utils: Re-added sh-utils-2.0.patch.
August 16th, 2002 [markh]: Chapter 06 – Move man-pages to just after the kernel headers installation.
August 15th, 2002 [markh]: Chapter 06 – Move the MAKEDEV installation to before glibc and remove the temporary creation of /dev/null as we don't need it anymore.
August 15th, 2002 [timothy]: Chapter 04 – Preparing a new partition: mentioned that a swap partition can be shared between the LFS and host systems, grammatic changes.
August 13th, 2002 [gerard]: Chapter 06: Removed the –with-curses switch from the Bash installation as it's unnecessary here.
August 9th, 2002 [timothy]: Updated to modutils-2.4.19, linux-2.4.19, gettext-0.11.5, binutils-2.13, textutils-2.1.
August 9th, 2002 [timothy]: Chapter 06 – Vim: changed alternative editors link from hints to BLFS.
August 8th, 2002 [gerard]: Chapter 06 – Ncurses: removed the –disable-termcap configure option. Termcap is disabled by default now, so no need for this option (left over from a long time ago when it was needed).
August 8th, 2002 [gerard]: Chapter 06 – Linux: Added the command cp include/asm-generic /usr/include. There are programs which use the files in there, as well as headers in the asm directory may be split up in the future, and put in the asm-generic.
August 8th, 2002 [gerard]: Appendix A – Gettext: added the missing program description of msgcat.
August 4th, 2002 [timothy]: Added zlib-1.1.4.
August 3rd, 2002 [timothy]: Updated to man-pages-1.52, man-1.5k, gettext-0.11.4, modutils-2.4.18.
July 29th, 2002 [timothy]: Removed Reiserfsprogs. Updated to util-linux-2.11t and file-3.39.
July 29th, 2002 [timothy]: Chapter 04 & 05 – Creating a new partition, Introduction, Why static: grammatic changes. Diffutils, Fileutils, Grep, Texinfo: set LDFLAGS=-static before configure instead of as an argument to make. GCC: appended HAVE_GAS_HIDDEN to auto-host.h.
July 29th, 2002 [timothy]: Chapter 06 – Glibc: added –disable-profile flag.
July 29th, 2002 [timothy]: Chapter 08 – Linux: added information about modules and kernel documentation.
July 29th, 2002 [timothy]: Chapter 09 – Rebooting the system: added a command to remove the static directory.
July 8th, 2002 [timothy]: Chapter 09 – Rebooting the system: Pointed to BLFS as the next step.
July 3rd, 2002 [timothy]: Chapter 06 – Sysvinit: Simplified the sed command and updated the installation description because init now prints «Sending processes» instead of «Sending all processes».
July 2nd, 2002 [markh]: Internal change – Made all patches use a &package-patch-version; entity and removed all hardcoding of patch versions.
June 30th, 2002 [timothy]: Updated to man-pages-1.51 and automake-1.6.2
June 24th, 2002 [timothy]: Chapter 06 – Shadow, Util-linux, LFS-Bootscripts: Updated package contents.
June 23rd, 2002 [timothy]: Chapter 05 & 06 – Net-tools, Perl, Texinfo, Autoconf, Automake, File, Libtool, Bin86, Vim, Linux, Bison, Less, Man-pages, Groff, Bzip2, E2fsprogs, Grep, Lilo, Modutils, Procps, Psmisc, Reiserfsprogs: Updated package contents.
June 23rd, 2002 [timothy] Chapter 05 & 06 – M4, Bzip2, File, E2fsprogs: Added «last checked against» for uniformity. GCC: Removed i686-specific programs.
June 16th, 2002 [timothy]: Chapter 06 – Gettext: Updated package contents.
June 14th, 2002 [timothy]: Chapter 05 & 06 – Binutils, Bzip2, Diffutils, Grep: Updated package contents. GCC: Updated description of c++filt.
June 13th, 2002 [timothy]: Chapter 09 – The End: Changed $LFS/etc/lfs-4.0 to $LFS/etc/lfs and put the version number inside this file.
June 12th, 2002 [timothy]: Chapter 05 – GCC: Modified the build instructions and command explanations to only build the C compiler. The C++ compiler is not needed until after the second GCC build.
June 12th, 2002 [timothy]: Chapter 06 – Shadow: grammatic changes.
June 11th, 2002 [timothy]: Chapter 05 & 06 – Gawk: Created a list of package contents and descriptions. Fileutils: Removed a confusing paragraph about the fileutils patch. GCC: Updated the package contents.
June 11th, 2002 [timothy] All software: Updated the estimated required disk space.
June 9th, 2002 [markh]: Chapter 06 – Creating Directories: Changed usr,usr/local to just usr/local as we use the -p option to mkdir which will create the usr directory anyways.
June 7th, 2002 [timothy] Chapter 06 – Reiserfsprogs: added a description for unpack.
June 7th, 2002 [timothy] Chapter 02 – How to ask for help: mentioned the FAQ.
June 6th, 2002 [markh] – Chapter 05 – Tidy up explanations following the /static change.
June 5th, 2002 [timothy]: Preface – Who would not want to read this book: applied a revised version of Scot's grammar patch.
June 5th, 2002 [timothy]: Chapter 09 – Rebooting the system, Lilo, Bootscripts: named the hint authors. Chapter 06 – Vim: updated the hint URL. Chapter 05 – Gawk: to avoid confusion, mentioned that the patch will be applied in Chapter 06.
June 3rd, 2002 [timothy] Chapter 01 – FAQ: edited to include reporting typos.
May 31st, 2002 [gerard] Chapter 05 – Findutils: Added the CPPFLAGS...re_max_failures fix which is needed on Glibc-2.1 systems.
May 30th, 2002 [markh]: Chapter 05 & 06 – Update to binutils-2.12.1.
May 30th, 2002 [markh]: Chapter 05 – Bash: Removed section about «last two commands executing anyways» because we no longer have the commands referred to there.
May 30th, 2002 [gerard]: Chapter 06 – Glibc: Replaced the various sed fixes with a regular patch.
May 30th, 2002 [gerard]: Chapter 06 – Gawk: Replaced the sed fix with a regular patch.
May 30th, 2002 [gerard]: Chapter 05 – Fileutils: Replaced the sed fix with a regular patch.
May 30th, 2002 [gerard]: Chapter 06 – Ed: Replaced the sed fix with a regular patch.
May 28th, 2002 [gerard]: Chapter 06 – Changing ownership: removed the explicit command to chown /lost+found. This is done by the first command now that proc isn't mounted anymore in chapter 5.
May 27th, 2002 [gerard]: Upgraded to ncurses-5.2-2.patch (this patch is smaller than the previously used one).
May 26th, 2002 [gerard]: Upgraded to: automake-1.6.1, bin86-0.16.3, file-3.38, gawk-3.1.1, gcc-3.1, gettext-0.11.2, modutils-2.4.16, psmisc-21 and util-linux-2.11r. Added gcc-3.1 compile fix patches for ncurses, perl and vim.
May 26th, 2002 [gerard]: Chapter 05+06 – Binutils: Removed the tooldir setting from chapter 05-binutils, moved its description to chapter 06-binutils.
May 26th, 2002 [gerard]: Chapter 05 – Gawk & Findutils: simplified the installation by removing the libexecdir modifications. We can live with a $LFS/static/libexecdir being created. The whole $LFS/static directory is temporarily anyways, so we're not all that concerned with what it looks like.
May 26th, 2002 [gerard]: Chapter 06 – Creating Directories: removed the cd / command and changed the two chmod commands to use absolute paths instead.
May 25th, 2002 [markh]: Chapter 06 – Some minor corrections dealing with removing the $LFS variable where it isn't wanted.
May 23rd, 2002 [gerard]: Implemented the keep_chap5_and_chap6_sep lfs-hint. Highlights of the change: added findutils and util-linux to chapter 5, installed everything from chapter 5 into $LFS/static and re-ordered the installation of packages in chapter 6 to prevent hard-wiring the wrong path (files from $LFS/static).
May 23rd, 2002 [gerard]: Appendix A – E2fsprogs: Added some more descriptions.
May 23rd, 2002 [gerard]: Appendix A – Bin86: Added some descriptions.
May 23rd, 2002 [gerard]: Appendix A – Flex: Added some descriptions.
May 23rd, 2002 [gerard]: Appendix A – Glibc: Added some more descriptions.
May 18th, 2002 [gerard]: Appendix A – E2fsprogs: Added some descriptions.
May 18th, 2002 [gerard]: Appendix A – Glibc: Added some more descriptions.
May 17th, 2002 [markh]: Changed all chown X.X's to chown X:X's which is less likely to run into problems (according to info chown).
May 16th, 2002 [gerard]: Chapter 01 – Mirror sites: Added http interface to FTP mirror at idge.net
May 16th, 2002 [gerard]: Appendix A – Glibc: Added some more descriptions.
May 15th, 2002 [markh]: Chapter 05 – Bzip2. Changed the instructions to deal with hard links in older distros a'la the Chapter 05 gzip instructions.