Linux From Scratch
Linux From Scratch читать книгу онлайн
Gerard Beekmans
Copyright © 1999-2002 by Gerard Beekmans
Перевод: Денис Каледин, Ник Фролов, Алекс Казанков.
Версия 4.0
Эта книга описывает процесс создания Linux системы с нуля, используя лишь исходные коды необходимого программного обеспечения.
Внимание! Книга может содержать контент только для совершеннолетних. Для несовершеннолетних чтение данного контента СТРОГО ЗАПРЕЩЕНО! Если в книге присутствует наличие пропаганды ЛГБТ и другого, запрещенного контента - просьба написать на почту [email protected] для удаления материала
Установка Man-1.5k
Приблизительное время компиляции: 0.05 SBU Необходимое дисковое пространство: 2 MB
Инсталляция Man
Для установки man выполните:
patch -Np1 -i ../man-1.5k.patch && PATH=$PATH:/usr/bin:/bin ./configure -default -confdir=/etc && make && make install
Примечание: Если вы хотите отключить последовательность выхода SGR, отредактируйте файл man.conf и добавьте к команде nroff аргумент -c.
Для получения информации по форматированию и сжатию страниц руководства (man pages), см. http://hints.linuxfromscratch.org/hints/man.txt.
Пояснения команд
PATH=$PATH:/usr/bin:/bin ./configure -default: В файлы man прописываются пути к некоторым программам. К сожалению, скрипт configure выбирает не первое (где находится программа), а последнее местонахождение программы в PATH. С помощью добавления /usr/bin:/bin к PATH для команды ./configure, вероятность использования командой man статических версий программ будет устранена.
patch -Np1 -i ../man-1.5k.patch: Данный патч убирает один из файлов в man.conf (MANPATH /usr/man), т.к. он создает избыточные результаты при использовании программ типа whatis. Для корректного отображения страниц руководства, патч также добавляет к переменной PAGER опцию –R.
Содержимое Man
Последняя проверка: версия 1.5k.
Программы
apropos, makewhatis, man, man2dvi, man2html и whatis
Описания
apropos
apropos ищет ключевые слова в базах данных, содержащих кратное описание системных команд, и отображает результат на стандартный вывод.
makewhatis
makewhatis читает страницы руководства, находящиеся в заданных частях manpath, или преформатированные страницы, находящиеся в заданных частях catpath. Для каждой страницы делается запись в базе whatis. Каждая запись состоит из имени страницы и краткого описания, разделенных дефисом. Описание извлекается, используя содержимое секции NAME страницы руководства.
man
man форматирует и выводит запрашиваемые страницы руководства.
man2dvi
man2dvi конвертирует страницу руководства в формат dvi.
man2html
man2html конвертирует страницу руководства в гипертекст.
whatis
whatis ищет ключевые слова в базах данных, содержащих кратное описание системных команд, и отображает результат на стандартный вывод. Выводятся лишь полностью совпадающие сочетания.
Зависимости Man
Последняя проверка: версия 1.5i2.
Bash: sh Binutils: as, ld Fileutils: chmod, cp, install, mkdir, rm Gcc: c11, collect2, cpp0, gcc Grep: grep Make: make Gawk: awk Sed: sed Sh-utils: echo Textutils: cat
Установка Lilo-22.2
Приблизительное время компиляции: 0.08 SBU Необходимое дисковое пространство: 3 MB
Инсталляция Lilo
Мы выбрали LILO в качестве загрузчика, потому что с ним на комфортно, однако вы можете выбрать другой. Fabio Fracassi написал руководство по установке GRUB, см. http://hints.linuxfromscratch.org/hints/grub-howto.txt.
Для инсталляции Lilo выполните:
make && make install
При компиляции этого пакета с опцией -g на некоторых компьютерах возникают проблемы. В случае если LILO не компилируется, удалите -g из значения переменной CFLAGS в файле Makefile.
В самом конце инсталляции, процедура make install выведет на экран сообщение о том, что необходимо выполнить команду /sbin/lilo для обновления. Не делайте этого, т.к. на данной стадии это бессмысленно: не существует файла /etc/lilo.conf. Завершение процесса установки LILO описано в Главе 8.
Стандартное приглашение (меню) LILO можно заменить логотипом LFS или любым другим по вашему усмотрению. См. руководство Мартина Имоберстега на http://hints.linuxfromscratch.org/hints/bootlogo.txt.
Содержимое Lilo
Последняя проверка: версия 22.2.
Программы
lilo, mkrescue и keytab-lilo.pl
Описания
lilo
lilo устанавливает загрузчик Linux, используемый для старта системы.
mkrescue
mkrescue создает загрузочную дискету, используя существующее ядро и любой инициализационный ramdisk.
keytab-lilo.pl
keytab-lilo.pl компилирует определения keytable в формат, который lilo может использовать для настройки клавиатуры во время загрузки.
Зависимости Lilo
Последняя проверка: версия 22.1.
Bash: sh Bin86: as86, ld86 Binutils: as, ld, strip Fileutils: cp, dd, ln Gcc: cc, cc1, collect2, cpp0 Make: make Sed: sed Textutils: cat
Установка Make-3.79.1
Приблизительное время компиляции: 0.22 SBU Необходимое дисковое пространство: 6 MB
Инсталляция Make
Для инсталляции Make выполните:
./configure –prefix=/usr && make && make install && chgrp root /usr/bin/make && chmod 755 /usr/bin/make
Пояснения команд
По умолчанию, /usr/bin/make принадлежит к той же группе kmem. На некоторых системах это необходимо для проверки средней загрузки системы командой /dev/kmem. Однако, для Linux-систем это не нужно, и мы удаляем make из группы kmem. Это также решает проблему игнорирования командой make переменных типа LD_LIBRARY_PATH.
Содержимое Make
Последняя проверка: версия 3.79.1.
Программы
make
Описания
make
make автоматически определяет, какие части объемной программы нуждаются в рекомпиляции, и выполняет все необходимые для этого команды.
Зависимости Make
Последняя проверка: версия 3.79.1.
Autoconf: autoconf, autoheader Automake: aclocal, automake Bash: sh Binutils: as, ld Diffutils: cmp Fileutils: chgrp, chmod, install, ls, mv, rm Gcc: cc, cc1, collect2, cpp0, gcc Glibc: getconf Grep: egrep, fgrep, grep M4: m4 Make: make Gawk: gawk Sed: sed Sh-utils: basename, echo, expr, hostname, sleep, uname Texinfo: install-info, makeinfo Textutils: cat, tr
Установка Modutils-2.4.19
Приблизительное время компиляции: 0.13 SBU Необходимое дисковое пространство: 3 MB
Инсталляция Modutils
Для инсталляции Modutils выполните:
./configure && make && make install
Содержимое Modutils
Последняя проверка: версия 2.4.16.
Программы
depmod, genksyms, insmod, insmod_ksymoops_clean, kallsyms (ссылка на insmod), kernelversion, ksyms (ссылка на insmod), lsmod (ссылка на insmod), modinfo, modprobe (ссылка на insmod) и rmmod (ссылка на insmod)
Описания
depmod
depmod управляет деревьями зависимостей загружаемых модулей.
genksyms
genksyms читает вывод от gcc -E source.c и генерирует файл, содержащий информацию о версиях.
insmod
insmod включает модуль в ядро.
insmod_ksymoops_clean
insmod_ksymoops_clean удаляет сохраненные ksym'ы и модули, не использующиеся минимум 2 дня.
kallsyms
kallsyms извлекает символы ядра для отладки.
kernelversion
kernelversion выводит номер основной версии ядра.
ksyms
ksyms показывает экспортированные символы ядра.
lsmod
lsmod показывает информацию о загруженных модулях.
modinfo
modinfo просматривает объектный файл, ассоциированный с модулем ядра, и выводит любую доступную информацию.
modprobe
modprobe использует файл зависимостей вроде Makefile, созданный depmod, для автоматической загрузки необходимых модулей из набора в предварительно заданном дереве каталогов.
rmmod
rmmod выгружает модули из ядра.
Зависимости Modutils
Последняя проверка: версия 2.4.12.
Bash: sh Binutils: ar, as, ld, ranlib, strip Bison: bison Diffutils: cmp Fileutils: chmod, install, ln, mkdir, mv, rm Flex: flex Gcc: cc, cc1, collect2, cpp0, gcc Grep: egrep, grep Make: make Sed: sed Sh-utils: basename, expr, hostname, uname Textutils: cat, tr