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
Установка GCC-3.2
Приблизительное время компиляции: 9.48 SBU Необходимое дисковое пространство: 326 MB
Инсталляция GCC
Перед установкой пакета примените патч. Удостоверьтесь, что патч и пакет распакованы перед инсталляцией.
Этот пакет известен своим нестабильным поведением при компиляции с измененными опциями оптимизации (включая опции -march и -mcpu). GCC рекомендуется компилировать с настройками по умолчанию. Следовательно, если вы задали переменные такие как CFLAGS или CXXFLAGS, изменяющие уровень оптимизации по умолчанию, рекомендуется убрать их при сборке пакета GCC. Изменяя оптимизации для GCC, вы действуете на свой страх и риск.
Для инсталляции GCC выполните:
patch -Np1 -i ../gcc-3.2.patch && patch -Np1 -i ../gcc-3.2-nofixincludes-2.patch && mkdir ../gcc-build && cd ../gcc-build && ../gcc-3.2/configure –prefix=/static –enable-languages=c \ –disable-nls –disable-shared && echo «#define HAVE_GAS_HIDDEN 1» >> gcc/auto-host.h && make BOOT_LDFLAGS=-static bootstrap && make prefix=$LFS/static install && ln -s gcc $LFS/static/bin/cc
Объяснения команд
patch -Np1 -i ../gcc-3.2.patch: Этот патч исправляет некоторые ошибки, в частности содержит «copy fix» и «var fix», документированные на сайте http://www.zipworld.com.au/~gschafer/lfs-tweaks.html.
patch -Np1 -i ../gcc-3.2-nofixincludes-2.patch: Предотвращает запуск скрипта fixincludes.
–prefix=/static: Это НЕ опечатка. При компиляции, GCC жестко прописывает пути, и нам необходимо передать путь /static в качестве префикса к скрипту ./configure. Реальный путь инсталляции мы укажем команде make install.
–enable-languages=c: Указание собрать компилятор Си. Компилятор C++ будет собран позже, в Главе 6, когда мы будем перекомпилировать GCC. Для сборки других компиляторов, опустите параметр –enable-languages.
echo «#define HAVE_GAS_HIDDEN 1»: Определим директиву ассемблера .hidden, для того чтобы впоследствии скомпилировать Glibc правильно.
make BOOT_LDFLAGS=-static: Это эквивалент опции LDFLAGS=-static, который мы задаем для использования статических ссылок при компиляции.
ln -s gcc $LFS/static/bin/cc: Создание символической ссылки $LFS/static/bin/gcc, необходимой для некоторых пакетов.
Содержимое GCC
Последняя проверка: версия 3.1.
Программы
c++, c++filt, cc (link to gcc), cc1, cc1plus, collect2, cpp, cpp0, g++, gcc, gccbug, gcov и tradcpp0
Описания
cc, cc1, cc1plus, gcc
Компилятор C. Компилятор переводит код из текстового формата в формат, понятный компьютеру. После того, как исходный код скомпилирован в объектный файл, линкер создаст исполняемый файл из одного или нескольких объектных.
c++, cc1plus, g++
Компилятор C++, эквивалент cc, gcc etc.
c++filt
Язык C++ позволяет осуществлять перезагрузку функций, делая возможным написание многих функций с одним именем (с разным набором параметром). Все имена функций C++ закодированы в низкоуровневые метки ассемблера (этот процесс известен как mangling). c++filt совершает обратное действие: низкоуровневые имена переводятся (demangling) в имена, понятные пользователю, так что линкер избегает конфликта между перезагруженными функциями.
collect2
collect2 помогает в компиляции конструкторов.
cpp, cpp0
cpp осуществляет препроцессинг исходных файлов, например включает в них содержимое заголовочных файлов. Просто добавьте в ваш исходный файл строку вроде #include <filename>. Препроцессор вставит содержимое заголовочного файла.
gccbug
gccbug – скрипт, облегчающий создание сообщений об ошибках.
gcov
gcov анализирует программы, чтобы помочь в создании более эффективного и быстрого кода путем его оптимизации.
tradcpp0
На данный момент описания нет.
Библиотеки
libgcc.a, libgcc_eh.a, libgcc_s.so, libiberty.a, libstdc++.[a,so], libsupc++.a
Описания
libgcc, libgcc_eh, libgcc_s
Файлы поддержки gcc времени исполнения.
libiberty
libiberty – коллекция подпрограмм, используемых различными программами GNU, включая getopt, obstack, strerror, strtol и strtoul.
libstdc++
libstdc++ – библиотека C++. Она используется программами на C++ и содержит часто используемые функции. Таким образом, программисту не нужно писать стандартные функции (например, вывод строки текста на экран) с нуля при каждом создании программы.
- 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