Обновить extentions/README.md

This commit is contained in:
Алексей Костарев 2024-11-18 09:45:17 +03:00
parent e2073d784e
commit f21ca373d5

View File

@ -98,7 +98,7 @@ ghcr.io/siderolabs/nonfree-kmod-nvidia-production:550.90.07-v1.8.2@sha256:86abd0
## Список расширений по группам с методами разворачивания
Описание получения исполнямого кода и файлов конфигурации (в минимальном варианте) находится в файлах pkg.yaml.
Описание получения исполняемого кода и файлов конфигурации (в минимальном варианте) находится в файлах pkg.yaml.
Дерево `pkg.yaml` файлов:
<pre>
├── container-runtime
@ -220,6 +220,24 @@ ghcr.io/siderolabs/nonfree-kmod-nvidia-production:550.90.07-v1.8.2@sha256:86abd0
└── util-linux
</pre>
### Структура каталогов расширения
Каждый каталог расширения содержит следующие обязательные файлы:
- `manifest.yaml` - манифест помещающийся в первый слой итогового образа;
- `vars.yaml` - определение переменных, используемых при разворачивании;
- `pkg.yaml` - описание процесса генерации дерева образа, помещаемого вторым слоем итогового образа;
Кроме этого в этот каталог могут помещаться дополнительные файлы:
- `README.md` - описание;
- дополнителньые файлы конфигурации, обычно имеющие суффикс '.part';
- дополнителньые файлы конфигурации форматов `yaml`, `toml`, ...;
- исходный код, используемый при сборка (шаг `build`) расширения;
- бинарный и исполняемый код расширения (шаг `install`);
- ...
### Моды разворачивания расширения
- container-runtime
* crun
@ -241,21 +259,21 @@ ghcr.io/siderolabs/nonfree-kmod-nvidia-production:550.90.07-v1.8.2@sha256:86abd0
* wasmedge
- копирование tar-файла бинарного кода с github.com
* chelsio(chelsio-drivers_
- копирование `/lib/modules/` из образа ядра?
- копирование `/lib/modules/` из образа ядра
* gasket(gasket-driver)
- копирование `/lib/modules/` из образа?
- копирование `/lib/modules/` из образа
* mei
- копирование `/lib/modules/` из образа?
- копирование `/lib/modules/` из образа
* mellanox-ofed
- копирование `/lib/modules/` из образа?
- копирование `/lib/modules/` из образа
* thunderbolt
- копирование `/lib/modules/` из образа?
- копирование `/lib/modules/` из образа
* uinput
- копирование `/lib/modules/` из образа?
- копирование `/lib/modules/` из образа
* usb-modem(usb-modem-drivers)
- копирование `/lib/modules/` из образа?
- копирование `/lib/modules/` из образа
* v4l-uvc(v4l-uvc-drivers)
- копирование `/lib/modules/` из образа?
- копирование `/lib/modules/` из образа
- examples
* hello-world-service
@ -263,25 +281,25 @@ ghcr.io/siderolabs/nonfree-kmod-nvidia-production:550.90.07-v1.8.2@sha256:86abd0
- firmware
* amdgpu-firmware
- копирование `/lib/firmware/` из образа?
- копирование `/lib/firmware/` из образа
* amdgpu-firmware
- копирование `/lib/firmware/` из образа?
- копирование `/lib/firmware/` из образа
* amd-ucode
- копирование `/lib/firmware/` из образа?
- копирование `/lib/firmware/` из образа
* bnx2-bnx2x
- копирование `/lib/firmware/` из образа?
- копирование `/lib/firmware/` из образа
* chelsio(chelsio-firmware)
- копирование `/lib/firmware/` из образа?
- копирование `/lib/firmware/` из образа
* i915-ucode
- копирование `/lib/firmware/` из образа?
- копирование `/lib/firmware/` из образа
* intel-ice-firmware
- копирование `/lib/firmware/` из образа?
- копирование `/lib/firmware/` из образа
* intel-ucode
- копирование tar-файла бинарного кода с github.com
* qlogic-firmware
- копирование `/lib/firmware/` из образа?
- копирование `/lib/firmware/` из образа
* realtek-firmware
- копирование `/lib/firmware/` из образа?
- копирование `/lib/firmware/` из образа
- guest-agents
* metal-agent
@ -317,9 +335,9 @@ ghcr.io/siderolabs/nonfree-kmod-nvidia-production:550.90.07-v1.8.2@sha256:86abd0
- storage
* btrfs
- копирование `/lib/modules/` из образа?
- копирование `/lib/modules/` из образа
* drbd
- копирование `/lib/modules/` из образа?
- копирование `/lib/modules/` из образа
* fuse3
- копирование tar-файла исходного кода с github.com , установка python-модуля, сборка ninja
* iscsi-tools
@ -327,7 +345,7 @@ ghcr.io/siderolabs/nonfree-kmod-nvidia-production:550.90.07-v1.8.2@sha256:86abd0
* mdadm
- копирование tar-файла исходного кода с www.kernel.org с компиляций кода (make)
* zfs
- копирование `/lib/modules/` из образа?
- копирование `/lib/modules/` из образа
- tools
* util-linux(util-linux-tools)
@ -335,11 +353,21 @@ ghcr.io/siderolabs/nonfree-kmod-nvidia-production:550.90.07-v1.8.2@sha256:86abd0
## Предложения по разворачиванию расширений (extentions) в ALTLinux
В ALTlinux предлагается разворачивать ВСЕ расшипения из RPM-пакетов путем установки их в базовый образ `registry.altlinux.org/base/base` с последующим копированием бинарных файлов и файлов конфигурации в соответствующий каталог `/rootfs/` (эту часть можно извлечь из стандартного пакета `pkg.yaml`).
В этом случае корректируется только часть `steps.install` файл `pkg.yaml` talos-"пакета" (с возможным удалением предыдущих шагов).
Все отсальные файлы описания talos-пакета остаются неизменными.
Как видно из вышеприведенного списка в `talos` расширения устанавливаются многочисленными способами из многочисленных источников:
Пример развлоачивания пакета `crun`.
- копирование бинарного (исполняемого) кода с github.com, ... в исходном виде или в виде tar-архивов с последующим разворачиванием;
- копирование tar-файла исходного кода с github.com, www.kernel.org, src.fedoraproject.org с конфигурацией и компиляций кода;
- копирование бинарного кода (исполняемого) из каталогов docker-образов;
- ...
В ALTlinux предлагается разворачивать ВСЕ расширения из RPM-пакетов путем установки их в базовый образ `registry.altlinux.org/base/base` с последующим копированием бинарных файлов и файлов конфигурации в соответствующий каталог `/rootfs/` (эту часть можно извлечь из стандартного пакета `pkg.yaml`).
В этом случае корректируется только часть `steps.install` файл `pkg.yaml` talos-"пакета" (с возможным удалением предыдущих шагов).
Все остальные файлы описания talos-пакета остаются неизменными.
В определенных случаях при наличи готовых образов возможно копирование бинарного кода (исполняемого) из каталогов docker-образов
регистраторов `registry.altlinux.org`, `gitea.basealt.ru`.
Пример разворачивания пакета `crun`.
- описание стандартного разворачивания
```
@ -394,7 +422,7 @@ variant: scratch
shell: /toolchain/bin/bash
dependencies:
- stage: base
- image: "registry.altlinux.org/alt/alt"
- image: registry.altlinux.org/alt/alt
steps:
- prepare:
- |
@ -420,7 +448,8 @@ finalize:
to: /
```
В данном случае из стандартного описания
В данном случае из стандартного описания
- в элемент 'dependencies' добавляется зависимость от образа `registry.altlinux.org/alt/alt`
- удаляется шаг `steps.sources`;
- в шаг `install` добавляется обновление репозитория и установка пакета `crun`;
- во шаге копирования бинарного кода меняется тропа исходного бинарного файла.