08bed15cf8
- dropbear - generate host keys on first use - mount /dev/pts It's not ideal having the host key disappear when the device is reboot, but without persistent storage the alternative is generating it at build time. Deferring this problem to another time
51 lines
1.6 KiB
Bash
Executable file
51 lines
1.6 KiB
Bash
Executable file
#!/usr/bin/env sh
|
|
|
|
rl="$1"
|
|
shift
|
|
|
|
### argv now contains the arguments of the kernel command line that are
|
|
### not of the form key=value. (The key=value arguments were stored by
|
|
### s6-linux-init into an envdir, if instructed so via the -s option.)
|
|
### Normally this argv remains unused because programs that need the
|
|
### kernel command line usually read it later on from /proc/cmdline -
|
|
### but just in case, it's available here.
|
|
|
|
|
|
### 1. Early preparation
|
|
### This is done only once at boot time.
|
|
### Ideally, this phase should just initialize the service manager.
|
|
|
|
mount -t proc none /proc
|
|
mount -t sysfs none /sys
|
|
# s6-linux-init mounts /dev before this script is called
|
|
mkdir /dev/pts
|
|
mount -t devpts none /dev/pts
|
|
|
|
mkdir -m 0750 /run/service-state
|
|
chgrp system /run/service-state
|
|
|
|
### If your services are managed by s6-rc:
|
|
### (replace /run/service with your scandir)
|
|
s6-rc-init /run/service -d -c /etc/s6-rc/compiled
|
|
|
|
|
|
### 2. Starting the wanted set of services
|
|
### This is also called every time you change runlevels with telinit.
|
|
### (edit the location to suit your installation)
|
|
### By default, $rl is the string "default", unless you changed it
|
|
### via the -D option to s6-linux-init-maker.
|
|
### Numeric arguments from 1 to 5 on the kernel command line will
|
|
### override the default.
|
|
|
|
exec /etc/s6-linux-init/current/scripts/runlevel "$rl"
|
|
|
|
|
|
### If this script is run in a container, then 1. and 2. above do not
|
|
### apply and you should just call your CMD, if any, or let your
|
|
### services run.
|
|
### Something like this:
|
|
|
|
# if test -z "$*" ; then return 0 ; fi
|
|
# $@
|
|
# echo $? > /run/s6-linux-init-container-results/exitcode
|
|
# halt
|