mirror of
https://github.com/Linux4Yourself/book.git
synced 2025-02-05 08:47:46 +08:00
50 lines
3.8 KiB
Markdown
50 lines
3.8 KiB
Markdown
# Создание базовых директорий и символических ссылок
|
||
|
||
## Каталог для хранения пакетов и патчей
|
||
Для сборки кросс компилятора и в дальнейшем целевой системы, понядобятся пакеты и патчи, сборкой которых мы будет заниматься в дальнейшем.
|
||
|
||
Загруженные пакеты и патчи необходимо сохранить на файловой системе. Нужен рабочий каталог, в котором можно будет распаковывать пакеты и выполнять их настройку и компиляцию. Каталог ``$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
|