WebMoney: WMZ Z294115950220 WMR R409981405661 WME E134003968233 |
Visa 4274 3200 2453 6495 |
Вы собираетесь собрать LFS-систему, используя ранее установленный
дистрибутив Linux (такой как Debian, Mandrake, Red Hat или SuSE). Эта
существующая Linux-система (основа) будет использована как отправная точка,
потому, что будут необходимы некоторые программы, такие как компилятор,
компоновщик и командный интерпретатор для сборки системы. Обычно все
перечисленные средства доступны, если при установке дистрибутива Вы отметили
пункт "разработка" ("development"). В главе 3 Вы сначала создадите новый раздел Linux
native и файловую систему, место для компиляции и установки LFS-системы.
Затем в главе 4 Вы скачаете все необходимые пакеты и
патчи для LFS-системы и сохраните их в новой файловой системе. Глава 5 описывает установку ряда пакетов, которые
составят среду разработки (или инструментальные средства) с помощью которых
Вы соберете систему в главе 6. Некоторые из этих
пакетов являются рекурсивно зависимыми: к примеру, компилятору для компиляции
тоже нужен компилятор. Первым делом в главе 5 Вы соберете
инструментальные средства: Binutils и GCC. Программы из этих пакетов будут
скомпонованы статически для того, чтобы обеспечить независимость при их
использовании от основной системы. После этого Вы соберете Glibc, библиотеку
C. Glibc будет скомпилирована с использованием средств, собранных ранее.
Затем Вы соберете средства снова. На этот раз Ваши средства будут динамически
скомпонованы с использованием только что собранной Glibc. Все остальные
пакеты из главы 5 будут собраны с использованием
новых средств и динамически скомпонованы с использованием новой, независимой
от основной системы, Glibc. Когда Вы все сделаем, дальнейший процесс
установки LFS не будет более зависеть от основного
дистрибутива и запущенного ядра. Это большая работа, почему надо обязательно не зависеть от основного
дистрибутива? Техническое описание ответа на этот вопрос содержится в самом
начале главы 5, включая описание разницы между
статически и динамически скомпонованными программами. В главе 6 система LFS быдет собрана. С помощию
программы chroot (change root) Вы войдете в виртуальную среду и запустите
интерпретатор команд с использованием в качестве корневого каталога раздела
LFS. Это намного проще перезагрузки и указаний для ядра использовать раздел
LFS в качестве корневого. Помимо этого, чтобы перезагрузиться, а не
использовать chroot, надо создать полностью способную к загрузке систему, что
Вы еще не сделали к этому времени. Но главной причиной при использовании
chroot является то, что Вы можете использовать основную систему во время
сборки LFS. Пока идет компиляция, Вы можете просто переключится на другую VC
(Virtual Console) или на X (графический сервер) и продолжить
нормальное использование компьютера. В заключение установки Вы установите загрузочные скрипты в
главе 7, ядро и загрузчик в
главе 8, а глава 9 содержит некоторые моменты,
которые могут помочь по окончании прочтения книги. В конце концов Вы будете
готовы перезагрузить компьютер в Вашу новую LFS-систему. Это общее описание процесса. Более детальная информация содержится в
соответствующих главах и описаниях пакетов. Если что-то не совсем ясно
сейчас, не волнуйтесь, со временем Вы все поймете. Пожалуйста, прочтите главу 2 внимательно, она
содержит важную информацию, которую Вы должны принять к сведению перед
работой с главой 5 и последующими главами. Для облегчения понимания книги, ознакомьтесь с некоторыми соглашениями,
которые будут в ней использованы: Текст такого формата предназначен для набора в командной
строке в точности как на экране, помимо случаев, когда даны другие указания.
Также он используется в пояснительных разделах для пояснения команды, о
которой идет речь. install-info: unknown option `--dir-file=/mnt/lfs/usr/info/dir'
Текст такого формата (моноширный) показывает вывод на экран,
как результат выполнения какой-либо команды. Также он используется для
указания имени файла, например /etc/ld.so.conf. Выделение Текст такого формата имеет несколько назначений в книге. В
основном, он используется для подчеркивания наиболее важных
моментов и для примеров.
http://www.linuxfromscratch.org Текст такого формата используется для ссылок как внутри книги,
так и на внешние ресурсы: руководства, сайты, места для скачивания. Такой раздел используется, в основном длоя создания файлов
конфигурации. Первая команда говорит системе создать файл $LFS/etc/group,
наполняя его строчками до EOF. В командной строке эта секция печатается в
точности как на экране. Это версия 5.0 книги Linux From Scratch, датированная 5-м ноября 2003 г.
Если этой книге больше двух месяцев, то более новая и улучшенная версия,
возможно, уже есть на одном из зеркал из списка на
http://www.linuxfromscratch.org.
5.0: 5 ноября 2003 October 28th, 2003 [greg]: Strengthened the seds in "Locking in
Glibc" and "Re-adjusting the toolchain" sections. October 26th, 2003 [greg]: chap 6 - Glibc: Added command to
create /etc/ld.so.conf to match chap 5 Glibc. Closes bug 700. October 23rd, 2003 [gerard] chap 9 - The End: Changed the
/etc/lfs filename to /etc/lfs-release
to be more consistent with other distributions out there. October 23rd, 2003 [alex]: Changed most of the "chap"
references to proper "xref" cross references. October 22nd, 2003 [alex]: chap 6 - Gawk and Shadow: Adjusted
the text. And added some markup elsewhere. October 22nd, 2003 [alex]: chap 6 - Entering the chroot
environment: Dropped the set +h command,
as it is pointless there: it's redone several sections later. October 15th, 2003 [greg]: chap 9: Reworked final strip command.
Relocated paragraphs about directory removal from chap 6. October 14th, 2003 [greg]: chap 8 - Making the LFS system
bootable: Expanded Grub details and added a warning. October 14th, 2003 [alex]: Appendix A - Updated the contents of
Perl and Procps. October 14th, 2003 [alex]: chap 4 and 5 - Added a suggestion
to use $LFS/sources as the working and storage place. October 13th, 2003 [greg]: chap 9 - Rebooting the system:
Reworked umount commands. October 11th, 2003 [alex]: Adapted the required disk space
values and SBUs, as posted by Bruce Dubbs. October 11th, 2003 [alex]: chap 5 - Toolchain technical
notes: Added and changed some markup. October 9th, 2003 [gerard]: Upgraded to lfs-bootscripts-1.12. October 9th, 2003 [greg]: Performed internal markup reworking to fix
an extraneous whitespace problem in "tidy generated" web site pages.
Essentially replace all occurrences of <para><screen> with
<screen> (and the matching closing tags). October 9th, 2003 [alex]: chap 6 - Basic Networking: Moved
one half to the Lfs-Utils section, the other half to Perl. October 8th, 2003 [alex]: chap 8 - Making bootable: Adapted
the style of the screens, and reworded some paragraphs. October 8th, 2003 [alex]: Removed a series of unused entities. October 7th, 2003 [jeremy]: Added notes to the linking tests in
chap 5 and 6 stating that blank output is a bad thing. October 7th, 2003 [alex]: Changed the patch entities to contain
the full filename instead of just the version number. October 7th, 2003 [jeremy]: chap 1 - Added a note regarding
#LFS-support on IRC. October 7th, 2003 [greg]: Preface: Add note about the Essential
Pre-Reading Hint. Closes Bug 585. October 6th, 2003 [alex]: Changed the style of the Contents
subsections in chaps 5 and 6 and Appendix A. October 6th, 2003 [greg]: Simplified seds in "Locking in Glibc" and
"Re-adjusting the toolchain" sections. Rearranged "How things are going to
be done" section. October 5th, 2003 [greg]: chap 5: Added new section
"Toolchain technical notes". Integrated and scaled back the old
"Why we use static linking" section. Closes Bug 658. October 4th, 2003 [alex]: Minor rewordings and additions of
markup here and there. October 4th, 2003 [greg]: chap 5 - Binutils Pass 1: Added
extra LDFLAGS to ensure static rebuild of ld. October 2nd, 2003 [greg]: chap 6: Reinstated
INSTALL=/tools/bin/install for linker adjustment command due to
issues on hosts where a ginstall symlink exists. This renders the
"install" symlinks redundant, so removed those too. October 2nd, 2003 [greg]: chap 6 - Shadow: Enabled MD5
passwords. Closes Bug 600. September 27th, 2003 [greg]: chap 5 - Expect: Tweaked install
so that redundant scripts are not installed. chap 6 - Creating
essential symlinks: Removed redundant links. chap 6 - man:
Removed PATH, closes Bug 574. September 27th, 2003 [greg]: Added Tcl, Expect and DejaGnu items
to Appendix A. Closes Bug 661. September 26th, 2003 [jeremy]: Added new workaround for
the devpts problems. September 24th, 2003 [greg]: Various changes across the board
addressing Bug 675. September 24th, 2003 [alex]: Appendix A - Changed the style of
the short descriptions, and the content of most of them too. September 22nd, 2003 [greg]: chap 8 - Creating the /etc/fstab
file: Made mounting devpts the default. September 22nd, 2003 [jeremy]: Added Net-tools patch to fix
mii-tool compilation. September 22nd, 2003 [jwrober]: chap 5 - Updated the Why
Static page to more accurately represent the difference between
statically and dynamically linked binaries. Thanks to Ian Molton for
pointing this out. Fixes Bug 602. September 22nd, 2003 [jeremy]: Removed the make command from
DejaGnu, since it performs nothing. September 22nd, 2003 [jeremy]: Removed the -k from Tcl's make
check, since it's not expected to have failures anymore September 22nd, 2003 [jeremy]: Changed the reference to the man
hint to a pointer to BLFS. September 22nd, 2003 [jeremy]: Added a note to remember to mount
devpts if you exit and re-enter chroot. September 22nd, 2003 [jeremy]: Removed make check from Patch and
Diffutils, since these tests perform no actions. September 22nd, 2003 [greg]: chap 5 - Setting up the
environment: Added unset CC CXX CPP LD_LIBRARY_PATH LD_PRELOAD to
.bash_profile to stop accidental build breakage. September 20th, 2003 [greg]: chap 5 - GCC Pass 2: Updated to
gcc-3.3.1-specs-2.patch. Ncurses: added --enable-overwrite and
description. September 19th, 2003 [jeremy]: Corrected bash tags for proper
use of the +h flag to bash. September 19th, 2003 [jwrober]: Various updates to the
acknowledgments page. September 18th, 2003 [jeremy]: chap 5 - GCC Pass 2: Added
some extra comments regarding the 3 tarballs to unpack. September 17th, 2003 [greg]: chap 6 - GCC-2.95.3: Added
rationale notes. September 17th, 2003 [jwrober]: Updated the acknowledgments page
to match the website. September 17th, 2003 [jeremy]: Upgraded File to 4.04. September 17th, 2003 [jeremy]: chap 6 - Changed 2 of the
occurrences of exec bash --login to include the +h directive. September 17th, 2003 [greg]: chaps 5 and 6 - Locking in Glibc
and Re-adjusting the toolchain: Do "make -C ld install" instead of
"make -C ld install-data-local" to install a whole new linker
instead of just the new ldscripts. September 17th, 2003 [alex]: Normalized the spelling of 'Tcl'
and 'DejaGnu', following their own documentation. September 17th, 2003 [alex]: Properly alphabetized the
dependencies. September 16th, 2003 [alex]: Finally updated the dependencies
for the new Coreutils. September 16th, 2003 [greg]: chaps 5 and 6 - Locking in Glibc
and Re-adjusting the toolchain: Added sanity checks. September 16th, 2003 [greg]: chaps 5 and 6 - Binutils, GCC,
and Glibc: Added notes on the test suites. September 15th, 2003 [alex]: Corrected several typos and some
inconsistencies. September 14th, 2003 [greg]: chap 6 - Revised chroot command:
Removed no longer needed set +h. September 14th, 2003 [alex]: Fixed some typos, and added some
markup. Dropped the removal of program files from the Stripping
section in chap 5. September 14th, 2003 [greg]: chap 6 - Create essential
symlinks: Add symlink /usr/lib/libgcc_s.so.1 to allow GCC abi_check
to run. Future NPTL needs this as well. September 13th, 2003 [jwrober]: Added PLFS hint text to the page
in chap 6 for creating passwd and group: bug 596. September 13th, 2003 [jwrober]: Updated the "How things are
going to be done" page to include more of the PLFS hint's text. September 13th, 2003 [jwrober]: Preface - Merged whoread and
whonotread into a single audience page. September 13th, 2003 [greg]: chap 2 - Added new section about
the test suites. September 12th, 2003 [jeremy]: chap 5 - Ncurses: Added
description for the --without-ada configure switch. September 12th, 2003 [jeremy]: chap 5 - Gawk: Added the test
suite September 12th, 2003 [jeremy]: chap 5 - Grep: Added
descriptions of configure switches courtesy of Anderson Lizardo September 12th, 2003 [gerard]: Removed /usr/lib/locale directory
creation - it's created during chap 6 - Glibc where it's more
relevant. September 11th, 2003 [jwrober]: chap 5 - Fixed GCC Pass 2
specs patch text to be more vague, but in actuality more accurate -
provided by Anderson Lizardo. September 11th, 2003 [jwrober]: chap 5 - Grammar fix in Tcl
install directions provided by Anderson Lizardo. September 11th, 2003 [jwrober]: chap 5 - Small textual change
in the locking in Glibc page for /lib/ld.so.1 provided by Anderson
Lizardo. September 11th, 2003 [jeremy]: Added bootloader setup to chap
8, after the addition of Grub to the book. September 11th, 2003 [gerard]: Removed Bin86 and LILO and
replaced it with Grub. September 11th, 2003 [jeremy]: Dropped non-toolchain tests to
optional actions. Added a note to use the Wiki for failed
tests. September 11th, 2003 [jeremy]: Added Bison patch, backported
from CVS, to fix pwlib compilation problems September 11th, 2003 [jeremy]: Added Greg's patch to GCC to
suppress the installation of libiberty, and changed Binutils to
allow its libiberty to stay. September 11th, 2003 [jeremy]: Added caution tags around the
reminder to not delete the Binutils source and build directories in
chap 5. September 11th, 2003 [jeremy]: Added new perl-libc-3 patch from
Anderson Lizardo September 9th, 2003 [jwrober]: Fixed the Findutils package
download link on the packages page closing bug 578. September 9th, 2003 [jeremy]: chap 6 - GCC 2.95.3: Removed
compilation of C++, added Zack's return-type patch. September 9th, 2003 [jeremy]: chap 6 - Coreutils: Added
coreutils-5.0-hostname-2.patch, which suppresses the build of the
hostname binary, and also suppresses its check. September 9th, 2003 [jeremy]: Added some notes regarding failed
tests to Glibc and DejaGnu. September 9th, 2003 [jeremy]: Glibc - Added commands to both
chap 5 and 6 to include minimum locales necessary for
checks. September 9th, 2003 [jeremy]: chap 6 - Removed Zlib's munging
of CFLAGS in favor of a note to add -fPIC. September 8th, 2003 [matt]: chap 5 - Fixed the rm command
that deletes unneeded documentation from /tools/share. September 6th, 2003 [matt]: chap 6 - Removed a reference to
"the static" directory in the intro. September 6th, 2003 [jeremy]: chap 4 - Updated download
locations for some packages. September 5th, 2003 [jeremy]: chap 5 - GCC Pass 2: Corrected
the make check error explanation September 5th, 2003 [jeremy]: chap 6 - Makedev: Changed the
default device creation to generic-nopty, because we now use devpts
by default. September 5th, 2003 [jeremy]: chap 6 - GCC: Corrected wording
to reflect the removal of the /usr/lib/cpp symlink. September 5th, 2003 [jeremy]: Corrected perl libc patch to -2,
changing the old /stage1 structure to /tools September 5th, 2003 [matt]: chap 6 - Updated GCC specs patch
and upgraded to man-1.5m2 September 4th, 2003 [jeremy]: chap 6 - Creating Directories:
Eliminated the creation of /usr/tmp - Closes bug 176. September 4th, 2003 [jeremy]: chap 6 - Mounting Proc: Added
mounting the devpts filesystem into chroot here. Closes bug
533. September 4th, 2003 [jeremy]: chap 6 - Mounting Proc: Added a
warning at the end regarding checking that proc is still mounted if
you stop and restart the lfs process. September 4th, 2003 [jeremy]: chap 6 - Gzip: Altered text to
better explain the reason behind the sed command used in the gzip
installation. Closes bug 551. September 4th, 2003 [jeremy]: chap 4 - Downloading patches:
Added a note regarding Tushar's patches project, and a link to the
patches home page. September 3rd, 2003 [matt]: Fixed issue with Util-linux not
utilizing headers and libraries installed in /stage1. September 3rd, 2003 [matt]: Removed "rm /bin/pwd" instruction
from chap 6 kernel-headers installation as the link is still
required by Glibc's installation. September 2nd, 2003 [alex]: Adjusted all the SBUs from the
values posted by Jeremy. September 2nd, 2003 [alex]: Finally got around to renaming
/stage1 to /tools. September 2nd, 2003 [alex]: Merged several of the main book
structure files. September 2nd, 2003 [alex]: Alphabetized download lists, added
note to Tcl instructions. September 2nd, 2003 [alex]: Reworded Organization, $LFS and SBUs
sections. September 1, 2003 [jeremy] - chap 6 - Groff - Added note
about choice of A4 or letter for the PAGE variable. September 1, 2003 [jeremy] - Added in shadow newgrp patch from
Greg Schafer August 31, 2003 [jeremy] - chap 6 - Inetutils - added the
--disable-whois and --disable-servers flags August 31, 2003 [jeremy] - Added in Greg's new instructions for
GCC 3.3.1 with respect to the fixincludes process. Also added extra
verbiage to the Locking in Glibc and GCC Pass 2 pages on the
fixincludes process. August 31st, 2003 [alex]: Reworded some paragraphs, added
missing markup, and rearranged the changelog. August 31st, 2003 [alex]: Wrapped the 'Last checked' lines in
parentheses. Several other small retouches. August 30, 2003 [jeremy] - Updated fix-includes patch to GCC
3.3.1 August 29, 2003 [jeremy] - Glibc - updated instructions with the
sscanf patch from patches. August 29, 2003 [jeremy] - Updated GCC to version 3.3.1,
including fixes based on Zack's mini-hint for GCC 3.3, and patches
from his docs. August 29th, 2003 [alex]: Removed obsolete Netkit-base,
Fileutils, Sh-utils, and Textutils files. August 29th, 2003 [alex]: Added some missing markup, changed a
few /static's to /stage1's. August 29th, 2003 [alex]: chap 06 - Added all the missing
text lines before the make checks, and reworded other lines. August 28, 2003 [matt] - Updated packages to linux-2.4.22,
man-pages-1.60, expect-5.39.0, findutils-4.1.20 and tcl-8.4.4 August 28, 2003 [jeremy] - New bash-2.05b-2.patch file to
include the 7 patches from ftp.gnu.org August 28th, 2003 [alex]: chap 06 - Re-adjusting toolchain:
Added a forgotten backslash. August 28th, 2003 [alex]: Fixed a few typos and added some
missing markup. August 28th, 2003 [alex]: chap 06 - Binutils and GCC:
Integrated text from the pure-lfs hint. August 27, 2003 [jeremy] - chap 06 - Inetutils: Added
--sysconfdir=/etc --localstatedir=/var and moved the ping binary
from /usr/bin to /bin August 27th, 2003 [alex]: chap 06 - Glibc: Integrated text
from the pure-lfs hint. August 26, 2003 [jeremy] - chap 07 - Creating /etc/hosts:
Changed www.mydomain.org to <value of
HOSTNAME>.mydomain.org August 26th, 2003 [alex]: chap 06 & 08 - Moved the
installation of the kernel manpages from chap 6 to 8. August 26, 2003 [jeremy] - chap 04 - Mounting the LFS
partition: Added text regarding mounting with too restrictive
permissions. August 26, 2003 [jeremy] - chap 06 - Creating Directories:
Added the creation of the /dev/shm directory. August 26, 2003 [jeremy] - chap 08 - Creating fstab: Added
the mount of tmpfs filesystem to /dev/shm. August 26, 2003 [jeremy] - chap 08 - Kernel Installation:
Added a reminder to compile tmpfs support into the kernel. August 25th, 2003 [alex]: chap 06 - Rewrote the installation
text of Shadow and Util-Linux while correcting some typos. August 25th, 2003 [alex]: chap 05 & 06 - Made the
"Locking in" and "Re-adjusting" look similar. August 24th, 2003 [alex]: chap 04 - Merged the many little
files into one file. Gave packages and patches a separate page. August 17th, 2003 [alex]: chap 05 - From Bash to Perl: put
text in between commands. Added a section on stripping unneeded
symbols to decrease the size of the tools. August 16th, 2003 [alex]: chap 05 - From Make to Texinfo: put
text in between commands. August 11th, 2003 [alex]: chap 05 - From Binutils Pass 1 to
Findutils: several small textual adjustments. For the second passes
not giving the contents and dependencies. August 11th, 2003 [alex]: chap 04 - Listed separate core,
g++, and test suite tarballs for GCC. August 11th, 2003 [alex]: chap 04 - Suppressed the mention of
a wget script. August 9th, 2003 [alex]: chap 05 - Binutils Pass 2 and GCC
Pass 2: integrated some text from the pure-lfs hint. August 8th, 2003 [alex]: chap 05 - Tcl, Expect, and DejaGnu:
added some text. August 6th, 2003 [gerard]: Applied Alex Groenewoud's patch that
adds Appendix B, providing a list of all installed programs and
libraries plus references to the installation pages. July 30th, 2003 [gerard]: chap 06 - Vim: Changed the way the
global vimrc and gvimrc
locations are defined. July 30th, 2003 [gerard]: chap 05 - Binutils Pass 2: removed
the lib patch, it's no longer needed with the binutils-2.14
upgrade. July 30th, 2003 [gerard]: chap 05 Binutils Pass 1: Added make configure-host. July 30th, 2003 [gerard]: Upgraded to binutils-2.14,
linux-2.4.21, expect-5.38.4, gawk-3.1.3, texinfo-4.6,
util-linux-2.12, man-pages-1.58, lfs-utils-0.3, vim-6.2,
gettext-0.12.1, automake-1.7.6, file-4.03, e2fsprogs-1.34,
procps-3.1.11, psmisc-21.3 June 3rd, 2003 [gerard]: chap 06 - Gawk: removed the removal
of /bin/awk. This symlink isn't created
anymore. May 21st, 2003 [gerard]: chap 06 - GCC-2.95.3: Added
/opt/gcc-2.95.3/lib to the /etc/ld.so.conf file so the libraries
can be found during run-time. May 21st, 2003 [gerard]: chap 05 - Gzip: Simplified
commands. May 21st, 2003 [gerard]: chap 05 - Bzip2: Simplified
commands. May 21st, 2003 [gerard]: chap 06 - Shadow: Added the grpconv command to complement the
enabling of all shadowed passwords. May 21st, 2003 [winkie]: chap 06 - Creating Files: All those ln commands can be made into a few
long ln commands. May 21st, 2003 [winkie]: chap 05 - Installing Glibc: Create
an ld.so.conf file before building Glibc, to prevent an (harmless)
error. May 21st, 2003 [winkie]: chap 06 - Installing Glibc: Don't
bother doing the 'exec /stage1/bin/bash' stuff, it doesn't do
anything now that we use PLFS. May 21st, 2003 [winkie]: chap 05 & 06 - Installing
Coreutils: Only test the non-root stuff in chap 05, but test
everything in chap 06. May 21st, 2003 [winkie]: chap 05 - Installing Expect: Don't
bother passing anything more than --prefix=/stage1. None of it is
needed. May 16th, 2003 [gerard]: chap 06: Net-tools: Changed make install to make
update. May 15th, 2003 [timothy]: chap 05: Installing Patch: Added CPPFLAGS=-D_GNU_SOURCE before ./configure to fix patch build on
PPC. May 13th, 2003 [gerard]: chap 06: When we exec /path/to/bash --login, also run set +h to keep the hashing option turned off.
Fixes bug #531 May 13th, 2003 [gerard]: chap 06 - Basic Network: Changed the
single quotes to double quotes in the echo command. Without it,
$(hostname) won't expand which defeats the sole purpose of this
command - to make Perl's hostname check work. May 13th, 2003 [winkie]: Removed all occurrences &&.
Updated bug syntax. Added "make check/test" where necessary in
chap 6. May 13th, 2003 [winkie]: chap 06: Applied "Changing
ownership" patch to polish the text. Closes bug #511. May 13th, 2003 [winkie]: chap 06: Applied "Configuring system
components" patch to polish the text. Closes bug #510. May 13th, 2003 [gerard]: chap 06: Removed Tcl, Expect and
DejaGnu. Nothing uses this once past GCC in chap 6. The versions
in /stage1/bin do the job just fine. May 13th, 2003 [winkie]: chap 06 - Installing Shadow:
Touching the /usr/bin/passwd file before installation. Not doing so
results in Shadow thinking passwd will be in /bin/passwd. May 13th, 2003 [winkie]: chap 06 - Installing Procps: Remove
the /lib/libproc.so symlink. No package outside of Procps itself
uses this library, and none should. May 13th, 2003 [winkie]: chap 06 - Installing Net-tools: Run
"make config" before doing make. Fixes bugs #462 and #497. May 13th, 2003 [gerard]: chap 06 - Ncurses: Added the vsscanf
patch. May 12th, 2003 [gerard]: chap 05 - Gzip: Removed make check. It doesn't do anything. May 12th, 2003 [winkie]: chap 05 - Installing Texinfo: Don't
install the texmf data. It's not used by anything. May 12th, 2003 [winkie]: chap 05 & 06 - Installing
Ncurses: In chap 6, symlink creation has been updated to include
libcurses.*, and libncurses++.a has its properties changed to 644.
chap 5 doesn't need any libcurses.* so those are removed. May 12th, 2003 [gerard]: chap 06 - Basic Network: Added
$(hostname) to /etc/hosts, without it Perl's hostname test doesn't
pass. May 12th, 2003 [gerard]: chap 06 - Installing GCC: Don't try
to remove /usr/include/libiberty.h. It isn't installed in the first
place. May 12th, 2003 [winkie]: Upgraded to findutils-4.1.7,
gzip-1.3.5, and tar-1.13.25. May 12th, 2003 [winkie]: chap 05 - Installing Perl: Added
extra commands to build certain modules into Perl. This is to
accommodate the Coreutils "make check". Partially fixes bug
#528. May 12th, 2003 [winkie]: chap 05 - Installing Gzip: Nothing
in chap 6 checks for or uses the uncompress command, therefore
we shouldn't create it. May 12th, 2003 [winkie]: chap 05 - Installing Bzip2: Running
"make" implies "make check", therefore there is no reason
whatsoever for us to run it manually. May 12th, 2003 [winkie]: chap 05 - Installing Lfs-Utils:
Removed. The only package that checks for mktemp before it is
installed is GCC, and that's only for gccbug. May 11th, 2003 [gerard]: chap 06 - GCC-2.95.3: Added
--enable-threads=posix as well to complete the C++ addition. May 11th, 2003 [gerard]: chap 06 - GCC-2.95.3: Added
--enable-languages=c,c++ to fix that GCC's version bug with regards
to -Wreturn-type. Fixes bug #525 May 11th, 2003 [gerard]: chap 05 - Bash: Removed the
--without-bash-malloc configure option. May 11th, 2003 [gerard]: Updated to gcc-3.2.3-specs-4.patch. May 11th, 2003 [winkie]: chap 06 - Setting up Basic
Networking: Added section. Create a basic /etc/hosts files, and
create /etc/services and /etc/protocols from IANA. Fixes bugs #359
& #515. May 11th, 2003 [winkie]: Upgrading to lfs-utils-0.2.2. This adds
two files needed for proper networking configuration. May 11th, 2003 [winkie]: Removed Netkit-base 0.17. Added
Inetutils 1.4.2. Fixes bug #490. May 11th, 2003 [winkie]: Added lfs-utils-0.2.1. Fixes bug
#493. May 11th, 2003 [winkie]: chap 06 - Installing Ncurses: Fix up
the symlinks so that they follow suit of other library symlinks. No
more weirdness here. May 11th, 2003 [winkie]: chap 06 - Installing Procps: Removed
XSCPT="" cruft and its corresponding paragraph. This stuff isn't
needed anymore. May 11th, 2003 [winkie]: chap 06 - Installing Ncurses: Pass
--without-debug to the configure script. It seems to have gotten
lost at some point. May 11th, 2003 [timothy]: chap 5 & 6 - Installing Bzip2,
Installing Zlib: Modified build commands per bug #524. May 11th, 2003 [winkie]: chap 06 - Installing Glibc: Install
the linuxthreads man pages, too. This got lost somewhere. May 11th, 2003 [winkie]: chap 06 - Installing Grep: Added
--with-included-regex to prevent Grep from using Glibc's somewhat
bugged regex. May 11th, 2003 [winkie]: chap 06 - Installing Coreutils: Fix
some functionality of the uname command with a patch. May 11th, 2003 [winkie]: chap 06 - Installing Net-tools: Just
do regular old "make install" instead of "make update". The latter
works fine now. May 11th, 2003 [winkie]: chap 06 - Installing GCC: After
installation, remove /usr/include/libiberty.h. It is not used
outside of the GCC build tree. May 11th, 2003 [winkie]: Upgraded to Bash 2.05b and added its
patch. May 11th, 2003 [winkie]: chap 06 - Installing Zlib: Apply a
patch to fix the buffer overflow in gzprintf(). May 11th, 2003 [winkie]: chap 06 - Configuring system
components: Moved the creation of the btmp, wtmp, lastlog and utmp
to just before Shadow, so that they are detected at their proper
locations. May 10th, 2003 [winkie]: chap 06 - Installing Automake: Run
"make" before installing. This is needed now with the newer
releases of Automake. May 10th, 2003 [winkie]: chap 06 - Installing Vim: Removed
the patch. It hasn't been required since GCC 3.2.1. May 10th, 2003 [winkie]: chap 06 - Creating the mtab file:
Removed. Mounting /proc has the side effect of creating /etc/mtab
for us. May 10th, 2003 [winkie]: chap 06 - Installing Make: Removed
modification of /usr/bin/make file. It is no longer mistakenly
installed with strange ownership or permissions. May 10th, 2003 [winkie]: chap 06 - Installing Glibc: Made
/etc/localtime a file instead of a symlink. The symlink method
breaks on systems where /usr is a separate partition. May 10th, 2003 [winkie]: chap 06 - Installing E2fsprogs:
Removed install-info commands for e2fsprogs. The "make install"
target handles this for us. May 10th, 2003 [gerard]: Removed all CFLAGS and LDFLAGS
variables where they are not essential (so, not including static
binutils, GCC and compiling Zlib with -fPIC). May 10th, 2003 [gerard]: chap 05 - Binutils (pass1, pass2),
locking in Glibc and adjusting toolchain: Changed tooldir to
/stage1 (likewise we use tooldir=/usr in chap 6). May 10th, 2003 [gerard]: chap 05 - Kernel headers: Removed
the usage of cp -H because there are
distributions out there that do not know about the -H option. May 10th, 2003 [gerard]: New gcc-3.2.3-specs-3.patch. May 10th, 2003 [gerard]: chap 06 - Adjusting toolchain: Made
it more architecture-independent. May 10th, 2003 [gerard]: chap 05 - Locking in Glibc: Made it
more architecture-independent. May 7th, 2003 [gerard]: Removed GCC No Debug patches. No longer
assume gcc-core and gcc-g++ packages are downloaded, so added
appropriate --enable-languages options. May 7th, 2003 [gerard]: Removed chap 6 - Glibc-Pass2. It's
not needed anymore with the pure-lfs integration. May 7th, 2003 [gerard]: Downgraded to flex-2.5.4a again. Newer
versions just don't work properly. May 5th, 2003 [gerard]: Removed zlib installation from chap 5
(its inclusion was a mistake). May 5th, 2003 [gerard]: Various bug fixes that were introduced
during the pure-lfs integration. May 2nd, 2003 [gerard]: Upgraded to: automake-1.7.4,
e2fsprogs-1.33, file-4.02, flex-2.5.31, gawk-3.1.2, gcc-3.2.3,
glibc-2.3.2, grep-2.5.1, groff-1.19, less-381, libtool-1.5,
man-1.5l, man-pages-1.56, modutils-2.4.25, procps-3.1.8, sed-4.0.7,
sysvinit-2.85, texinfo-4.5, util-linux-2.11z May 2nd, 2003 [gerard]: Removed fileutils-4.1, sh-utils-2.0,
textutils-2.1 (all replaced with coreutils-5.0). May 2nd, 2003 [gerard]: Added binutils-2.13.2-libc.patch,
coreutils-5.0, dejagnu-1.4.3, expect-5.38, gawk-3.1.2, gcc-2.95.3,
tcl-8.4.2 Release of version 4.1 on April 28th, 2003. Если в процессе построения Вашей системы LFS Вы обнаружили ошибку, у
Вас возникли вопросы, или Вы считаете, что в книгу вкралась опечатка, то
просмотрите в первую очередь ЧАВО (ЧАсто задаваемые ВОпросы) на
http://www.linuxfromscratch.org/faq. Множество членов сообщества LFS используют IRC-сервер сообщества. Перед
тем как использовать этот вид поддержки, проверьте LFS ЧАВО и архивы списков
рассылки. Возможно, на Ваш вопрос уже есть ответ. Вы сможете найти IRC-сервер
на irc.linuxfromscratch.org, порт 6667. Канал поддержки
называется #LFS-support. На linuxfromscratch.org есть несколько списков рассылки,
используемых разработчиками проекта LFS. Эти списки включают, помимо
прочего, список разработчиков и список поддержки. За информацией о доступных списках рассылки, подписки на них, просмотра их
архивов и т. п. загляните на
http://www.linuxfromscratch.org/mail.html. Все списки рассылки с linuxfromscratch.org также доступны в
виде NNTP-сервера. Все сообщения, отправленные в списки рассылки, копируются
в соответствующую группу новостей. Сервер новостей доступен по адресу news.linuxfromscratch.org. Проект LFS имеет ряд зеркал в сети. Список зеркал можно увидеть на
http://www.linuxfromscratch.org
. Пожалуйста, направляйте все Ваши вопросы и комментарии в списки
рассылки LFS (см. выше). Но если Вы хотите обратиться лично к Джерарду Бикмансу, то пишите на
gerard@linuxfromscratch.org.
Я хочу поблагодарить следующих людей и организации за их вклад в развитие
проекта Linux From Scratch. Никто не забыт, и ничто не забыто... Jeremy Polen
<jpolen@rackspace.com>: us2.linuxfromscratch.org mirror.
Глава 1. Вступление
Как Вы будете работать
Соглашения, используемые в книге
./configure --prefix=/usr
cat > $LFS/etc/group << "EOF"
root:x:0:
bin:x:1:
......
EOF
Список изменений
Ресурсы
ЧАВО
IRC
Списки рассылки
Сервер новостей
Зеркала сайта
Контактная информация
Благодарности
Члены группы проекта
Переводчики
Поддержка зеркал
Материальная поддержка
Члены команды формирования
Найди своих коллег! |