mkimage-profiles/features.in/pid1/config.mk
Michael Shigorin 1a7eed303d pid1: initial "run as PID 1" feature
This one has been inspired by these guys:

  http://www.informatimago.com/linux/emacs-on-user-mode-linux.html
  https://raymii.org/s/blog/Vim_as_PID_1_Boot_to_Vim.html

It's aimed at building images running their main userspace
piece instead of ramdisk's init, that means PID=1, UID=0.

Mostly fun of course but it suddenly became interesting with
kernel IP autoconfiguration and e.g. elinks running this way
(NB: requires patched make-initrd 0.8.8 at the moment to get
resolver configured).

And startup times are way better than sysvinit and systemd combined!
2014-09-19 20:53:25 +04:00

21 lines
651 B
Makefile

# choose the smallest suitable kernel
use/pid1: sub/stage1 use/syslinux/timeout/1
@$(call add_feature)
@$(call add,STAGE1_PACKAGES,make-initrd)
@$(call add,STAGE2_BOOTARGS,quiet)
@$(call add,STAGE2_BOOTARGS,panic=$$(PID1_PANIC))
@$(call add,STAGE2_BOOTARGS,rdinit=$$(PID1_BIN))
@$(call add,SYSLINUX_CFG,pid1)
@$(call try,PID1_PANIC,3)
@$(call xport,PID1_PANIC)
@$(call xport,PID1_BIN)
ifeq (i586,$(ARCH))
@$(call set,KFLAVOURS,ltsp-client)
endif
# need a kernel with CONFIG_IP_PNP_DHCP
# NB: make-initrd must support resolver setup!
use/pid1/net: use/pid1
@$(call add,STAGE2_BOOTARGS,ip=dhcp)
@$(call add,STAGE1_PACKAGES,chrooted-resolv)