mirror of
https://github.com/Linux4Yourself/book.git
synced 2025-01-23 22:42:26 +08:00
Заключительные этапы подготовки.
This commit is contained in:
parent
844fe0bc33
commit
d5c8ce9ab1
@ -1 +1 @@
|
||||
# NOt Found =(
|
||||
# Страница не найдена
|
||||
|
@ -17,6 +17,8 @@
|
||||
- [Установка переменной $LIN](prepare/set-LIN)
|
||||
- [Монтирование разделов](prepare/mount-partition)
|
||||
- [Создание основных каталогов и символических ссылок](prepare/create-dirs)
|
||||
- [Требуемые пакеты и патчи](prepare/download)
|
||||
- [Создание пользователя](prepare/add-user)
|
||||
|
||||
- [**Вспомогательные материалы**](additional/additional)
|
||||
- [Установка программ из исходных кодов в Linux](additional/src-compiling)
|
||||
|
55
docs/prepare/add-user.md
Normal file
55
docs/prepare/add-user.md
Normal file
@ -0,0 +1,55 @@
|
||||
# Создание пользователя LIN
|
||||
|
||||
Когда мы находимся в системе под пользователем ``root``, одна единственная ошибка может привести к повреждению или поломке всей хост-системы.
|
||||
|
||||
Следовательно, рекомендуется выполнять сборку пакетов для временного набора инструментов от обычного пользователя, без привилегий.
|
||||
|
||||
*Вы можете использовать произвольного пользователя, но для упрощения настройки чистого рабочего окружения создайте нового пользователя с именем ``lin`` как члена группы ``lin`` и используйте этого пользователя на время всего процесса установки временного набора инструментов.*
|
||||
|
||||
```bash
|
||||
groupadd lin
|
||||
useradd -s /bin/bash -g lin -m -k /dev/null lin
|
||||
```
|
||||
|
||||
**Значение параметров командной строки:**
|
||||
|
||||
``-s /bin/bash``
|
||||
Устанавливает ``bash`` оболочкой по умолчанию для пользователя lin.
|
||||
|
||||
``-g lin``
|
||||
Опция добавляет пользователя ``lin`` в созданную группу ``lin``.
|
||||
|
||||
``-m``
|
||||
Создает домашний каталог для пользователя ``lin``.
|
||||
|
||||
``-k /dev/null``
|
||||
Этот параметр предотвращает возможное копирование файлов из предустановленного набора каталогов (по умолчанию ``/etc/skel``), изменив местоположение ввода на специальное ``null`` устройство.
|
||||
*``/dev/null`` — специальный файл в системах класса UNIX, представляющий собой так называемое «пустое устройство». Запись в него происходит успешно, независимо от объёма «записанной» информации. Чтение из ``/dev/null`` эквивалентно считыванию конца файла (EOF).*
|
||||
|
||||
``lin``
|
||||
Это имя созданного пользователя.
|
||||
|
||||
При желании, можно создать пароль для этой учётной записи:
|
||||
|
||||
```bash
|
||||
passwd lin
|
||||
```
|
||||
|
||||
Предоставим пользователю ``lin`` полный доступ к каталогу ``$LIN/tools``, сделав пользователя владельцем этого каталога:
|
||||
|
||||
```bash
|
||||
chown -v lin $LIN/tools
|
||||
```
|
||||
|
||||
Предоставьте пользователю lfs права на каталог где содержаться сохраненные пакеты и патчи:
|
||||
|
||||
```bash
|
||||
chown -v lin $LIN/sources
|
||||
```
|
||||
|
||||
Далее, выполним вход как пользователь ``lin``.
|
||||
*Это действие можно выполнить в графической оболочке, используя виртуальный терминал, или в обычной пользовательской среде:*
|
||||
|
||||
```bash
|
||||
su - lfs
|
||||
```
|
@ -1,16 +1,43 @@
|
||||
# Создание базовых директорий и символических ссылок
|
||||
|
||||
Во первых создайте рабочую директорию `/sources` :
|
||||
## Каталог для хранения пакетов и патчей
|
||||
Для сборки кросс компилятора и в дальнейшем целевой системы, понядобятся пакеты и патчи, сборкой которых мы будет заниматься в дальнейшем.
|
||||
|
||||
Загруженные пакеты и патчи необходимо сохранить на файловой системе. Нужен рабочий каталог, в котором можно будет распаковывать пакеты и выполнять их настройку и компиляцию. Каталог ``$LIN/sources`` может быть использован как место для хранения, а также как место для настройки и компиляции. Используя этот каталог, необходимые элементы будут расположены и доступны на всех этапах создания системы.
|
||||
|
||||
Чтобы создать такой каталог, выполните следующую команду от пользователя ``root``, до начала процесса загрузки пакетов и патчей:
|
||||
|
||||
```bash
|
||||
mkdir -pv $LIN/sources
|
||||
mkdir -v $LIN/sources
|
||||
```
|
||||
|
||||
## Создание каталога $LIN/tools
|
||||
|
||||
Все программы которые будут скомпилированы следующей части, будут установлены в каталог ``$LIN/tools`` чтобы можно было оставить их отдельно от сборки конечной системы. Программы которые будут скомпилированы - временные инструменты и не будут входить в конечную сборку системы.
|
||||
|
||||
После использования кросс-компилятора, от него можно избавиться. Использование каталога ``$LIN/tools`` необходимо для того, чтобы не засорять рабочие каталоги хост-системы.
|
||||
|
||||
Кросс-компилятор будет установлен в директорию `/tools`, создайте её:
|
||||
```bash
|
||||
mkdir -pv $LIN/tools
|
||||
```
|
||||
|
||||
|
||||
Следующим шагом, будет создание символической ссылки `/tools` в хост-системе, которая будет указывать на созданный каталог с кросс-компилятором.
|
||||
|
||||
*Данная операция необходима исключительно для удобства и универсальности, в случае, если вы измените путь до каталога ``$LIN/tools`` то необходимо будет изменить символическую ссылку, поскольку все полседующие инструкции будут работать с указанием на путь `/tools`.*
|
||||
|
||||
```bash
|
||||
ln -sv $LIN/tools /
|
||||
```
|
||||
|
||||
## Создание иеархии файловой системы
|
||||
|
||||
Теперь создайте базовую иеархию файловой системы:
|
||||
|
||||
[filename](https://raw.githubusercontent.com/Linux4Yourself/Linux4Yourself.Book.Scripts/develop/src/file-system.sh ':include')
|
||||
Подробнее об этом вы можете прочитать в стандарте [FHS](https://refspecs.linuxfoundation.org/fhs.shtml)
|
||||
|
||||
Подробнее об иерархии каталогов можно узнать в спецификации [FHS](https://refspecs.linuxfoundation.org/fhs.shtml)
|
||||
|
||||
## Для MultiLib
|
||||
Создайте директорию для 32-битных библиотек:
|
||||
|
21
docs/prepare/download.md
Normal file
21
docs/prepare/download.md
Normal file
@ -0,0 +1,21 @@
|
||||
# Требуемые пакеты и патчи
|
||||
|
||||
На данном этапе все готово для загрузки необходимых пакетов и патчей. В передыдущей главе был создан каталог ``$LIN/sources``, который и будет задействован, как место хранения.
|
||||
|
||||
Самый простой способ загрузки всех требуемых пакетов и патчей - воспользоваться файлом [wget-list](https://raw.githubusercontent.com/Linux4Yourself/Linux4Yourself.Book.Packages/develop/src/wget-list).
|
||||
|
||||
Далее его можно передать как параметр программе ``wget``.
|
||||
|
||||
```bash
|
||||
wget --input-file=wget-list --continue --directory-prefix=$LIN/sources
|
||||
```
|
||||
|
||||
При желании, вы можете выполнить проверку пакетов на соответствие контрольным суммам.
|
||||
|
||||
Загрузите файл [md5sums](https://raw.githubusercontent.com/Linux4Yourself/Linux4Yourself.Book.Packages/develop/src/md5sums),поместите его в каталог ``$LIN/sources`` и выполните команду:
|
||||
|
||||
```bash
|
||||
pushd $LIN/sources
|
||||
md5sum -c md5sums
|
||||
popd
|
||||
```
|
@ -1,5 +1,6 @@
|
||||
# Монтирование разделов
|
||||
**Все команды в данном разделе выполняються от имени пользователя root.**
|
||||
|
||||
!> **Все команды в данном разделе выполняються от имени пользователя root.**
|
||||
|
||||
## Монтирование корневого раздела
|
||||
|
||||
@ -24,7 +25,7 @@ mkdir -pv $LIN/boot/efi
|
||||
Далее смонтируем раздел:
|
||||
|
||||
```bash
|
||||
mount -v /dev/sdN /boot/efi
|
||||
mount -v /dev/sdN $LIN/boot/efi
|
||||
```
|
||||
Где sdN - EFI раздел.
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user