Commit 4c439359 authored by Anton Midyukov's avatar Anton Midyukov

Merge branch 'master' into sisyphus

parents 02092426 363ba22a
......@@ -73,6 +73,7 @@ endif
@$(call add,INSTALL2_PACKAGES,xorg-conf-synaptics)
@$(call add,COMMON_PACKAGES,vim-console)
@$(call add,DEFAULT_SERVICES_ENABLE,rpcbind sshd bind)
@$(call add,DEFAULT_SYSTEMD_SERVICES_ENABLE,systemd-networkd.service)
@$(call set,META_VOL_ID,ALT Server 10.1 $(ARCH))
@$(call set,META_PUBLISHER,BaseALT Ltd)
@$(call set,META_VOL_SET,ALT)
......
......@@ -38,7 +38,7 @@ mixin/e2k-mate: use/e2k/x11 use/x11/xorg use/fonts/install2 \
@$(call add,THE_PACKAGES,zsh bash-completion)
### regular.mk
mixin/regular-x11: use/luks use/volumes/regular \
mixin/regular-x11: use/luks use/volumes/alt-workstation \
use/browser/firefox use/kernel/disable-usb-autosuspend \
use/branding use/ntp/chrony use/services/lvm2-disable
@$(call add,THE_LISTS,$(call tags,(base || desktop) && regular && !extra))
......@@ -74,7 +74,6 @@ mixin/desktop-extra:
@$(call add,BASE_LISTS,$(call tags,(archive || base) && extra))
mixin/regular-wmaker: use/fonts/ttf/redhat use/x11/wmaker +nm-gtk
@$(call add,LIVE_PACKAGES,livecd-install-wmaker)
@$(call add,LIVE_PACKAGES,installer-feature-no-xconsole-stage3)
@$(call add,MAIN_PACKAGES,wmgtemp wmhdaps wmxkbru xxkb)
......@@ -96,6 +95,9 @@ mixin/regular-gnome3: use/x11/gnome3 use/fonts/ttf/redhat +nm-gtk
@$(call add,THE_PACKAGES,xcalib templates)
@$(call add,THE_PACKAGES,chrome-gnome-shell)
@$(call add,THE_PACKAGES,qt5-wayland)
ifeq (sisyphus,$(BRANCH))
@$(call add,THE_PACKAGES,gnome-packagekit)
endif
mixin/regular-kde5: use/x11/kde5 use/browser/falkon \
use/x11/kde5-display-manager-lightdm \
......@@ -118,7 +120,7 @@ mixin/regular-xfce: mixin/xfce-base use/domain-client +pulse
@$(call add,THE_PACKAGES,pavucontrol xscreensaver-frontend)
@$(call add,THE_PACKAGES,xfce4-pulseaudio-plugin xfce-polkit)
mixin/regular-xfce-sysv: mixin/xfce-base \
mixin/regular-xfce-sysv: mixin/xfce-base +net-eth \
use/fonts/otf/adobe use/fonts/otf/mozilla
@$(call add,THE_LISTS,xfce-sysv)
......
......@@ -9,7 +9,8 @@ mixin/cnc-rt: use/l10n +nm-gtk +systemd +systemd-optimal \
ifeq (distro,$(IMAGE_CLASS))
distro/regular-cnc-rt: distro/.regular-x11 mixin/cnc-rt \
use/live/install; @:
use/live-install
@$(call set,INSTALLER,alt-workstation)
endif
ifeq (vm,$(IMAGE_CLASS))
......
......@@ -45,7 +45,10 @@ endif
# WM base target
distro/.regular-wm: distro/.regular-x11 \
mixin/regular-desktop +vmguest \
use/live/rw use/live/install; @:
use/live/rw +live-installer
@$(call set,INSTALLER,alt-workstation)
@$(call set,GRUB_DEFAULT,live)
@$(call set,SYSLINUX_DEFAULT,live)
# DE base target
# TODO: use/plymouth/live when luks+plymouth is done, see also #28255
......@@ -127,7 +130,7 @@ endif
distro/.regular-install-x11: distro/.regular-install +vmguest +wireless \
use/install2/suspend mixin/regular-desktop mixin/regular-x11 \
use/branding/complete use/branding/slideshow/once
@$(call set,INSTALLER,altlinux-desktop)
@$(call set,INSTALLER,alt-workstation)
# assumes somewhat more experienced user
distro/.regular-install-x11-full: distro/.regular-install-x11 \
......
......@@ -52,6 +52,174 @@ include::../image.in/README[]
include::../features.in/README[]
include::../features.in/00example/README[]
include::../features.in/apt-conf/README[]
include::../features.in/armh-mcom02/README[]
include::../features.in/arm-rpi4/README[]
include::../features.in/bootloader/README[]
include::../features.in/branding/README[]
include::../features.in/browser/README[]
include::../features.in/build-distro/README[]
include::../features.in/build-ve/README[]
include::../features.in/build-vm/README[]
include::../features.in/cleanup/README[]
include::../features.in/control/README[]
include::../features.in/deflogin/README[]
include::../features.in/dev/README[]
include::../features.in/docs/README[]
include::../features.in/domain-client/README[]
include::../features.in/dos/README[]
include::../features.in/drm/README[]
include::../features.in/e2k/README[]
include::../features.in/efi/README[]
include::../features.in/firmware/README[]
include::../features.in/fonts/README[]
include::../features.in/gitlab-runner/README[]
include::../features.in/grub/README[]
include::../features.in/hdt/README[]
include::../features.in/homeros/README[]
include::../features.in/im/README[]
include::../features.in/initrd-bootchain/README[]
include::../features.in/initrd-propagator/README[]
include::../features.in/init/README[]
include::../features.in/install2/README[]
include::../features.in/isohybrid/README[]
include::../features.in/kernel/README[]
include::../features.in/l10n/README[]
include::../features.in/ldm/README[]
include::../features.in/live-install/README[]
include::../features.in/live/README[]
include::../features.in/lowmem/README[]
include::../features.in/ltsp/README[]
include::../features.in/luks/README[]
include::../features.in/lxc-guest/README[]
include::../features.in/lxc/README[]
include::../features.in/mediacheck/README[]
include::../features.in/memclean/README[]
include::../features.in/memtest/README[]
include::../features.in/metadata/README[]
include::../features.in/mipsel-bfk3/README[]
include::../features.in/mipsel-mitx/README[]
include::../features.in/net-dns/README[]
include::../features.in/net-eth/README[]
include::../features.in/net/README[]
include::../features.in/net-ssh/README[]
include::../features.in/net-usershares/README[]
include::../features.in/no-sleep/README[]
include::../features.in/ntp/README[]
include::../features.in/oem/README[]
include::../features.in/office/README[]
include::../features.in/pack/README[]
include::../features.in/pid1/README[]
include::../features.in/pkgpriorities/README[]
include::../features.in/plymouth/README[]
include::../features.in/power/README[]
include::../features.in/relname/README[]
include::../features.in/repo/README[]
include::../features.in/rescue/README[]
include::../features.in/server/README[]
include::../features.in/services/README[]
include::../features.in/slinux/README[]
include::../features.in/sound/README[]
include::../features.in/speech/README[]
include::../features.in/stage2/README[]
include::../features.in/syslinux/README[]
include::../features.in/tty/README[]
include::../features.in/uboot/README[]
include::../features.in/uuid-iso/README[]
include::../features.in/vagrant/README[]
include::../features.in/vmguest/README[]
include::../features.in/volumes/README[]
include::../features.in/wireless/README[]
include::../features.in/x11-autologin/README[]
include::../features.in/x11-autostart/README[]
include::../features.in/x11/README[]
include::../features.in/x11-vnc/README[]
include::../features.in/xdg-user-dirs/README[]
include::../sub.in/README[]
include::../sub.in/main/README[]
......
=== features.in/00example ===
Этот каталог содержит "заготовку" фичи в качестве примера
и должен дать представление о том, какой код _может_ быть
включён в настоящую фичу: статические файлы, два makefile
......
=== features.in/apt-conf ===
Данная фича определяет то, какая конфигурация apt попадёт в образ.
Настраивает систему для Raspberry Pi 4
=== features.in/arm-rpi4 ===
Настраивает систему для Raspberry Pi 4.
=== features.in/armh-mcom02 ===
Фича предназначена для обеспечения поддержки процессорного модуля
"ЭЛВИС Салют ЭЛ24ПМ2". Подробнее: http://altlinux.org/mcom02
"ЭЛВИС Салют ЭЛ24ПМ2".
Подробнее: https://altlinux.org/mcom02
Фича предназначена для обеспечения поддержки планшетов "Скит".
Основана на фиче armh-mcom02.
ifeq (,$(filter-out armh,$(ARCH)))
use/armh-skit: use/uboot use/tty/S0 use/no-sleep use/auto-resize
@$(call add_feature)
@$(call set,KFLAVOURS,skit)
@$(call add,THE_PACKAGES,extlinux-fdtdir-cleanup-filetrigger)
@$(call add,THE_PACKAGES,xorg-drv-fbturbo)
endif
#!/bin/sh
# Rewrite extlinux.conf
mkdir -p /boot/extlinux
cat > /boot/extlinux/extlinux.conf << EOF
menu title ALT Boot Options
default linux
timeout 50
label linux
kernel /boot/vmlinuz
initrd /boot/initrd.img
append root=LABEL=ROOT ro
EOF
#!/bin/sh -efu
[ -f /etc/firsttime.d/alsa-set-initial-options ] &&
sed -i '/snd-seq-midi/d' /etc/firsttime.d/alsa-set-initial-options
exit 0
#!/bin/sh -x
[ -d /etc/X11/xorg.conf.d ] || exit 0
cat > /etc/X11/xorg.conf.d/10-monitor.conf << EOF
Section "Monitor"
Identifier "Monitor0"
EndSection
Section "Device"
Identifier "Card0"
Driver "fbturbo"
EndSection
EOF
#!/bin/sh
# Drop fdtdir PATH
sed -i '/fdtdir/d' /boot/extlinux/extlinux.conf
=== features.in/bootloader ===
Добавление установки загрузчика основной системы, затребованного
посредством указания "grub", "lilo" или "uboot" в BASE_BOOTLOADER.
......
=== features.in/branding ===
Эта фича врезается в makefile субпрофилей и обеспечивает
добавление задающих внешний вид и сообщения дистрибутива
пакетов; см. тж. http://www.altlinux.org/Branding
пакетов; см. тж. https://www.altlinux.org/Branding
Реализация "двумерная" -- отдельно задаётся BRANDING
(см. пакеты branding-*-%version-%release.src.rpm),
......
=== features.in/browser ===
Эта фича обеспечивает наличие и конкретизацию выбора браузера.
Разумеется, дополнительные варианты могут быть установлены
явным или косвенным затребованием.
......
=== features.in/build-distro ===
Эта фича конфигурирует создание образа дистрибутива, включая работу
с субпрофилями -- которая сейчас нужна только дистрибутивным целям.
......
=== features.in/build-ve ===
Эта фича конфигурирует создание образа виртуального окружения (VE),
что используется для сборки шаблонов OpenVZ и ARM-чрутов для TWRP.
......
=== features.in/build-vm ===
Эта фича конфигурирует создание образа виртуальной машины (VM)
или тарбола rootfs для использования его на реальном компьютере.
Дополняет финальную стадию сборки (lib/, image-scripts.d/).
......
=== features.in/cleanup ===
Эта фича вместо созидания занимается выкидыванием лишнего
(например, части модулей инсталятора из установленной системы).
......@@ -12,5 +14,5 @@ CLEANUP_BASE_PACKAGES.
Для удаления пакетов только из livecd используйте переменную
CLEANUP_LIVE_PACKAGES.
ВНИМАНИЕ: также удаляет rpm, apt и базу по пакетам из livecd,
CAUTION: также удаляет rpm, apt и базу по пакетам из livecd,
если в него не был добавлен инсталятор!
#!/bin/sh
# FIXME: there should be less brutal i18n tuning
# don't cripple the image to be copied over
[ -n "$GLOBAL_LIVE_INSTALL"] || \
[ -x /usr/sbin/live-install ] || \
[ -x /usr/sbin/livecd-install ] && exit 0
cd /usr/share/locale
rm -r *@*
for i in */; do
......
......@@ -3,6 +3,7 @@
# don't cripple the image to be copied over
[ -n "$GLOBAL_LIVE_NO_CLEANUP_DOCS" ] || \
[ -n "$GLOBAL_LIVE_INSTALL"] || \
[ -x /usr/sbin/live-install ] || \
[ -x /usr/sbin/livecd-install ] && exit 0
......
......@@ -3,6 +3,7 @@
# don't cripple the image to be copied over or explicitly requested
# not to do this
[ -n "$GLOBAL_LIVE_NO_CLEANUPDB" ] || \
[ -n "$GLOBAL_LIVE_INSTALL" ] || \
[ -x /usr/sbin/live-install ] || \
[ -x /usr/sbin/livecd-install ] && exit 0
......
=== features.in/control ===
Эта фича предоставляет интерфейс для конфигурирования дистрибутивных
значений по умолчанию control(8); см. тж. http://altlinux.org/control
значений по умолчанию control(8).
См. тж.:
https://www.altlinux.org/Control
=== features.in/deflogin ===
Эта фича конфигурирует root login и пользователей по умолчанию.
Если ROOTPW не задан, то подходящий пароль не существует.
При необходимости задать пустой пароль root (например, на LiveCD)
выставьте переменную ROOTPW_EMPTY в значение "1".
ВНИМАНИЕ: применяйте разумно, т.к. крайне легко создать и оставить
CAUTION: применяйте разумно, т.к. крайне легко создать и оставить
дыру в безопасности!
В версии mkimage-profiles 1.4.4 появилась возможность создать пользователя
с произвольными uid, gid, домашним каталогом, интерпретатором shell и т.д.
Используйте для этого следующую конструкцию:
@$(call set,SPEC_USER,имя_пользователя:группа:uid:gid:home_dir:shell)
@$(call set,SPEC_USER,имя_пользователя:группа:uid:gid:home_dir:shell)
Например:
@$(call set,SPEC_USER,user:user:500:500:/home/user:/bin/bash)
@$(call set,SPEC_USER,user:user:500:500:/home/user:/bin/bash)
При этом нужно иметь в виду, что будет создана соответствующая группа с
соответствующим gid (нужно быть уверенным, что одноимённая группа не сущетсвует),
......
=== features.in/dev ===
Эта фича служит для создания образов, предназначающихся для разработки.
В первую очередь обеспечивается развёртывание hasher и mkimage.
......
=== features.in/docs ===
Эта фича добавляет в образ распакованную документацию дистрибутива,
а именно вводную страничку (входит в пакет branding-*-indexhtml),
и/или специфичное для данного продукта руководство из пакета docs-*
......@@ -8,5 +10,5 @@
языка (при наличии index-LL.html), поэтому ожидается задействование
фичи l10n с соответствующим указанием языка по умолчанию.
NB: предполагается применение при формировании ISO-образов,
NOTE: предполагается применение при формировании ISO-образов,
другие случаи наверняка потребуют доработки.
=== features.in/domain-client ===
Эта фича конфигурирует поддержку клиента домена ALT Linux.
krb5-ticket-watcher применяется для отладки либо обновления
билетов при нехватке сконфигурированного по умолчанию (сутки)
либо указанного администратором времени жизни таковых.
NB: не проверено на инсталяторах!
NOTE: не проверено на инсталяторах!
=== features.in/dos ===
Фича добавляет создание FreeDOS "live floppy" в stage1.
Текущее состояние -- загружается минимальная система.
......
=== features.in/drm ===
Фича drm решает задачу создания общей точки входа для
добавления drm-модулей ядра для разных списков пакетов.
Потребность выделения в отдельную фичу возникла с одной
......
=== features.in/e2k ===
Эта фича содержит необходимое для поддержки систем архитектуры "Эльбрус".
=== features.in/efi ===
Фича добавляет в образы необходимое для поддержки EFI/UEFI.
Конфигурируется заданием загрузчика (EFI_BOOTLOADER)
......@@ -5,6 +7,9 @@
пример использования доступен в conf.d/regular.mk
См. тж.:
* http://www.altlinux.org/UEFI
* http://www.rodsbooks.com/efi-bootloaders/
* https://www.altlinux.org/UEFI
* https://www.rodsbooks.com/efi-bootloaders/
* https://bugzilla.altlinux.org/showdependencytree.cgi?id=27804
=== features.in/firmware ===
Эта фича добавляет комплекты различного firmware в инсталятор,
устанавливаемую систему и т.п.
......
=== features.in/fonts ===
Эта фича позволяет системно конфигурировать файлы
конфигурации подсистемы конфигурирования шрифтов
fontconfig (sic!), заодно предоставляя прошедшие
......
=== features.in/gitlab-runner ===
This feature installs gitlab-runner according official guide [1]
The following envs can be altered:
......@@ -9,5 +11,7 @@ NOTE: this feature depends on network enablement in hasher (see [2] for details)
and mkimage [3]
1. https://docs.gitlab.com/runner/install/linux-manually.html
2. https://bugzilla.altlinux.org/34596
3. https://git.altlinux.org/people/legion/packages/mkimage.git?p=mkimage.git;a=commitdiff;h=6e90f032f15f89de1c2c523a725e369ab6cad1a0
3. https://git.altlinux.org/gears/m/mkimage.git?p=mkimage.git;a=commit;h=242549e3a01306e4539757e2129ea39f5a199b90
=== features.in/grub ===
Добавление поддержки grub; требуется для инсталяторов, live/rescue;
реализуется в рамках stage1.
......@@ -5,19 +7,29 @@
изучение кусочков конфигурации, которые уже существуют.
Цели config.mk:
* use/grub/ui/% -- конфигурирование интерфейса (см. cfg.in/01gfxterm.cfg);
при использовании автоматически добавляют grub в FEATURES;
* use/grub/timeout/% -- задание таймаута автозагрузки (в секундах);
* use/grub/%.cfg -- подключение кусочков конфигурации.
Переменные generate.mk:
* BOOTARGS -- дополнительные аргументы загрузчику;
* EFI_BOOTARGS -- дополнительные аргументы загрузчику;
* BOOTLOADER -- isolinux (реализовано с оглядкой на grub/grub4);
* BOOTVGA -- видеорежим, запрашиваемый у ядра (параметр vga=);
* GRUB_UI -- тип интерфейса (если указан gfxboot, то графический,
иначе текстовый);
* GRUB_CFG -- дополнительные кусочки конфигурации (например, live_rw);
* GRUBTHEME -- имя темы grub, если не задана, то получает значение BRANDING
за вычетом традиционной приставки alt-).
......@@ -32,7 +44,8 @@
Установить дефолтный пункт:
Для того, чтобы установить конкретный дефолтный пункт
(пример для LiveCD без поддержки сессии):
@$(call set,GRUB_DEFAULT,live)
@$(call set,GRUB_DEFAULT,live)
Именем дефолтного пункта является --id.
......@@ -40,9 +53,10 @@
На ESP-разделе образа можно отредактировать конфиг EFI/BOOT/grub.cfg,
добавив в его начало:
GRUB_TERMINAL='console'
GRUB_TERMINAL='console'
Если нужно включить последовательную консоль, пропишите в нём:
GRUB_TERMINAL='console serial'
GRUB_SERIAL_COMMAND='serial --unit=0 --speed=115200'
GRUB_TERMINAL='console serial'
GRUB_SERIAL_COMMAND='serial --unit=0 --speed=115200'
menuentry $"Install "'@distro@' --hotkey 'i' --id 'linux' {
savedefault
echo $"Loading Linux vmlinuz$KFLAVOUR ..."
linux /boot/vmlinuz$KFLAVOUR fastboot live @initrd_bootargs@ @stagename@=live init=/usr/sbin/install2-init ramdisk_size=@live_size@ lowmem vga=@bootvga@ @bootargs@ $EFI_BOOTARGS lang=$lang
echo $"Loading initial ramdisk ..."
initrd /boot/@initrd@$KFLAVOUR.@initrd_ext@
}
menuentry $"VNC install "'@distro@'$" (edit to set server IP address)" --id 'vncconnect' {
savedefault
linux /boot/vmlinuz$KFLAVOUR fastboot @initrd_bootargs@ @stagename@=live init=/usr/sbin/install2-init ramdisk_size=@live_size@ nosplash @bootargs@ $EFI_BOOTARGS headless no_alt_virt_keyboard vncconnect=IP lang=$lang
initrd /boot/@initrd@$KFLAVOUR.@initrd_ext@
}
menuentry $"VNC install "'@distro@'$" (edit to set password and connect here)" --id 'vncpasswd' {
savedefault
linux /boot/vmlinuz$KFLAVOUR fastboot @initrd_bootargs@ @stagename@=live init=/usr/sbin/install2-init ramdisk_size=@live_size@ showopts nosplash @bootargs@ $EFI_BOOTARGS headless no_alt_virt_keyboard vncpassword=VNCPWD lang=$lang
initrd /boot/@initrd@$KFLAVOUR.@initrd_ext@
}
......@@ -51,6 +51,32 @@ submenu $"Bootloading over network (press F4)" --hotkey 'f4' --id 'network' {
initrd /boot/@initrd@$KFLAVOUR.@initrd_ext@
}
}
submenu $"Install Live over network" {
menuentry $"Server NFS" {
echo $"Loading Linux vmlinuz$KFLAVOUR ..."
linux /boot/vmlinuz$KFLAVOUR @initrd_typeargs@=method:nfs ip=dhcp stagename=live init=/usr/sbin/install2-init @bootargs@ $EFI_BOOTARGS lang=$lang lowmem
echo $"Loading initial ramdisk ..."
initrd /boot/@initrd@$KFLAVOUR.@initrd_ext@
}
menuentry $"Server FTP" {
echo $"Loading Linux vmlinuz$KFLAVOUR ..."
linux /boot/vmlinuz$KFLAVOUR @initrd_typeargs@=method:ftp ip=dhcp stagename=live init=/usr/sbin/install2-init @bootargs@ $EFI_BOOTARGS lang=$lang
echo $"Loading initial ramdisk ..."
initrd /boot/@initrd@$KFLAVOUR.@initrd_ext@
}
menuentry $"Server HTTP" {
echo $"Loading Linux vmlinuz$KFLAVOUR ..."
linux /boot/vmlinuz$KFLAVOUR @initrd_typeargs@=method:http ip=dhcp stagename=live init=/usr/sbin/install2-init @bootargs@ $EFI_BOOTARGS lang=$lang
echo $"Loading initial ramdisk ..."
initrd /boot/@initrd@$KFLAVOUR.@initrd_ext@
}
menuentry $"Server SAMBA" {
echo $"Loading Linux vmlinuz$KFLAVOUR ..."
linux /boot/vmlinuz$KFLAVOUR @initrd_typeargs@=method:cifs ip=dhcp stagename=live init=/usr/sbin/install2-init @bootargs@ $EFI_BOOTARGS lang=$lang lowmem
echo $"Loading initial ramdisk ..."
initrd /boot/@initrd@$KFLAVOUR.@initrd_ext@
}
}
submenu $"Rescue over network" {
menuentry $"Server NFS" {
echo $"Loading Linux vmlinuz$KFLAVOUR ..."
......
=== features.in/hdt ===
Добавление модуля hdt (Hardware Detection Tool) к syslinux;
может быть востребовано для инсталяторов, live/rescue.
......
=== features.in/homeros ===
Каталог содержит основную feature для создания адаптированного
дистрибутива Homeros. Это промежуточный вариант, при помощи которого
можно получить минимальный разговаривающий образ, но, возможно, помимо
......
=== features.in/im ===
Эта фича добавляет средства настройки методов ввода (Input Methods).
На данный момент является экспериментальной, приветствуется помощь
......
=== features.in/init ===
Эта фича определяет систему инициализации, которая будет использована
в пользовательской среде (livecd, установленный дистрибутив, vm).
Она не влияет на состав инсталятора и rescue-образа.
......@@ -7,5 +9,7 @@
считается достигнутой и при последующих вызовах не отрабатывает.
См. тж.:
http://altlinux.org/sysvinit
http://altlinux.org/systemd
https://www.altlinux.org/Sysvinit
https://www.altlinux.org/Systemd
=== features.in/initrd-bootchain ===
Осуществляется сборка initrd.img при помощи make-initrd с включенными фичами
bootchain. Это альтернатива фичи initrd-propagator. Используется тот же список
модулей ядра, что и при сборке с propagator, но в отличие от последнего модули
добавляются в initrd.img самим make-initrd.
Документацию по использованию bootchain следует смотреть в пакетах
make-initrd-bootchain-*:
/usr/share/make-initrd/features/bootchain-*/README.md
/usr/share/make-initrd/features/bootchain-*/README.md
Конфиг находится в stage1/files/bootchain. Почти все переменные можно
переопределить. Переменные в m-p по сравнению с конфигом bootchain
имеют приставку 'BOOTCHAIN_'. Дефолты заданы в config.mk
Переопределить можно так:
$(call set,BOOTCHAIN_OEM_WELCOME_TEXT,Welcome to my OS!)
......@@ -25,8 +25,6 @@ FEATURES += bootchain-waitdev
FEATURES += bootchain-getimage
FEATURES += bootchain-nfs
FEATURES += bootchain-cifs
PUT_UDEV_RULES += *-net-setup-link.rules *-net-description.rules
PUT_FILES += /lib/systemd/network/99-default.link
EOF
for module in $(grep -v ^# /.in/modules | sort -u | tr -s '\n' ' '); do
......@@ -59,8 +57,14 @@ MAKE_INITRD_VER="`make-initrd -V \
[ -z "$GLOBAL_VERBOSE" ] ||
MAKE_INITRD_OPTS="$MAKE_INITRD_OPTS -v"
# copy initrd.mk to image
mkdir -p /.image/.disk
cp /etc/initrd.mk /.image/.disk
cp /etc/sysconfig/bootchain /.image/.disk
cd /boot
for KVER in $kver; do
echo make-initrd $MAKE_INITRD_OPTS -k "$KVER" >> /.image/.disk/mkinitrd
make-initrd $MAKE_INITRD_OPTS -k "$KVER" ||
fatal "make-initrd failed"
done
......
=== features.in/initrd-propagator ===
Добавляется поддержка propagator. propagator обеспечивает первую стадию загрузчика.
Ранее был неотъемлемой частью субпрофиля stage1. Был вынесен в фичу для обеспечения
возожности собирать образы с использованием специально собранного initrd вместо него.
......@@ -26,6 +26,10 @@ for module in $(grep -v ^# /.in/modules | sort -u | tr -s '\n' ' '); do
echo "MODULES_TRY_ADD += $module" >> /etc/initrd.mk
done
# copy initrd.mk to image
mkdir -p /.image/.disk
cp /etc/initrd.mk /.image/.disk
# FIXME: large storage systems can get that tmpfs filled up
# with debug data as of make-initrd 2.2.12
rm -vf /usr/share/make-initrd/data/etc/udev/rules.d/00-debug.rules \
......@@ -41,6 +45,7 @@ MAKE_INITRD_VER="`make-initrd -V \
cd /boot
for KVER in $kver; do
echo make-initrd $MAKE_INITRD_OPTS -k "$KVER" >> /.image/.disk/mkinitrd
make-initrd $MAKE_INITRD_OPTS -k "$KVER" ||
fatal "make-initrd failed"
done
......
=== features.in/install2 ===
Эта фича дополняет базовый "живой" образ второй стадии
специфическими для инсталяционного образа настройками
и скриптовыми хуками.
......
......@@ -18,6 +18,8 @@ use/install2: use/stage2 sub/stage2@install2 use/metadata \
@$(call xport,INSTALL2_CLEANUP_PACKAGES)
@$(call xport,INSTALL2_CLEANUP_KDRIVERS)
@$(call add,INSTALL2_PACKAGES,lsof)
@$(call add,INSTALL2_PACKAGES,mdadm)
@$(call add,BASE_PACKAGES,mdadm)
# doesn't use/install2/fs on purpose (at least so far)
use/install2/full: \
......
=== features.in/isohybrid ===
Эта фича обеспечивает формирование ISO-образа с добавлением липовой
таблицы разделов с целью обеспечения возможности его загрузки
как с CD/DVD, так и с USB-флэшки.
......
=== features.in/kernel ===
Эта фича привносит код, имеющий смысл при добавлении в образ ядра,
и задаёт начальный вариант такового.
......
=== features.in/l10n ===
Эта фича занимается поддержкой локализации (l10n).
=== features.in/ldm ===
Simple hook to run Linux Driver Management tools to configure hybrid graphics
(aka Optimus/PRIME) for different DM's.
......
=== features.in/live-install ===
Эта фича дополняет live образ второй стадии специфическими
для инсталяционного образа настройками и скриптовыми хуками.
Рекомендуется подключать при помощи +live-installer, чтобы
обеспечить включение типового набора связанных с инсталятором
функций.
В отличие от фичи install2 не собирается отдельный образ
второй стадии altinst, а дополняется образ live пакетами
инсталятора с целью уменьшить общий объём iso-образа.
Установка состоит и двух этапов:
1. Распаковывается образ live, как в livecd-install
2. Устанавливаются дополнительные пакеты BASE_PACKAGES и
группы пакетов THE_GROUPS, как в install2.
В отличии от install2 в репозиторий main помещаются только те
пакеты, которых нет в live образе. Этим и достигается уменьшение
размера iso-образа.
# alterator-based installer, second (livecd) stage
+live-installer: use/live-install/full; @:
use/live-install: use/live use/metadata use/repo/main \
use/bootloader use/grub/live-install.cfg use/syslinux/live-install.cfg
@$(call add_feature)
@$(call add,LIVE_PACKAGES,installer-common-stage2)
@$(call add,BASE_PACKAGES,installer-common-stage3)
@$(call add,LIVE_PACKAGES,installer-livecd-install)
@$(call add,LIVE_PACKAGES,alterator-postinstall) # for auto install
@$(call try,INSTALLER,altlinux-generic) # might be replaced later
@$(call add,LIVE_PACKAGES,installer-distro-$$(INSTALLER)-stage2)
@$(call add,LIVE_PACKAGES,branding-$$(BRANDING)-alterator)
@$(call add,LIVE_PACKAGES,branding-$$(BRANDING)-release)
@$(call add,LIVE_PACKAGES,installer-distro-$$(INSTALLER)-stage3)
@$(call add,LIVE_PACKAGES,glibc-gconv-modules) # for guile22
@$(call add,LIVE_PACKAGES,curl) # for net install
@$(call add,LIVE_PACKAGES,lsof) # for debug alterator-vm
@$(call set,GLOBAL_LIVE_INSTALL,1)
@$(call xport,BASE_BOOTLOADER)
use/live-install/full: use/live-install \
use/syslinux/localboot.cfg use/grub/localboot_bios.cfg \
use/syslinux/ui/menu; @:
# set up remote repositories within installed system out-of-box
use/live-install/repo: use/live-install; @:
ifneq (,$(filter-out e2k%,$(ARCH)))
@$(call add,BASE_PACKAGES,installer-feature-online-repo)
endif
use/live-install/vnc:
@$(call add,LIVE_PACKAGES,installer-feature-vnc-stage2)
# this one expects external vncviewer to come
use/live-install/vnc/listen: use/live-install/vnc \
use/syslinux/live-install-vnc-listen.cfg use/grub/live-install-vnc-listen.cfg; @:
# this one connects to a specified vncviewer --listen
use/live-install/vnc/connect: use/live-install/vnc \
use/syslinux/live-install-vnc-connect.cfg use/grub/live-install-vnc-connect.cfg; @:
# add both bootloader items to be *that* explicit ;-)
use/live-install/vnc/full: use/live-install/vnc/listen use/live-install/vnc/connect; @:
# prepare bootloader for software suspend (see also live)
use/live-install/suspend:
@$(call add,BASE_PACKAGES,installer-feature-desktop-suspend-stage2)
#!/bin/sh -efu
installer_steps=/usr/share/install2/installer-steps
[ -f "$installer_steps" ] || exit 1
grep -q installer-livecd-install "$installer_steps" ||
sed -i '/vm/a\installer-livecd-install' "$installer_steps"
#!/bin/sh
# NB: grub is currently the default in ALT
sed -ri "s/^(grub|lilo)$/$GLOBAL_BASE_BOOTLOADER/" \
/usr/share/install2/installer-steps
#!/bin/sh
echo -n "*** vm-profile.scm provided by: "
rpm -qf /var/cache/alterator/vm-profile.scm ||:
#!/bin/sh -efu
PREFIX=ALTLinux
RPM_LIVE_LIST="$WORKDIR/.disk/pkglists/live/image/rpm.txt"
[ -d "$WORKDIR/$PREFIX/RPMS.main" ] || exit 0
[ -f "$RPM_LIVE_LIST" ] || exit 1
cd "$WORKDIR/$PREFIX/RPMS.main"
cat "$RPM_LIVE_LIST" | grep -v kernel-image | grep -v kernel-modules | xargs rm -fv
=== features.in/live ===
Эта фича дополняет базовый "живой" образ второй стадии
специфическими для полноценного LiveCD настройками
и скриптовыми хуками, а также создаёт файл index.html
......
#!/bin/sh -e
# don't cripple the image to be copied over
[ -n "$GLOBAL_LIVE_INSTALL"] || \
[ -x /usr/sbin/live-install ] || \
[ -x /usr/sbin/livecd-install ] && exit 0
if [ -n "$GLOBAL_LIVE_CLEANUP_KDRIVERS" ]; then
for i in $GLOBAL_LIVE_CLEANUP_KDRIVERS; do
rm -rf /lib/modules/*/"$i"
......
=== features.in/lowmem ===
Эта фича дополняет зачистку "живой" стадии инсталятора
с тем, чтобы уменьшить её размер и требования к памяти.
=== features.in/ltsp ===
Эта фича обеспечивает добавление функций терминального сервера:
- загрузку бездисковых тонких клиентов по сети;
- предоставление им доступа к серверу приложений.
На данный момент является экспериментальной.
=== features.in/luks ===
Эта секретная фича добавляет в инсталяторы поддержку
шифрования файловых систем с помощью LUKS при их создании.
=== features.in/lxc-guest ===
Adds systemd generators needed to run lxd container.
=== features.in/lxc ===
Эта фича предназначена для создания контейнеров LXC и LXD.
=== features.in/mediacheck ===
Эта фича конфигурирует внедрение контрольной суммы в образ
инсталятора после его сборки с целью проверки целостности
на ранней стадии установки.
......
......@@ -2,6 +2,9 @@ ifeq (distro,$(IMAGE_CLASS))
use/mediacheck: use/stage2 sub/stage2@mediacheck \
use/grub/mediacheck.cfg use/syslinux/mediacheck.cfg
@$(call add_feature)
@if ! command -v implantisomd5 >/dev/null 2>&1; then \
echo "Error: implantisomd5 is not available! Need install isomd5sum"; exit 1; \
fi
@$(call add,POSTPROCESS_TARGETS,90mediacheck)
else
use/mediacheck: ; @:
......
=== features.in/memclean ===
Эта фича добавляет и включает очистку освобождаемой памяти
средствами zmalloc (через LD_PRELOAD).
=== features.in/memtest ===
Добавление memtest86+ в загрузку с образа и в устанавливаемую пакетную базу;
востребовано для инсталяторов, live/rescue. Интегрируется с syslinux.
=== features.in/metadata ===
Эта фича занимается метаданными в составе образов --
в первую очередь инсталяционных и пригодных к установке
"живых".
......
=== features.in/mipsel-bfk3 ===
Фича предназначена для создания образа прошивки для отладочной платы BFK3.1.
https://www.altlinux.org/BFK3.1
=== features.in/mipsel-mitx ===
Фича предназначена для создания прошивки для компьютера "Таволга Терминал".
https://www.altlinux.org/Ports/mipsel/Прошивка_образа_в_формате_recovery.tar_на_Таволга_Терминал
=== features.in/net-dns ===
Эта фича позволяет сконфигурировать публично доступный
рекурсивный DNS-сервер для условий, когда локальный
неизвестен заранее или попросту отсутствует; следует
......
=== features.in/net-eth ===
Эта фича позволяет задать конфигурацию Ethernet-интерфейсов.
udev-rule-generator-net штатно добавляется для обеспечения
......
=== features.in/net-ssh ===
Эта фича предназначена для добавления в образ поддержки SSH:
добавляется клиент и конфигурируется сервер (требуется задание
пути к существующему публичному ключу посредством переменной SSH_KEY).
=== features.in/net-usershares ===
Эта фича выполняет предварительное конфигурирование системы
для работы плагинов файл-менеджеров, реализующих взаимодействие
с Samba-сервером для динамического создания разделяемых файловых
......
=== features.in/net ===
Эта фича конфигурирует базовую поддержку сети, включая нужную подсистему
(etcnet, NetworkManager поверх etcnet или connman).
......
=== features.in/no-sleep ===
Эта фича отключает спящий и ждущий режимы, а также гибернацию.
Нужна для одноплатных компьютеров вроде Raspberry Pi,
не поддерживающих их.
=== features.in/ntp ===
Эта фича конфигурирует службу NTP в качестве клиента
с целью предоставления точного времени в составе LiveCD;
для установленных систем рекомендуется применение модуля
......
=== features.in/oem ===
Эта фича обеспечивает автоматический запуск предварительной настройки,
характерный для OEM-образов.
== Переназначение шагов alterator-setup ==
Дефолтные шаги определяются в файле /etc/alterator-setup/steps.
Его дефолтное содержание:
sysconfig
......
=== features.in/office ===
Эта фича обеспечивает наличие и конкретизацию выбора офисного
пакета по аналогии с выбором браузера. Разумеется, дополнительные
варианты могут быть установлены явным или косвенным затребованием.
......
=== features.in/pack ===
Эта фича определяет формат упаковки создаваемого образа.
На данный момент поддерживаются iso (загрузочный ISO9660
......
=== features.in/pid1 ===
Эта экспериментальная фича предназначена для обеспечения запуска
заданного приложения в моно^Wкачестве единственного, т.е. PID 1.
Особенности результата:
- предельно быстрый запуск;
- работа под root;
- отсутствие какой бы то ни было инициализации окружения.
Возможна настройка сетевых интерфейсов средствами ядра, условия:
- статически собранный модуль для используемого интерфейса;
- доступность DHCP/BOOTP/RARP в сегменте локальной сети.
Пакет следует добавить в STAGE1_PACKAGES; путь к бинарнику
......
=== features.in/pkgpriorities ===
Эта фича обеспечивает добавление записей в файл
`$(PKGBOX)/aptbox/etc/apt/pkgpriorities`
после инициализации чрута, но перед установкой пакетов.
......
=== features.in/plymouth ===
Эта фича предназначена для добавления поддержки plymouth
-- современной реализации bootsplash. Плотно взаимодействует
с фичей branding по объективным причинам, но оформлена отдельно
......
......@@ -27,7 +27,7 @@ endif
use/plymouth/base: use/plymouth/stage2 use/drm/full; @:
ifeq (distro,$(IMAGE_CLASS))
@$(call add,INSTALL2_PACKAGES,installer-feature-setup-plymouth)
@$(call add,BASE_PACKAGES,installer-feature-setup-plymouth)
endif
@$(call add,THE_BRANDING,bootsplash graphics)
@$(call add,THE_PACKAGES,make-initrd-plymouth cpio)
......
=== features.in/power ===
Эта фича конфигурирует поддержку управления питанием
-- выключение и регулировку частоты CPU для ACPI,
засыпание для APM (не проверялось).
=== features.in/relname ===
Эта фича меняет содержимое файла /etc/altlinux-release в соответствии
с установленной переменной RELNAME, что изменяет пункты загрузки GRUB.
......
=== features.in/repo ===
Эта фича предназначена для конфигурирования репозиториев
в образе, включая генерацию хэшей и подключение к LiveCD.
......
#!/bin/sh -eu
PREFIX=ALTLinux
cd "$WORKDIR/$PREFIX"
COMPS="$(find -mindepth 1 -maxdepth 1 -type d -name 'RPMS.*' -printf '%f\n' |
sed 's/^RPMS\.//')"
[ -z "$GLOBAL_VERBOSE" ] || echo "** COMPS=$COMPS" >&2
[ -n "$COMPS" ] || exit 1
for comp in $COMPS; do
for f in RPMS.$comp/*rpm; do
[ "$f" = "RPMS.$comp/$(rpm -qp $f).rpm" ] || mv $f RPMS.$comp/$(rpm -qp $f).rpm
done
done
......@@ -9,12 +9,6 @@ COMPS="$(find -mindepth 1 -maxdepth 1 -type d -name 'RPMS.*' -printf '%f\n' |
[ -z "$GLOBAL_VERBOSE" ] || echo "** COMPS=$COMPS" >&2
[ -n "$COMPS" ] || exit 1
for comp in $COMPS; do
for f in RPMS.$comp/*rpm; do
[ "$f" = "RPMS.$comp/$(rpm -qp $f).rpm" ] || mv $f RPMS.$comp/$(rpm -qp $f).rpm
done
done
# NB: bz2 still needed for apt-cdrom add to work
genbasedir \
--topdir="$WORKDIR" \
......
=== features.in/rescue ===
Эта фича дополняет базовый "живой" образ второй стадии
специфическими для спасательного образа настройками
и скриптовыми хуками.
......
=== features.in/server ===
Эта фича предоставляет типичные для серверных образов
наборы списков пакетов и модулей ядра.
=== features.in/services ===
Данная фича конфигурирует автоматический запуск сервисов
при загрузке системы.
......
......@@ -102,7 +102,7 @@ for i in $GLOBAL_SYSTEMD_USER_SERVICES_ENABLE; do switch $i enabled; done
for i in $GLOBAL_SYSTEMD_USER_SERVICES_DISABLE; do switch $i disabled; done
SERVICES="$GLOBAL_DEFAULT_SYSTEMD_USER_SERVICES_ENABLE $GLOBAL_DEFAULT_SYSTEMD_USER_SERVICES_DISABLE"
SERVICES="$GLOBAL_SYSTEMD_USER_SERVICES_ENABLE $GLOBAL_SYSTEMD_USER_SERVICES_DISABLE"
SERVICES="$SERVICES $GLOBAL_SYSTEMD_USER_SERVICES_ENABLE $GLOBAL_SYSTEMD_USER_SERVICES_DISABLE"
SERVICES="$(echo "$SERVICES" | tr ' ' '\n' | sort -u)"
for i in $SERVICES; do
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment