From 70e04ceb983fef5b590ddbd5003bad20ce99af79 Mon Sep 17 00:00:00 2001 From: Anton Maisak Date: Wed, 12 May 2021 17:33:38 +0300 Subject: [PATCH] embeded WIP --- docs/_sidebar.md | 8 ++++++-- docs/assets/styles.css | 2 +- docs/embeded/build-vars.md | 15 ++++++++++++++ docs/embeded/cross.md | 14 +++++++++++++ docs/embeded/env.md | 23 +++++++++++++++++++++ docs/embeded/fs.md | 18 ++++++++++++++++ docs/embeded/packages.md | 42 ++++++++++++++++++++++++++++++++++++++ docs/embeded/prepare.md | 18 ++++++++-------- 8 files changed, 127 insertions(+), 13 deletions(-) create mode 100644 docs/embeded/build-vars.md create mode 100644 docs/embeded/cross.md create mode 100644 docs/embeded/env.md create mode 100644 docs/embeded/packages.md diff --git a/docs/_sidebar.md b/docs/_sidebar.md index f33c4618..e6b94300 100644 --- a/docs/_sidebar.md +++ b/docs/_sidebar.md @@ -87,8 +87,12 @@ - [GCC](build-system/gcc) - [**Создание Embedded Linux системы**](embeded/introduction) - - [Подготовительные работы](embeded/prepare) - - [Создание иерархии файловой системы](embeded/fs) + - [**Подготовительные работы**](embeded/prepare) + - [Создание иерархии файловой системы](embeded/fs) + - [Необходимые пакеты](embeded/packages) + - [Настройка окружения](embeded/env) + - [**Создание инструментов для кросс компиляции**](embeded/cross) + - [Дополнительные переменные окружения](embeded/build-vars) - [**Вспомогательные материалы**](additional/additional) - [Установка программ из исходных кодов в Linux](additional/src-compiling) diff --git a/docs/assets/styles.css b/docs/assets/styles.css index 6058904f..53ce6c3c 100644 --- a/docs/assets/styles.css +++ b/docs/assets/styles.css @@ -11,7 +11,7 @@ li.folder p strong { .pkg { - padding: 0; + padding: 0 0 1rem 0; background: #fefefe; border-bottom: solid 1px #ccc; } diff --git a/docs/embeded/build-vars.md b/docs/embeded/build-vars.md new file mode 100644 index 00000000..cac0deff --- /dev/null +++ b/docs/embeded/build-vars.md @@ -0,0 +1,15 @@ +# Дополнительные переменные окружения + +Во время создания инструментов кросс-компиляции нужно будет установить несколько переменных, которые будут зависеть от ваших конкретных потребностей. + +Нужно будет установить наименование целевой системы (triplet) для целевой архитектуры и тип процессора. + +Если вы не знаете, какой наименование и (или) тип процессора вам нужен, вы можете использовать эту таблицу в качестве справочной информации. + +Задайте команду, используя метод, указанный ниже: + +```bash +export LIN_HOST=$(echo ${MACHTYPE} | sed "s/-[^-]*/-cross/") +export LIN_TARGET=[target triplet] +export LIN_CPU=[cpu type] +``` diff --git a/docs/embeded/cross.md b/docs/embeded/cross.md new file mode 100644 index 00000000..5d06e2f4 --- /dev/null +++ b/docs/embeded/cross.md @@ -0,0 +1,14 @@ +# Создание инструментов для кросс компиляции + +!> Перед началом работы, убедитесь что вы находитесь под пользователем ``lin``, и его окружение настроено правильно. Все дальнейшеие действия, будут выполняться именно этим пользователем. + +## О переменной CFLAGS + +Переменную ``CFLAGS`` не следует использовать во время сборки инструментов для кросс компиляции. + +Удалите ее из окружения + +```bash +unset CFLAGS +echo unset CFLAGS >> ~/.bashrc +``` diff --git a/docs/embeded/env.md b/docs/embeded/env.md new file mode 100644 index 00000000..1ab40435 --- /dev/null +++ b/docs/embeded/env.md @@ -0,0 +1,23 @@ +# Настройка окружения + +Выполним вход как пользователь ``lin``. Это действие можно выполнить в графической оболочке, используя виртуальный терминал, или в обычной пользовательской среде: +```bash +su - lin +``` + +!> Внимание! Изучите раздел [Настройка окружения](prepare/set-env). + +Замените файл `.bashrc` + +```bash +cat > ~/.bashrc << "EOF" +set +h +umask 022 +LIN=/mnt/clfs +LC_ALL=POSIX +PATH=${LIN}/cross-tools/bin:/bin:/usr/bin +export LIN LC_ALL PATH +EOF +``` + +`LC_ALL` - Переменная ``LC_ALL`` переопределяет своим значением все ``LC_*-переменные``, включая ``LANG``, независимо от того, установлены они или нет. Если в хост-системе используется версия Glibc старше 2.2.4, установка ``LC_ALL`` в значение, отличное от «``POSIX``» или «``C``», может вызвать проблемы. diff --git a/docs/embeded/fs.md b/docs/embeded/fs.md index bf3e0400..e82b6390 100644 --- a/docs/embeded/fs.md +++ b/docs/embeded/fs.md @@ -1 +1,19 @@ # Создание иерархии файловой системы + +- [Установка переменной $LIN](prepare/set-LIN) +- [Создание разделов](prepare/create-partition) +- [Монтирование разделов](prepare/mount-partition) + +## Создание файловой системы + +Создайте основной рабочий каталог от пользователя `root`: + +```bash +mkdir -v $LIN +```` + +Создайте каталог для хранения пакетов: + +```bash +mkdir -v $LIN/src +```` diff --git a/docs/embeded/packages.md b/docs/embeded/packages.md new file mode 100644 index 00000000..3388e7f4 --- /dev/null +++ b/docs/embeded/packages.md @@ -0,0 +1,42 @@ +# Необходимые пакеты + +?> Вам следует сохранить указанные файлы в каталог ``$LIN/src`` + + +
+

{{ pkg.name }}

+ Версия: {{ pkg.version }} +

{{ pkg.description }}

+ {{ pkg.url }} +
+ + diff --git a/docs/embeded/prepare.md b/docs/embeded/prepare.md index b27d9d17..d16646f9 100644 --- a/docs/embeded/prepare.md +++ b/docs/embeded/prepare.md @@ -2,19 +2,17 @@ Инструкции по созданию встраиваемой Linux системы во многом схожи, и пересекаются. Если вы ранее выполняли сборку предложенной Linux системы, то инструкции в этом разделе будут вам предельно понятны. Отличительные особенности и приёмы, будут детально разъяснены. -## Требования +#### Прежде чем начать -Ознакомьтесь с типовыми [требованиями](prepare/requrements) которые следует соблюдать до процесса создания встраиваемой Linux системы. Также потребуются базовые знания об архитектурах, используемых в процессе сборки. +Ознакомьтесь с типовыми [требованиями](prepare/requrements) которые следует соблюдать до процесса создания встраиваемой Linux системы. -## Этапы процесса создания встраиваемой Linux системы +Выполните инструкции, указанные в следующих главах. -Процесс будет состоять из нескольких этапов: +- [Установка переменной $LIN](prepare/set-LIN) +- [Создание разделов](prepare/create-partition) +- [Монтирование разделов](prepare/mount-partition) +- [Создание пользователя](prepare/add-user) -- Создание иерархии файловой системы -- Загрузка необходимых пакетов и патчей -- Подготовка окружения -- Создание инструментов кросс-компиляции -- Установка основного программного обеспечения -- Настройка +!> Вам необходимо оставаться в окружении пользователя `root`. Подробная информация о каждом шаге обсуждается в следующих главах. Пункты, которые могут показаться сложными, будут разъяснены.