|
|
|
@ -18,36 +18,53 @@ Fine tuning of the installation directories:
|
|
|
|
|
--sysconfdir=SYSDIR global configuration files [/etc] |
|
|
|
|
--datarootdir=DATAROOTDIR read-only architecture-independent data root [PREFIX/share] |
|
|
|
|
--shebangdir=DIR absolute path for execline #\! invocations [BINDIR] |
|
|
|
|
--with-system-service=DIR service intallation directory [DATAROOTDIR/$package_macro_dir/service] |
|
|
|
|
--with-boot-conf=DIR installation directory of boot.conf [SYSDIR/$package_macro_dir] |
|
|
|
|
--with-init-conf=DIR init.conf skeleton file of 66-boot [SYSDIR/$package_macro_dir] |
|
|
|
|
--with-scripts=DIR installation directory of scripts [LIBDIR/scripts] |
|
|
|
|
--with-system-service=DIR 66 service intallation directory [DATAROOTDIR/$package_macro_dir/service] |
|
|
|
|
--with-system-module=DIR 66 module intallation directory [DATAROOTDIR/$package_macro_dir/module] |
|
|
|
|
--with-system-script=DIR 66 script installation directory of scripts [DATAROOTDIR/$package_macro_dir/script] |
|
|
|
|
--with-sysadmin-service-conf=DIR 66 sysadmin service configuration file directory [SYSDIR/$package_macro_dir/conf] |
|
|
|
|
--with-skeleton=DIR 66 skeleton files directory installation [SYSDIR/$package_macro_dir] |
|
|
|
|
|
|
|
|
|
Fine tunning of boot configuration: |
|
|
|
|
--HOSTNAME=VALUE hostname of the system [obliveS6] |
|
|
|
|
--HOSTNAME=VALUE hostname of the system [obarunS6] |
|
|
|
|
--HARDWARECLOCK=VALUE set the hardware clock [UTC] |
|
|
|
|
--TZ=VALUE set timezone [GMT] |
|
|
|
|
--SETUPCONSOLE=BOOLEAN configure the console [!yes] |
|
|
|
|
--KEYMAP=VALUE set the console keymap [!us] |
|
|
|
|
--FONT=VALUE set the console font [!lat9w-16] |
|
|
|
|
--FONT_MAP=VALUE set the console map [] |
|
|
|
|
--FONT_UNIMAP=VALUE set the console unimap [] |
|
|
|
|
--CRYPTTAB=BOOLEAN use crypttab by default [!no] |
|
|
|
|
--IPTABLES=BOOLEAN use iptables by default [!no] |
|
|
|
|
--IP6TABLES=BOOLEAN use ip6tables by default [!no] |
|
|
|
|
--UDEV=BOOLEAN use udev [!yes] |
|
|
|
|
--SYSCTL=BOOLEAN configure kernel runtime with sysctl [!yes] |
|
|
|
|
--FORCECHCK=BOOLEAN force a check of the filesystem [!no] |
|
|
|
|
--LOCAL=BOOLEAN use rc.local scripts [!no] |
|
|
|
|
--CONTAINER=BOOLEAN boot inside a container [!no] |
|
|
|
|
--TMPFILE=BOOLEAN use tmpfiles.d files [!yes] |
|
|
|
|
--MODULE_KERNEL=BOOLEAN load modules kernel [!yes] |
|
|
|
|
--MODULE_SYSTEM=BOOLEAN load modules from modules.d files [!yes] |
|
|
|
|
--RANDOMSEED=BOOLEAN set random seed [!yes] |
|
|
|
|
--FSTAB=BOOLEAN mount devices from fstab [!yes] |
|
|
|
|
--CGROUPS=BOOLEAN mount cgroups [!yes] |
|
|
|
|
--SWAP=BOOLEAN mount swap [!no] |
|
|
|
|
--LVM=BOOLEAN mount lvm devices [!no] |
|
|
|
|
--DMRAID=BOOLEAN mount dmraid devices [!no] |
|
|
|
|
--BTRFS=BOOLEAN mount btrfs devices [!no] |
|
|
|
|
--ZFS=BOOLEAN mount zfs devices [!no] |
|
|
|
|
--SYSCTL=BOOLEAN configure kernel runtime with sysctl [!yes] |
|
|
|
|
--FORCECHCK=BOOLEAN force a check of the filesystem [!no] |
|
|
|
|
--LOCAL=BOOLEAN use rc.local scripts [!no] |
|
|
|
|
--CRYPTTAB=BOOLEAN use crypttab by default [!no] |
|
|
|
|
--IPTABLES=BOOLEAN use iptables by default [!no] |
|
|
|
|
--IP6TABLES=BOOLEAN use ip6tables by default [!no] |
|
|
|
|
--CGROUPS=BOOLEAN mount cgroups [!yes] |
|
|
|
|
--MNT_PROC=BOOLEAN mount /proc [!yes] |
|
|
|
|
--MNT_SYS=BOOLEAN mount /sys [!yes] |
|
|
|
|
--MNT_DEV=BOOLEAN mount /dev [!yes] |
|
|
|
|
--MNT_RUN=BOOLEAN mount /run [!yes] |
|
|
|
|
--MNT_TMP=BOOLEAN mount /tmp [!yes] |
|
|
|
|
--MNT_PTS=BOOLEAN mount /dev/pts [!yes] |
|
|
|
|
--MNT_SHM=BOOLEAN mount /dev/shm [!yes] |
|
|
|
|
--MNT_NETFS=BOOLEAN mount no-network filesystems [!yes] |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Use yes or no with lowercase character to set BOOLEAN values. |
|
|
|
|
|
|
|
|
|
Empty value is a commented one in boot.conf file and not used at all. |
|
|
|
|
Empty value is a commented one and not used at all. |
|
|
|
|
|
|
|
|
|
An exclamation mark '!' at the begin of the value unexport the variable |
|
|
|
|
for the environment after the use. This is avoid to poluate the environment |
|
|
|
@ -113,29 +130,46 @@ sysconfdir='/etc'
|
|
|
|
|
datarootdir='$prefix/share' |
|
|
|
|
shebangdir='$bindir' |
|
|
|
|
service_directory='$datarootdir/$package_macro_dir/service' |
|
|
|
|
boot_conf='$sysconfdir/$package_macro_dir/boot.conf' |
|
|
|
|
init_conf='$sysconfdir/$package_macro_dir/init.conf' |
|
|
|
|
scripts='$libdir/scripts' |
|
|
|
|
HOSTNAME='obliveS6' |
|
|
|
|
module_directory='$datarootdir/$package_macro_dir/module' |
|
|
|
|
script_directory='$datarootdir/$package_macro_dir/script' |
|
|
|
|
skel_directory='$sysconfdir/$package_macro_dir' |
|
|
|
|
adm_conf='$sysconfdir/$package_macro_dir/conf' |
|
|
|
|
HOSTNAME='obarunS6' |
|
|
|
|
HARDWARECLOCK='UTC' |
|
|
|
|
TZ='GMT' |
|
|
|
|
SETUPCONSOLE='!yes' |
|
|
|
|
KEYMAP='!us' |
|
|
|
|
FONT='!lat9w-16' |
|
|
|
|
FONT_MAP= |
|
|
|
|
FONT_UNIMAP= |
|
|
|
|
CRYPTTAB='!no' |
|
|
|
|
IPTABLES='!no' |
|
|
|
|
IP6TABLES='!no' |
|
|
|
|
UDEV='!yes' |
|
|
|
|
SYSCTL='!yes' |
|
|
|
|
FORCECHCK='!no' |
|
|
|
|
LOCAL='!no' |
|
|
|
|
CONTAINER='!no' |
|
|
|
|
TMPFILE='!yes' |
|
|
|
|
MODULE_KERNEL='!yes' |
|
|
|
|
MODULE_SYSTEM='!yes' |
|
|
|
|
RANDOMSEED='!yes' |
|
|
|
|
FSTAB='!yes' |
|
|
|
|
CGROUPS='!yes' |
|
|
|
|
SWAP='!no' |
|
|
|
|
LVM='!no' |
|
|
|
|
DMRAID='!no' |
|
|
|
|
BTRFS='!no' |
|
|
|
|
ZFS='!no' |
|
|
|
|
SYSCTL='!yes' |
|
|
|
|
FORCECHCK='!no' |
|
|
|
|
LOCAL='!no' |
|
|
|
|
CRYPTTAB='!no' |
|
|
|
|
IPTABLES='!no' |
|
|
|
|
IP6TABLES='!no' |
|
|
|
|
CGROUPS='!yes' |
|
|
|
|
MNT_PROC='!yes' |
|
|
|
|
MNT_SYS='!yes' |
|
|
|
|
MNT_DEV='!yes' |
|
|
|
|
MNT_RUN='!yes' |
|
|
|
|
MNT_TMP='!yes' |
|
|
|
|
MNT_PTS='!yes' |
|
|
|
|
MNT_SHM='!yes' |
|
|
|
|
MNT_NETFS='!yes' |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
for arg ; do |
|
|
|
|
case "$arg" in |
|
|
|
@ -148,29 +182,44 @@ for arg ; do
|
|
|
|
|
--datarootdir=*) datarootdir=${arg#*=} ;; |
|
|
|
|
--shebangdir=*) shebangdir=${arg#*=} ;; |
|
|
|
|
--with-system-service=*) service_directory=${arg#*=} ;; |
|
|
|
|
--with-boot-conf=*) boot_conf=${arg#*=} ;; |
|
|
|
|
--with-init-conf=*) init_conf=${arg#*=} ;; |
|
|
|
|
--with-scripts=*) scripts=${arg#*=} ;; |
|
|
|
|
--with-system-module=*) module_directory=${arg#*=} ;; |
|
|
|
|
--with-system-script=*) script_directory=${arg#*=} ;; |
|
|
|
|
--with-sysadmin-service-conf=*) adm_conf=${arg#*=} ;; |
|
|
|
|
--with-skeleton=*) skel_directory=${arg#*=} ;; |
|
|
|
|
--HOSTNAME=*) HOSTNAME=${arg#*=} ;; |
|
|
|
|
--HARDWARECLOCK=*) HARDWARECLOCK=${arg#*=} ;; |
|
|
|
|
--TZ=*) TZ=${arg#*=} ;; |
|
|
|
|
--SETUPCONSOLE=*) SETUPCONSOLE=${arg#*=} ;; |
|
|
|
|
--KEYMAP=*) KEYMAP=${arg#*=} ;; |
|
|
|
|
--FONT=*) FONT=${arg#*=} ;; |
|
|
|
|
--FONT_MAP=*) FONT_MAP=${arg#*=} ;; |
|
|
|
|
--FONT_UNIMAP=*) FONT_UNIMAP=${arg#*=} ;; |
|
|
|
|
--CRYPTTAB=*) CRYPTTAB=${arg#*=} ;; |
|
|
|
|
--IPTABLES=*) IPTABLES=${arg#*=} ;; |
|
|
|
|
--IP6TABLES=*) IP6TABLES=${arg#*=} ;; |
|
|
|
|
--SYSCTL=*) SYSCTL=${arg#*=} ;; |
|
|
|
|
--FORCECHCK=*) FORCECHCK=${arg#*=} ;; |
|
|
|
|
--LOCAL=*) LOCAL=${arg#*=} ;; |
|
|
|
|
--CONTAINER=*) CONTAINER=${arg#*=} ;; |
|
|
|
|
--TMPFILE=*) TMPFILE=${arg#*=} ;; |
|
|
|
|
--MODULE_KERNEL=*) MODULE_KERNEL=${arg#*=} ;; |
|
|
|
|
--MODULE_SYSTEM=*) MODULE_SYSTEM=${arg#*=} ;; |
|
|
|
|
--RANDOMSEED=*) RANDOMSEED=${arg#*=} ;; |
|
|
|
|
--FSTAB=*) FSTAB=${arg#*=} ;; |
|
|
|
|
--CGROUPS=*) CGROUPS=${arg#*=} ;; |
|
|
|
|
--SWAP=*) SWAP=${arg#*=} ;; |
|
|
|
|
--LVM=*) LVM=${arg#*=} ;; |
|
|
|
|
--DMRAID=*) DMRAID=${arg#*=} ;; |
|
|
|
|
--BTRFS=*) BTRFS=${arg#*=} ;; |
|
|
|
|
--ZFS=*) ZFS=${arg#*=} ;; |
|
|
|
|
--SYSCTL=*) SYSCTL=${arg#*=} ;; |
|
|
|
|
--FORCECHCK=*) FORCECHCK=${arg#*=} ;; |
|
|
|
|
--LOCAL=*) LOCAL=${arg#*=} ;; |
|
|
|
|
--CRYPTTAB=*) CRYPTTAB=${arg#*=} ;; |
|
|
|
|
--IPTABLES=*) IPTABLES=${arg#*=} ;; |
|
|
|
|
--IP6TABLES=*) IP6TABLES=${arg#*=} ;; |
|
|
|
|
--CGROUPS=*) CGROUPS=${arg#*=} ;; |
|
|
|
|
--MNT_PROC=*) MNT_PROC=${arg#*=} ;; |
|
|
|
|
--MNT_SYS=*) MNT_SYS=${arg#*=} ;; |
|
|
|
|
--MNT_DEV=*) MNT_DEV=${arg#*=} ;; |
|
|
|
|
--MNT_RUN=*) MNT_RUN=${arg#*=} ;; |
|
|
|
|
--MNT_TMP=*) MNT_TMP=${arg#*=} ;; |
|
|
|
|
--MNT_PTS=*) MNT_PTS=${arg#*=} ;; |
|
|
|
|
--MNT_SHM=*) MNT_SHM=${arg#*=} ;; |
|
|
|
|
--MNT_NETFS=*) MNT_NETFS=${arg#*=} ;; |
|
|
|
|
-* ) echo "$0: unknown option $arg" ;; |
|
|
|
|
*=*) ;; |
|
|
|
|
*) target=$arg ;; |
|
|
|
@ -191,40 +240,44 @@ if test -z "$sysconfdir" ; then
|
|
|
|
|
if test "$sysconfdir" = '$sysconfdir' ; then |
|
|
|
|
sysconfdir = '/etc' |
|
|
|
|
fi |
|
|
|
|
if test "$boot_conf" = '$sysconfdir/$package_macro_dir/boot.conf' ; then |
|
|
|
|
boot_conf = '$sysconfdir/$package_macro_dir/boot.conf' |
|
|
|
|
if test "$adm_conf" = '$sysconfdir/$package_macro_dir/conf' ; then |
|
|
|
|
adm_conf = '$sysconfdir/$package_macro_dir/conf' |
|
|
|
|
fi |
|
|
|
|
if test "$init_conf" = '$sysconfdir/$package_macro_dir/init.conf' ; then |
|
|
|
|
init_conf = '$sysconfdir/$package_macro_dir/init.conf' |
|
|
|
|
if test "$skel_directory" = '$sysconfdir/$package_macro_dir' ; then |
|
|
|
|
skel_directory = '$sysconfdir/$package_macro_dir' |
|
|
|
|
fi |
|
|
|
|
fi |
|
|
|
|
|
|
|
|
|
# Expand installation directories |
|
|
|
|
stripdir prefix |
|
|
|
|
for i in exec_prefix bindir libdir shebangdir ; do |
|
|
|
|
for i in exec_prefix bindir libdir sysconfdir datarootdir shebangdir\ |
|
|
|
|
service_directory module_directory script_directory skel_directory adm_conf ; do |
|
|
|
|
eval tmp=\${$i} |
|
|
|
|
eval $i=$tmp |
|
|
|
|
stripdir $i |
|
|
|
|
done |
|
|
|
|
|
|
|
|
|
stripdir sysconfdir |
|
|
|
|
for i in service_directory scripts boot_conf init_conf; do |
|
|
|
|
for i in adm_conf skel_directory; do |
|
|
|
|
eval tmp=\${$i} |
|
|
|
|
eval $i=$tmp |
|
|
|
|
stripdir $i |
|
|
|
|
done |
|
|
|
|
|
|
|
|
|
stripdir datarootdir |
|
|
|
|
for i in service_directory; do |
|
|
|
|
for i in service_directory module_directory script_directory; do |
|
|
|
|
eval tmp=\${$i} |
|
|
|
|
eval $i=$tmp |
|
|
|
|
stripdir $i |
|
|
|
|
done |
|
|
|
|
|
|
|
|
|
for i in HOSTNAME HARDWARECLOCK TZ KEYMAP FONT FONT_MAP \ |
|
|
|
|
FONT_UNIMAP CRYPTTAB IPTABLES IP6TABLES FSTAB \ |
|
|
|
|
CGROUPS SWAP LVM DMRAID BTRFS ZFS \ |
|
|
|
|
SYSCTL FORCECHCK LOCAL ; do |
|
|
|
|
for i in HOSTNAME HARDWARECLOCK TZ SETUPCONSOLE \ |
|
|
|
|
KEYMAP FONT FONT_MAP FONT_UNIMAP UDEV SYSCTL FORCECHCK LOCAL CONTAINER \ |
|
|
|
|
TMPFILE MODULE_KERNEL MODULE_SYSTEM RANDOMSEED \ |
|
|
|
|
FSTAB SWAP LVM DMRAID BTRFS ZFS \ |
|
|
|
|
CRYPTTAB IPTABLES IP6TABLES \ |
|
|
|
|
CGROUPS MNT_PROC MNT_SYS MNT_DEV MNT_RUN MNT_TMP \ |
|
|
|
|
MNT_PTS MNT_SHM MNT_NETFS ; do |
|
|
|
|
eval tmp=\${$i} |
|
|
|
|
if testval $tmp; then |
|
|
|
|
eval $i='#${i}=' |
|
|
|
@ -265,131 +318,47 @@ sysconfdir := $sysconfdir
|
|
|
|
|
datarootdir := $datarootdir |
|
|
|
|
shebangdir := $shebangdir |
|
|
|
|
service_directory := $service_directory |
|
|
|
|
boot_conf := $boot_conf |
|
|
|
|
init_conf := $init_conf |
|
|
|
|
scripts := $scripts |
|
|
|
|
module_directory := $module_directory |
|
|
|
|
script_directory := $script_directory |
|
|
|
|
adm_conf := $adm_conf |
|
|
|
|
skel_directory := $skel_directory |
|
|
|
|
package_macro_dir := $package_macro_dir |
|
|
|
|
EOF |
|
|
|
|
|
|
|
|
|
exec 1>&3 3>&- |
|
|
|
|
echo " ... done." |
|
|
|
|
|
|
|
|
|
echo "creating boot.conf..." |
|
|
|
|
exec 3>&1 1> boot.conf |
|
|
|
|
cat <<EOF |
|
|
|
|
# Copyright (c) 2015-2019 Eric Vidal <eric@obarun.org> |
|
|
|
|
# All rights reserved. |
|
|
|
|
# |
|
|
|
|
# This file is part of Obarun. It is subject to the license terms in |
|
|
|
|
# the LICENSE file found in the top-level directory of this |
|
|
|
|
# distribution. |
|
|
|
|
# This file may not be copied, modified, propagated, or distributed |
|
|
|
|
# except according to the terms contained in the LICENSE file. |
|
|
|
|
# |
|
|
|
|
# $boot_conf - system configuration for Obarun running s6/s6-rc supervision suite |
|
|
|
|
# and handled by 66 suite program. |
|
|
|
|
# |
|
|
|
|
# Do not use quotes or double-quotes on this file |
|
|
|
|
# |
|
|
|
|
# The '!' is used to unexport the variable from the environment. |
|
|
|
|
# If you want to keep it, remove the exclamation mark '!'. |
|
|
|
|
|
|
|
|
|
###################### |
|
|
|
|
## MAIN ## |
|
|
|
|
###################### |
|
|
|
|
|
|
|
|
|
## Set the HOSTNAME. |
|
|
|
|
|
|
|
|
|
$HOSTNAME |
|
|
|
|
|
|
|
|
|
## Set RTC [UTC|localtime]. |
|
|
|
|
|
|
|
|
|
$HARDWARECLOCK |
|
|
|
|
|
|
|
|
|
## Set timezone, availables timezones at /usr/share/zoneinfo. |
|
|
|
|
|
|
|
|
|
$TZ |
|
|
|
|
|
|
|
|
|
## keymap to load, see loadkeys(8). |
|
|
|
|
|
|
|
|
|
$SETUPCONSOLE |
|
|
|
|
$KEYMAP |
|
|
|
|
|
|
|
|
|
## Console font to load, see setfont(8). |
|
|
|
|
|
|
|
|
|
$FONT |
|
|
|
|
|
|
|
|
|
## Console map to load, see setfont(8). |
|
|
|
|
|
|
|
|
|
$FONT_MAP |
|
|
|
|
|
|
|
|
|
## Console unimap to load, see setfont(8). |
|
|
|
|
|
|
|
|
|
$FONT_UNIMAP |
|
|
|
|
|
|
|
|
|
###################### |
|
|
|
|
## SECURITY ## |
|
|
|
|
###################### |
|
|
|
|
|
|
|
|
|
## Active encrypted devices [yes|no]. |
|
|
|
|
|
|
|
|
|
$CRYPTTAB |
|
|
|
|
|
|
|
|
|
## Use iptables [yes|no]. |
|
|
|
|
|
|
|
|
|
$IPTABLES |
|
|
|
|
|
|
|
|
|
## Use ip6tables [yes|no]. |
|
|
|
|
|
|
|
|
|
$IP6TABLES |
|
|
|
|
|
|
|
|
|
###################### |
|
|
|
|
## DEVICES ## |
|
|
|
|
###################### |
|
|
|
|
|
|
|
|
|
## Mount devices from FSTAB file [yes|no]. |
|
|
|
|
|
|
|
|
|
$UDEV |
|
|
|
|
$SYSCTL |
|
|
|
|
$FORCECHCK |
|
|
|
|
$LOCAL |
|
|
|
|
$CONTAINER |
|
|
|
|
$TMPFILE |
|
|
|
|
$MODULE_KERNEL |
|
|
|
|
$MODULE_SYSTEM |
|
|
|
|
$RANDOMSEED |
|
|
|
|
$FSTAB |
|
|
|
|
|
|
|
|
|
## Mount cgroups [yes|no]. |
|
|
|
|
|
|
|
|
|
$CGROUPS |
|
|
|
|
|
|
|
|
|
## Active swap [yes|no]. |
|
|
|
|
|
|
|
|
|
$SWAP |
|
|
|
|
|
|
|
|
|
## Active lvm devices [yes|no]. |
|
|
|
|
|
|
|
|
|
$LVM |
|
|
|
|
|
|
|
|
|
## Active dmraid devices [yes|no]. |
|
|
|
|
|
|
|
|
|
$DMRAID |
|
|
|
|
|
|
|
|
|
## Active btrfs devices [yes|no]. |
|
|
|
|
|
|
|
|
|
$BTRFS |
|
|
|
|
|
|
|
|
|
## Mount zfs devices [yes|no]. |
|
|
|
|
|
|
|
|
|
$ZFS |
|
|
|
|
|
|
|
|
|
###################### |
|
|
|
|
## SYSTEM ## |
|
|
|
|
###################### |
|
|
|
|
|
|
|
|
|
## Kernel configuration with sysctl [yes|no]. |
|
|
|
|
|
|
|
|
|
$SYSCTL |
|
|
|
|
|
|
|
|
|
## Force a check of filesystem partition [yes|no]. |
|
|
|
|
|
|
|
|
|
$FORCECHCK |
|
|
|
|
|
|
|
|
|
## Use rc.local script [yes|no]. |
|
|
|
|
|
|
|
|
|
$LOCAL |
|
|
|
|
|
|
|
|
|
$CRYPTTAB |
|
|
|
|
$IPTABLES |
|
|
|
|
$IP6TABLES |
|
|
|
|
$CGROUPS |
|
|
|
|
$MNT_PROC |
|
|
|
|
$MNT_SYS |
|
|
|
|
$MNT_DEV |
|
|
|
|
$MNT_RUN |
|
|
|
|
$MNT_TMP |
|
|
|
|
$MNT_PTS |
|
|
|
|
$MNT_SHM |
|
|
|
|
$MNT_NETFS |
|
|
|
|
EOF |
|
|
|
|
|
|
|
|
|
exec 1>&3 3>&- |
|
|
|
|
echo " ... done." |
|
|
|
|