Commit b5e6906b authored by Michael Shigorin's avatar Michael Shigorin

syslinux configuration revisited

- incompatible change (to fix the rather broken early style): use/syslinux/ui-% is now use/syslinux/ui/%; - default timeout changed to 9 seconds (long enough and keeps the countdown in a single figure); - added totaltimeout of 300 seconds; - provided live kiosk images with almost-instant boot by default; ...and some other assorted tweaks here and there, sorry.
parent afd84973
# desktop distributions # desktop distributions
ifeq (distro,$(IMAGE_CLASS)) ifeq (distro,$(IMAGE_CLASS))
distro/.desktop-base: distro/.installer use/syslinux/ui-vesamenu use/x11/xorg distro/.desktop-base: distro/.installer use/syslinux/ui/vesamenu use/x11/xorg
@$(call set,INSTALLER,desktop) @$(call set,INSTALLER,desktop)
distro/.desktop-mini: distro/.desktop-base use/lowmem use/x11/xdm \ distro/.desktop-mini: distro/.desktop-base use/x11/xdm +power; @:
use/power/acpi/button use/cleanup/alterator; @:
distro/tde: distro/.desktop-mini +tde distro/.desktop-network: distro/.desktop-mini use/virtualbox/guest
@$(call add,BASE_LISTS,$(call tags,(base || desktop) && network)) @$(call add,BASE_LISTS,$(call tags,(base || desktop) && network))
distro/icewm: distro/.desktop-mini +icewm; @: distro/icewm: distro/.desktop-network use/lowmem +icewm; @:
distro/ltsp-icewm: distro/icewm +ltsp; @: distro/tde: distro/.desktop-mini +tde; @:
distro/ltsp-tde: distro/tde +ltsp; @: distro/ltsp-tde: distro/tde +ltsp; @:
distro/ltsp-icewm: distro/icewm +ltsp; @:
distro/desktop-systemd: distro/icewm use/systemd; @: distro/desktop-systemd: distro/icewm use/systemd; @:
endif endif
...@@ -2,18 +2,17 @@ ...@@ -2,18 +2,17 @@
ifeq (distro,$(IMAGE_CLASS)) ifeq (distro,$(IMAGE_CLASS))
distro/syslinux: distro/.init \ distro/syslinux: distro/.init \
use/syslinux/localboot.cfg use/syslinux/ui-vesamenu use/hdt; @: use/syslinux/localboot.cfg use/syslinux/ui/vesamenu use/hdt; @:
distro/dos: distro/.init use/dos use/syslinux/ui-menu; @: distro/dos: distro/.init use/dos use/syslinux/ui/menu; @:
distro/rescue: distro/.base use/rescue use/syslinux/ui-menu; @: distro/rescue: distro/.base use/rescue use/syslinux/ui/menu; @:
distro/live-systemd: distro/.base use/live/base use/systemd; @: distro/live-systemd: distro/.base use/live/base use/systemd; @:
distro/.live-base: distro/.base use/live/base use/power/acpi/button; @: distro/.live-base: distro/.base use/live/base use/power/acpi/button; @:
distro/.live-desktop: distro/.base +live use/syslinux/ui-vesamenu; @: distro/.live-desktop: distro/.base +live use/syslinux/ui/vesamenu; @:
distro/.live-kiosk: distro/.base use/live use/live/autologin \ distro/.live-kiosk: distro/.base use/live/base use/live/autologin \
use/power/acpi/button use/power/acpi/cpufreq use/cleanup use/syslinux/timeout/1 use/cleanup +power
@$(call add,LIVE_LISTS,$(call tags,base network))
@$(call add,LIVE_PACKAGES,fonts-ttf-dejavu) @$(call add,LIVE_PACKAGES,fonts-ttf-dejavu)
@$(call add,CLEANUP_PACKAGES,'alterator*' 'guile*' 'vim-common') @$(call add,CLEANUP_PACKAGES,'alterator*' 'guile*' 'vim-common')
......
# server distributions # server distributions
ifeq (distro,$(IMAGE_CLASS)) ifeq (distro,$(IMAGE_CLASS))
distro/.server-base: distro/.installer use/syslinux/ui-menu use/memtest distro/.server-base: distro/.installer use/syslinux/ui/menu use/memtest
@$(call add,BASE_LISTS,server-base) @$(call add,BASE_LISTS,server-base)
distro/server-mini: distro/.server-base use/cleanup/x11-alterator distro/server-mini: distro/.server-base use/cleanup/x11-alterator
...@@ -30,7 +30,7 @@ distro/server-ovz: distro/server-mini use/install2/net \ ...@@ -30,7 +30,7 @@ distro/server-ovz: distro/server-mini use/install2/net \
# tiny network-only server-ovz installer (stage2 comes over net too) # tiny network-only server-ovz installer (stage2 comes over net too)
distro/server-ovz-netinst: distro/.base sub/stage1 use/stage2 \ distro/server-ovz-netinst: distro/.base sub/stage1 use/stage2 \
use/syslinux/ui-menu use/syslinux/localboot.cfg use/memtest use/syslinux/ui/menu use/syslinux/localboot.cfg use/memtest
@$(call add,SYSLINUX_CFG,netinstall2) @$(call add,SYSLINUX_CFG,netinstall2)
endif endif
...@@ -68,6 +68,7 @@ ...@@ -68,6 +68,7 @@
- REPORT - REPORT
+ запрашивает создание отчёта о собранном образе + запрашивает создание отчёта о собранном образе
+ значение: пусто (по умолчанию) либо любая строка + значение: пусто (по умолчанию) либо любая строка
+ NB: в силу специфики обработки передаётся только явно
+ см. ../Makefile, ../report.mk, ../lib/report.mk + см. ../Makefile, ../report.mk, ../lib/report.mk
- SAVE_PROFILE - SAVE_PROFILE
......
...@@ -6,19 +6,19 @@ use/live: use/stage2 sub/stage2/live ...@@ -6,19 +6,19 @@ use/live: use/stage2 sub/stage2/live
@$(call add_feature) @$(call add_feature)
@$(call add,CLEANUP_PACKAGES,'installer*') @$(call add,CLEANUP_PACKAGES,'installer*')
use/live/base: use/live use/syslinux/ui-menu use/live/base: use/live use/syslinux/ui/menu
@$(call add,LIVE_LISTS,$(call tags,base && (live || network))) @$(call add,LIVE_LISTS,$(call tags,base && (live || network)))
# optimized out: use/x11/xorg # optimized out: use/x11/xorg
use/live/desktop: use/live/base use/x11/wacom use/firmware \ use/live/desktop: use/live/base use/x11/wacom use/virtualbox/guest +power
use/virtualbox/guest use/power/acpi/button use/power/acpi/cpufreq
@$(call add,LIVE_LISTS,$(call tags,desktop && (live || network))) @$(call add,LIVE_LISTS,$(call tags,desktop && (live || network)))
@$(call add,LIVE_PACKAGES,fonts-ttf-dejavu fonts-ttf-droid) @$(call add,LIVE_PACKAGES,fonts-ttf-dejavu fonts-ttf-droid)
@$(call add,SYSLINUX_CFG,localboot)
# NB: there's an unconditional live/image-scripts.d/40-autologin script # NB: there's an unconditional live/image-scripts.d/40-autologin script
# *but* it only configures some of the *existing* means; let's add one # *but* it only configures some of the *existing* means; let's add one
# for the cases when there should be no display manager # for the cases when there should be no display manager
use/live/autologin: use/live/base use/x11/xorg use/live/autologin: use/live use/x11/xorg
@$(call add,LIVE_PACKAGES,autologin xinit) @$(call add,LIVE_PACKAGES,autologin xinit)
use/live/hooks: use/live use/live/hooks: use/live
......
+power: use/power/acpi/button use/power/acpi/cpufreq; @:
# common # common
# TODO: invent multi-target scripts and integrate that 08-powerbutton # TODO: invent multi-target scripts and integrate that 08-powerbutton
use/power: use/power:
......
...@@ -2,8 +2,9 @@ ...@@ -2,8 +2,9 @@
реализуется в рамках stage1. реализуется в рамках stage1.
Цели config.mk: Цели config.mk:
* use/syslinux/ui-% -- конфигурирование интерфейса (см. cfg.in/00*.cfg); * use/syslinux/ui/% -- конфигурирование интерфейса (см. cfg.in/00*.cfg);
при использовании автоматически добавляют syslinux в FEATURES; при использовании автоматически добавляют syslinux в FEATURES;
* use/syslinux/timeout/% -- задание таймаута автозагрузки (в десятых секунды);
* use/syslinux/%.com, use/syslinux/%.c32 -- подключение одноименных модулей * use/syslinux/%.com, use/syslinux/%.c32 -- подключение одноименных модулей
(копирование бинарников и включение кусочков конфигурации; экспериментальное); (копирование бинарников и включение кусочков конфигурации; экспериментальное);
* use/syslinux/%.cfg -- подключение кусочков конфигурации. * use/syslinux/%.cfg -- подключение кусочков конфигурации.
......
timeout @timeout@
totaltimeout 3000
...@@ -5,7 +5,7 @@ use/syslinux: sub/stage1 ...@@ -5,7 +5,7 @@ use/syslinux: sub/stage1
@$(call try,META_SYSTEM_ID,SYSLINUX) @$(call try,META_SYSTEM_ID,SYSLINUX)
# UI is overwritten # UI is overwritten
use/syslinux/ui-%: use/syslinux use/syslinux/ui/%: use/syslinux
@$(call set,SYSLINUX_UI,$*) @$(call set,SYSLINUX_UI,$*)
@if [ "$*" == gfxboot ]; then \ @if [ "$*" == gfxboot ]; then \
$(call add,STAGE1_PACKAGES,gfxboot); \ $(call add,STAGE1_PACKAGES,gfxboot); \
...@@ -18,3 +18,6 @@ use/syslinux/%.com use/syslinux/%.c32: use/syslinux ...@@ -18,3 +18,6 @@ use/syslinux/%.com use/syslinux/%.c32: use/syslinux
use/syslinux/%.cfg: use/syslinux use/syslinux/%.cfg: use/syslinux
@$(call add,SYSLINUX_CFG,$*) @$(call add,SYSLINUX_CFG,$*)
use/syslinux/timeout/%: use/syslinux
@$(call set,SYSLINUX_TIMEOUT,$*)
ifdef BUILDDIR ifdef BUILDDIR
# in deciseconds
DEFAULT_TIMEOUT = 90
# prepare data for syslinux installation; # prepare data for syslinux installation;
# see also stage1/scripts.d/01-syslinux # see also stage1/scripts.d/01-syslinux
...@@ -44,15 +47,27 @@ cfg = $(wildcard cfg.in/??$(1).cfg) ...@@ -44,15 +47,27 @@ cfg = $(wildcard cfg.in/??$(1).cfg)
# and files involved will appear inside instrumental chroot # and files involved will appear inside instrumental chroot
# #
# arguments get evaluated before recipe body execution thus prep # arguments get evaluated before recipe body execution thus prep
all: prep debug
@cp -pLt $(DSTDIR) -- $(sort \ all: debug timeout
$(foreach C,$(SYSLINUX_CFG),$(call cfg,$(C))) \
$(foreach M,$(SYSLINUX_MODULES),$(call cfg,$(M))))
@### proper text branding should be implemented @### proper text branding should be implemented
@sed -i 's,@mkimage-profiles@,$(IMAGE_NAME),' $(DSTDIR)/*.cfg @sed -i 's,@mkimage-profiles@,$(IMAGE_NAME),' $(DSTDIR)/*.cfg
@echo $(SYSLINUX_MODULES) > $(DSTDIR)/modules.list @echo $(SYSLINUX_MODULES) > $(DSTDIR)/modules.list
@echo $(SYSLINUX_FILES) > $(DSTDIR)/syslinux.list @echo $(SYSLINUX_FILES) > $(DSTDIR)/syslinux.list
# integerity check
timeout: copy
@if [ "$(SYSLINUX_TIMEOUT)" -ge 0 ] 2>/dev/null; then \
TIMEOUT="$(SYSLINUX_TIMEOUT)"; \
else \
TIMEOUT="$(DEFAULT_TIMEOUT)"; \
fi; \
sed -i "s,@timeout@,$$TIMEOUT," $(DSTDIR)/*.cfg
copy: prep
@cp -pLt $(DSTDIR) -- $(sort \
$(foreach C,$(SYSLINUX_CFG),$(call cfg,$(C))) \
$(foreach M,$(SYSLINUX_MODULES),$(call cfg,$(M))))
prep: prep:
@mkdir -p $(DSTDIR) @mkdir -p $(DSTDIR)
......
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