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

50 lines
3.8 KiB
Markdown
Raw Normal View History

2021-04-24 14:03:31 +08:00
# Создание базовых директорий и символических ссылок
## Каталог для хранения пакетов и патчей
Для сборки кросс компилятора и в дальнейшем целевой системы, понядобятся пакеты и патчи, сборкой которых мы будет заниматься в дальнейшем.
Загруженные пакеты и патчи необходимо сохранить на файловой системе. Нужен рабочий каталог, в котором можно будет распаковывать пакеты и выполнять их настройку и компиляцию. Каталог ``$LIN/sources`` может быть использован как место для хранения, а также как место для настройки и компиляции. Используя этот каталог, необходимые элементы будут расположены и доступны на всех этапах создания системы.
Чтобы создать такой каталог, выполните следующую команду от пользователя ``root``, до начала процесса загрузки пакетов и патчей:
2021-04-24 14:03:31 +08:00
```bash
mkdir -v $LIN/sources
2021-04-24 14:03:31 +08:00
```
## Создание каталога $LIN/tools
Все программы которые будут скомпилированы следующей части, будут установлены в каталог ``$LIN/tools`` чтобы можно было оставить их отдельно от сборки конечной системы. Программы которые будут скомпилированы - временные инструменты и не будут входить в конечную сборку системы.
После использования кросс-компилятора, от него можно избавиться. Использование каталога ``$LIN/tools`` необходимо для того, чтобы не засорять рабочие каталоги хост-системы.
2021-04-24 14:03:31 +08:00
Кросс-компилятор будет установлен в директорию `/tools`, создайте её:
```bash
mkdir -pv $LIN/tools
```
Следующим шагом, будет создание символической ссылки `/tools` в хост-системе, которая будет указывать на созданный каталог с кросс-компилятором.
*Данная операция необходима исключительно для удобства и универсальности, в случае, если вы измените путь до каталога ``$LIN/tools`` то необходимо будет изменить символическую ссылку, поскольку все полседующие инструкции будут работать с указанием на путь `/tools`.*
```bash
ln -sv $LIN/tools /
```
## Создание иеархии файловой системы
2021-04-24 14:03:31 +08:00
Теперь создайте базовую иеархию файловой системы:
2021-04-24 14:03:31 +08:00
[filename](https://raw.githubusercontent.com/Linux4Yourself/Linux4Yourself.Book.Scripts/develop/src/file-system.sh ':include')
Подробнее об иерархии каталогов можно узнать в спецификации [FHS](https://refspecs.linuxfoundation.org/fhs.shtml)
2021-04-24 14:03:31 +08:00
## Для MultiLib
Создайте директорию для 32-битных библиотек:
```bash
mkdir -pv $LIN/usr/lib32
```
А также символическую ссылку на неё
```bash
ln -sv usr/lib32 $LIN/lib32