aboutsummaryrefslogtreecommitdiff
path: root/init
blob: fdcb318285d3ad28a3642d0b41c79be3a01f6f5d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#!/bin/bash

# Init script for build2 buildos.
#
# Loosely based on the one that comes in Debian initrd.img (since we are
# using its kernel image as is).
#
trap "exit 1" ERR
set -o errtrace # Trap in functions.

# Note: diagnostics goes to stdout.
#
function info () { echo "$*"; }
function error () { info "$*"; exit 1; }

export PATH=/sbin:/usr/sbin:/bin:/usr/bin

# One would expect rootflags=size=1g to work but it doesn't (perhaps init
# is expected to interpret it)?
#
mount -o remount,size=1G /

mkdir -p /sys /proc
mount -t sysfs -o nodev,noexec,nosuid sysfs /sys
mount -t proc -o nodev,noexec,nosuid proc /proc

info "init starting up..."

mount -t devtmpfs -o nosuid,mode=0755 udev /dev
mkdir -p /dev/pts
mount -t devpts -o noexec,nosuid,gid=5,mode=0620 devpts /dev/pts || true

mkdir -p /run
mount -t tmpfs -o "noexec,nosuid,size=10%,mode=0755" tmpfs /run

mkdir -p /tmp
mount -t tmpfs -o "nodev,nosuid,size=10%,mode=1777" tmpfs /tmp

cmdline="$(cat /proc/cmdline)"

info "boot cmdline: $cmdline"

sleep 2

# --machine-id
#
#exec /lib/systemd/systemd #</dev/console >/dev/console 2>&1

exec /bin/bash