Linux From Scratch
Добавить в закладки К обложке
- Пролог - Страница 1
- Кому эта книга будет интересна - Страница 2
- Кому будет неинтересно читать эту книгу - Страница 3
- Организация - Страница 4
- Часть 1 – Вступление - Страница 5
- Часть 2 – Установка базовой системы LFS - Страница 6
- Часть 3 – Приложения - Страница 7
- Часть I – Вступление - Страница 8
- Как мы будем работать - Страница 9
- Условные обозначения, используемые в книге - Страница 10
- Версия книги - Страница 11
- Зеркала - Страница 12
- Changelog - Страница 13
- Списки рассылки и архивы - Страница 18
- Сервер новостей - Страница 20
- FAQ - Страница 21
- Как с нами связаться - Страница 22
- Глава 2. Важная информация - Страница 23
- Про SBU - Страница 24
- Где хранить загруженные программы - Страница 25
- Как инсталлировать программы - Страница 26
- Поддерживаемые платформы - Страница 27
- Как попросить о помощи - Страница 28
- II. Часть II – Установка системы LFS - Страница 29
- Необходимые пакеты - Страница 30
- Глава 4. Готовим новый раздел - Страница 31
- Создаем новый раздел - Страница 32
- Создаем файловую систему на новом разделе - Страница 33
- Монтируем раздел - Страница 34
- Глава 5. Подготовка системы LFS - Страница 35
- Почему мы используем статические ссылки? - Страница 36
- Создаем директорию $LFS/static - Страница 37
- Установка всех компонентов в режиме непривилегированного пользователя - Страница 38
- Установка Bash-2.05a - Страница 39
- Установка Binutils-2.13 - Страница 40
- Установка Bzip2-1.0.2 - Страница 42
- Установка Diffutils-2.8.1 - Страница 43
- Установка Fileutils-4.1 - Страница 44
- Установка Findutils-4.1 - Страница 46
- Установка Gawk-3.1.1 - Страница 47
- Установка GCC-3.2 - Страница 48
- Установка Grep-2.5 - Страница 50
- Установка Gzip-1.2.4a - Страница 51
- Установка Make-3.79.1 - Страница 52
- Установка Patch-2.5.4 - Страница 53
- Установка Sed-3.02 - Страница 54
- Установка Sh-utils-2.0 - Страница 55
- Установка Tar-1.13 - Страница 56
- Установка Texinfo-4.2 - Страница 57
- Установка Textutils-2.1 - Страница 58
- Установка Util-linux-2.11u - Страница 59
- Глава 6. Установка основных компонентов системы - Страница 60
- Отладочные символы - Страница 61
- Вход в среду chroot - Страница 62
- Изменение прав - Страница 63
- Создание директорий - Страница 64
- Монтирование файловой системы proc - Страница 65
- Создание символической ссылки mtab - Страница 66
- Создание символических ссылок bash и sh - Страница 67
- Создание файлов passwd и group - Страница 68
- Создание устройств (Makedev-1.7) - Страница 69
- Установка Linux-2.4.19 - Страница 70
- Установка Man-pages-1.52 - Страница 72
- Установка Glibc-2.2.5 - Страница 73
- Установка Zlib-1.1.4 - Страница 77
- Установка Findutils-4.1 - Страница 78
- Установка Gawk-3.1.1 - Страница 79
- Установка Ncurses-5.2 - Страница 80
- Установка Vim-6.1 - Страница 81
- Установка Bison-1.35 - Страница 82
- Установка Less-374 - Страница 83
- Установка Groff-1.18 - Страница 84
- Установка Textutils-2.1 - Страница 86
- Установка Sed-3.02 - Страница 87
- Установка Flex-2.5.4a - Страница 88
- Установка Binutils-2.13 - Страница 89
- Установка Fileutils-4.1 - Страница 91
- Установка Sh-utils-2.0 - Страница 92
- Установка Gettext-0.11.5 - Страница 93
- Установка Net-tools-1.60 - Страница 94
- Установка Perl-5.8.0 - Страница 95
- Установка руководства по потокам Linux, вер. 2.2.5 - Страница 96
- Установка M4-1.4 - Страница 97
- Установка Texinfo-4.2 - Страница 98
- Установка Autoconf-2.53 - Страница 99
- Установка Automake-1.6.3 - Страница 100
- Установка Bash-2.05a - Страница 101
- Установка File-3.39 - Страница 102
- Установка Libtool-1.4.2 - Страница 103
- Установка Bin86-0.16.3 - Страница 104
- Установка Bzip2-1.0.2 - Страница 105
- Установка Ed-0.2 - Страница 106
- Установка Kbd-1.06 - Страница 107
- Установка Diffutils-2.8.1 - Страница 108
- Установка E2fsprogs-1.27 - Страница 109
- Установка Grep-2.5 - Страница 110
- Установка Gzip-1.2.4a - Страница 111
- Установка Man-1.5k - Страница 112
- Установка Lilo-22.2 - Страница 113
- Установка Make-3.79.1 - Страница 114
- Установка Modutils-2.4.19 - Страница 115
- Установка Netkit-base-0.17 - Страница 116
- Установка Patch-2.5.4 - Страница 117
- Установка Procinfo-18 - Страница 118
- Установка Procps-2.0.7 - Страница 119
- Установка Psmisc-21 - Страница 120
- Установка Shadow-4.0.3 - Страница 121
- Установка Sysklogd-1.4.1 - Страница 123
- Установка Sysvinit-2.84 - Страница 124
- Установка Tar-1.13 - Страница 125
- Установка Util-linux-2.11u - Страница 126
- Установка LFS-Bootscripts-1.10 - Страница 128
- Конфигурация основных программ - Страница 129
- Глава 7. Конфигурация загрузочных скриптов - Страница 131
- Как взаимодействует процесс загрузки со скриптами? - Страница 132
- Настройка скрипта setclock - Страница 133
- Что надо для загрузки loadkeys скриптов? - Страница 134
- Настройка скрипта sysklogd - Страница 135
- Конфигурация скриптов localnet. - Страница 136
- Cоздание файла /etc/hosts - Страница 137
- Настройка сетевых скриптов - Страница 138
- Глава 8. Делаем систему LFS загрузочной. - Страница 139
- Создание файла /etc/fstab - Страница 140
- Установка ядра Linux-2.4.19 - Страница 141
- Делаем систему LFS загрузочной. - Страница 142
- Глава 9. Заключение. - Страница 143
- Вписываем себя в пользователи LFS - Страница 144
- Перезагрузка системы - Страница 145
- III. Часть III – Приложения - Страница 146
- Autoconf - Страница 147
- Automake - Страница 148
- Bash - Страница 149
- Bin86 - Страница 150
- Binutils - Страница 151
- Bison - Страница 152
- Bzip2 - Страница 153
- Diffutils - Страница 154
- E2fsprogs - Страница 155
- Ed - Страница 156
- File - Страница 157
- Fileutils - Страница 158
- Findutils - Страница 159
- Flex - Страница 160
- Gawk - Страница 161
- GCC - Страница 162
- Gettext - Страница 163
- Glibc - Страница 164
- Grep - Страница 166
- Groff - Страница 167
- Gzip - Страница 168
- Kbd - Страница 169
- Less - Страница 170
- LFS-Bootscripts - Страница 171
- Libtool - Страница 172
- Lilo - Страница 173
- Linux (ядро) - Страница 174
- M4 - Страница 175
- Make - Страница 176
- MAKEDEV - Страница 177
- Man - Страница 178
- Man-pages - Страница 179
- Modutils - Страница 180
- Ncurses - Страница 181
- Netkit-base - Страница 182
- Net-tools - Страница 183
- Patch - Страница 184
- Perl - Страница 185
- Procinfo - Страница 186
- Procps - Страница 187
- Psmisc - Страница 188
- Sed - Страница 189
- Shadow - Страница 190
- Sh-utils - Страница 191
- Sysklogd - Страница 192
- Sysvinit - Страница 193
- Tar - Страница 194
- Texinfo - Страница 195
- Textutils - Страница 196
- Util-linux - Страница 197
- Vim - Страница 199
- Zlib - Страница 200
- Приложение B. Ресурсы - Страница 201
- Книги - Страница 202
- HOWTO и руководства - Страница 203
- Прочее - Страница 204
Как мы будем работать
Мы собираемся построить систему 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 и далее.
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
- 100
- 101
- 102
- 103
- 104
- 105
- 106
- 107
- 108
- 109
- 110
- 111
- 112
- 113
- 114
- 115
- 116
- 117
- 118
- 119
- 120
- 121
- 122
- 123
- 124
- 125
- 126
- 127
- 128
- 129
- 130
- 131
- 132
- 133
- 134
- 135
- 136
- 137
- 138
- 139
- 140
- 141
- 142
- 143
- 144
- 145
- 146
- 147
- 148
- 149
- 150
- 151
- 152
- 153
- 154
- 155
- 156
- 157
- 158
- 159
- 160
- 161
- 162
- 163
- 164
- 165
- 166
- 167
- 168
- 169
- 170
- 171
- 172
- 173
- 174
- 175
- 176
- 177
- 178
- 179
- 180
- 181
- 182
- 183
- 184
- 185
- 186
- 187
- 188
- 189
- 190
- 191
- 192
- 193
- 194
- 195
- 196
- 197
- 198
- 199
- 200
- 201
- 202
- 203
- 204