Pxe: различия между версиями
Vovan (обсуждение | вклад) (→Предисловие) |
Vovan (обсуждение | вклад) (→Подготавливаем сборочную машину) |
||
Строка 92: | Строка 92: | ||
apt-get install && apt-get dist-upgrade -y && update-kernel -y && apt-get install -y mkimage mkimage-preinstall hasher git-core isomd5sum | apt-get install && apt-get dist-upgrade -y && update-kernel -y && apt-get install -y mkimage mkimage-preinstall hasher git-core isomd5sum | ||
+ | |||
+ | Добавляем не-root пользователя в хешер | ||
+ | |||
+ | hasher-useradd administrator | ||
+ | |||
+ | Разрешаем хешеру монтировать /proc | ||
+ | |||
+ | echo 'allowed_mountpoints=/proc' >> /etc/hasher-priv/system | ||
+ | |||
+ | Входим под не-root пользователем | ||
+ | |||
+ | su - administrator | ||
+ | |||
+ | Если вдруг (если вдруг!) нужно будет разрешить делать sudo su из под пользователя administrator (было пару раз, что при сборке система просила повысить привилегии), то нужно раскоментировать строчку | ||
+ | |||
+ | # WHEEL_USERS ALL=(ALL) NOPASSWD: ALL | ||
+ | |||
+ | в файле | ||
+ | |||
+ | /etc/sudoers | ||
+ | |||
+ | , затем выйти и войти пользователем administrator |
Версия 09:09, 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
Добавляем не-root пользователя в хешер
hasher-useradd administrator
Разрешаем хешеру монтировать /proc
echo 'allowed_mountpoints=/proc' >> /etc/hasher-priv/system
Входим под не-root пользователем
su - administrator
Если вдруг (если вдруг!) нужно будет разрешить делать sudo su из под пользователя administrator (было пару раз, что при сборке система просила повысить привилегии), то нужно раскоментировать строчку
# WHEEL_USERS ALL=(ALL) NOPASSWD: ALL
в файле
/etc/sudoers
, затем выйти и войти пользователем administrator