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.
This commit is contained in:
Michael Shigorin 2012-03-30 22:41:19 +03:00
parent afd84973d9
commit b5e6906b56
15 changed files with 48 additions and 27 deletions

View File

@ -1,18 +1,18 @@
# desktop distributions
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)
distro/.desktop-mini: distro/.desktop-base use/lowmem use/x11/xdm \
use/power/acpi/button use/cleanup/alterator; @:
distro/.desktop-mini: distro/.desktop-base use/x11/xdm +power; @:
distro/tde: distro/.desktop-mini +tde
distro/.desktop-network: distro/.desktop-mini use/virtualbox/guest
@$(call add,BASE_LISTS,$(call tags,(base || desktop) && network))
distro/icewm: distro/.desktop-mini +icewm; @:
distro/ltsp-icewm: distro/icewm +ltsp; @:
distro/icewm: distro/.desktop-network use/lowmem +icewm; @:
distro/tde: distro/.desktop-mini +tde; @:
distro/ltsp-tde: distro/tde +ltsp; @:
distro/ltsp-icewm: distro/icewm +ltsp; @:
distro/desktop-systemd: distro/icewm use/systemd; @:
endif

View File

@ -2,18 +2,17 @@
ifeq (distro,$(IMAGE_CLASS))
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/rescue: distro/.base use/rescue 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/live-systemd: distro/.base use/live/base use/systemd; @:
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 \
use/power/acpi/button use/power/acpi/cpufreq use/cleanup
@$(call add,LIVE_LISTS,$(call tags,base network))
distro/.live-kiosk: distro/.base use/live/base use/live/autologin \
use/syslinux/timeout/1 use/cleanup +power
@$(call add,LIVE_PACKAGES,fonts-ttf-dejavu)
@$(call add,CLEANUP_PACKAGES,'alterator*' 'guile*' 'vim-common')

View File

@ -1,7 +1,7 @@
# server distributions
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)
distro/server-mini: distro/.server-base use/cleanup/x11-alterator
@ -30,7 +30,7 @@ distro/server-ovz: distro/server-mini use/install2/net \
# tiny network-only server-ovz installer (stage2 comes over net too)
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)
endif

View File

@ -68,6 +68,7 @@
- REPORT
+ запрашивает создание отчёта о собранном образе
+ значение: пусто (по умолчанию) либо любая строка
+ NB: в силу специфики обработки передаётся только явно
+ см. ../Makefile, ../report.mk, ../lib/report.mk
- SAVE_PROFILE

View File

@ -6,19 +6,19 @@ use/live: use/stage2 sub/stage2/live
@$(call add_feature)
@$(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)))
# optimized out: use/x11/xorg
use/live/desktop: use/live/base use/x11/wacom use/firmware \
use/virtualbox/guest use/power/acpi/button use/power/acpi/cpufreq
use/live/desktop: use/live/base use/x11/wacom use/virtualbox/guest +power
@$(call add,LIVE_LISTS,$(call tags,desktop && (live || network)))
@$(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
# *but* it only configures some of the *existing* means; let's add one
# 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)
use/live/hooks: use/live

View File

@ -1,3 +1,5 @@
+power: use/power/acpi/button use/power/acpi/cpufreq; @:
# common
# TODO: invent multi-target scripts and integrate that 08-powerbutton
use/power:

View File

@ -2,8 +2,9 @@
реализуется в рамках stage1.
Цели config.mk:
* use/syslinux/ui-% -- конфигурирование интерфейса (см. cfg.in/00*.cfg);
* use/syslinux/ui/% -- конфигурирование интерфейса (см. cfg.in/00*.cfg);
при использовании автоматически добавляют syslinux в FEATURES;
* use/syslinux/timeout/% -- задание таймаута автозагрузки (в десятых секунды);
* use/syslinux/%.com, use/syslinux/%.c32 -- подключение одноименных модулей
(копирование бинарников и включение кусочков конфигурации; экспериментальное);
* use/syslinux/%.cfg -- подключение кусочков конфигурации.

View File

@ -0,0 +1,2 @@
timeout @timeout@
totaltimeout 3000

View File

@ -1,2 +0,0 @@
timeout 200

View File

@ -5,7 +5,7 @@ use/syslinux: sub/stage1
@$(call try,META_SYSTEM_ID,SYSLINUX)
# UI is overwritten
use/syslinux/ui-%: use/syslinux
use/syslinux/ui/%: use/syslinux
@$(call set,SYSLINUX_UI,$*)
@if [ "$*" == gfxboot ]; then \
$(call add,STAGE1_PACKAGES,gfxboot); \
@ -18,3 +18,6 @@ use/syslinux/%.com use/syslinux/%.c32: use/syslinux
use/syslinux/%.cfg: use/syslinux
@$(call add,SYSLINUX_CFG,$*)
use/syslinux/timeout/%: use/syslinux
@$(call set,SYSLINUX_TIMEOUT,$*)

View File

@ -1,5 +1,8 @@
ifdef BUILDDIR
# in deciseconds
DEFAULT_TIMEOUT = 90
# prepare data for syslinux installation;
# see also stage1/scripts.d/01-syslinux
@ -44,15 +47,27 @@ cfg = $(wildcard cfg.in/??$(1).cfg)
# and files involved will appear inside instrumental chroot
#
# arguments get evaluated before recipe body execution thus prep
all: prep debug
@cp -pLt $(DSTDIR) -- $(sort \
$(foreach C,$(SYSLINUX_CFG),$(call cfg,$(C))) \
$(foreach M,$(SYSLINUX_MODULES),$(call cfg,$(M))))
all: debug timeout
@### proper text branding should be implemented
@sed -i 's,@mkimage-profiles@,$(IMAGE_NAME),' $(DSTDIR)/*.cfg
@echo $(SYSLINUX_MODULES) > $(DSTDIR)/modules.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:
@mkdir -p $(DSTDIR)