Pxe: различия между версиями

Материал из wiki.nntc.nnov.ru
Перейти к навигации Перейти к поиску
(Предисловие)
(Предисловие)
Строка 84: Строка 84:
  
 
Конкретно в рамках этого мануала установлена ОС https://mirror.yandex.ru/altlinux/p10/images/workstation/x86_64/alt-workstation-10.0-x86_64.iso. Далее все выполняемые действия буду проходить внутри неё.
 
Конкретно в рамках этого мануала установлена ОС https://mirror.yandex.ru/altlinux/p10/images/workstation/x86_64/alt-workstation-10.0-x86_64.iso. Далее все выполняемые действия буду проходить внутри неё.
 +
 +
Также исходим из того, что alt-workstation-10.0-x86_64.iso установлена таким образом, что не-root пользователя там зовут administrator и ему задан некоторый пароль. Для простоты работы точно такой же пароль задан и пользователю root.
 +
Предыдущее предложение важно для новичков в мире GNU/Linux, т.к. команды, приведённые ниже, будут зависеть от не-root пользователя и избавят неопытных пользователей от необходимости додумывать вводимые команды, т.к. команды сразу будут приведены в конкретном виде.
 +
  
 
Устанавливаем пакеты для сборки
 
Устанавливаем пакеты для сборки
  
  apt-get install && apt-get dist-upgrade -y && update-kernel -y && apt-get install -y mkimage mkimage-preinstall hasher git-core
+
  apt-get install && apt-get dist-upgrade -y && update-kernel -y && apt-get install -y mkimage mkimage-preinstall hasher git-core isomd5sum

Версия 09:04, 18 февраля 2022

OpenWRT

Подготовка сборочницы

apt update && apt dist-upgrade -y && apt install -y binutils libncurses5-dev bzip2 flex gawk gcc-7 grep libc-dev libz-dev make perl python rsync subversion unzip git
cd


Клонирование исходников и сборка

git clone https://github.com/openwrt/openwrt
cd openwrt
make menuconfig

(там выбрать target x86, subtarget=x86_64), в build settings сконфигурить размеры образа, еще в base system выпилить firewall если он не нужен, и т.д...


make -j$(nproc)

результаты будут в папке bin

Если нужен доп. софт

./scripts/feeds update -a
./scripts/feeds install -a

Затем через

make menuconfig

выбираем нужные пакеты и пересобираем через

make -j$(nproc)

Если нужно добавить пакет вручную

В каталоге

./feeda/packages/нужная_категория

создать каталог по аналогии с существующими, сформировать внутри Makefile, затем

./scripts/feeds update -i
./scripts/feeds install -a

Затем выбрать нужный пакет для сборки в меню через

make menuconfig

И собрать всё как обычно

make -j$(nproc)

Переопределение и добавление каталогов и файлов в rootfs

Чтобы добавлять/заменять файлы в будущем образе (менять конфиги/ключи/что угодно) нужно создать папку

files

на вернхнем уровне (там же где .config) и работать с ней так, как будто это корень системы.

Т.е., например,

files/etc/rc.local

в образе будет как

/etc/rc.local

, ну и т.д...


Alt Linux

Предисловие

Общая идея состоит в том, чтобы иметь инструмент для пересборки актуального дистрибутива "Альт Линукс" с возможностью модификации образа под различные задачи, решение которых предполагается через загрузку по PXE.

Для этого необходимо иметь возможность управлять профилем для сборки и инструменты преобразования полученного в результате сборки профиля результата в набор файлов для загрузки посредством PXE.

Подготавливаем сборочную машину

Конкретно в рамках этого мануала установлена ОС https://mirror.yandex.ru/altlinux/p10/images/workstation/x86_64/alt-workstation-10.0-x86_64.iso. Далее все выполняемые действия буду проходить внутри неё.

Также исходим из того, что alt-workstation-10.0-x86_64.iso установлена таким образом, что не-root пользователя там зовут administrator и ему задан некоторый пароль. Для простоты работы точно такой же пароль задан и пользователю root. Предыдущее предложение важно для новичков в мире GNU/Linux, т.к. команды, приведённые ниже, будут зависеть от не-root пользователя и избавят неопытных пользователей от необходимости додумывать вводимые команды, т.к. команды сразу будут приведены в конкретном виде.


Устанавливаем пакеты для сборки

apt-get install && apt-get dist-upgrade -y && update-kernel -y && apt-get install -y mkimage mkimage-preinstall hasher git-core isomd5sum