Lx4U-book/docs/prepare/create-dirs.md

50 lines
3.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Создание базовых директорий и символических ссылок
## Каталог для хранения пакетов и патчей
Для сборки кросс компилятора и в дальнейшем целевой системы, понядобятся пакеты и патчи, сборкой которых мы будет заниматься в дальнейшем.
Загруженные пакеты и патчи необходимо сохранить на файловой системе. Нужен рабочий каталог, в котором можно будет распаковывать пакеты и выполнять их настройку и компиляцию. Каталог ``$LIN/sources`` может быть использован как место для хранения, а также как место для настройки и компиляции. Используя этот каталог, необходимые элементы будут расположены и доступны на всех этапах создания системы.
Чтобы создать такой каталог, выполните следующую команду от пользователя ``root``, до начала процесса загрузки пакетов и патчей:
```bash
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)
## Для MultiLib
Создайте директорию для 32-битных библиотек:
```bash
mkdir -pv $LIN/usr/lib32
```
А также символическую ссылку на неё
```bash
ln -sv usr/lib32 $LIN/lib32