Skip to content

Commit 5a198a2

Browse files
committed
Add support for 66.
1 parent 0e0f3eb commit 5a198a2

3 files changed

Lines changed: 26 additions & 1 deletion

File tree

src/init/init

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -413,6 +413,8 @@ if ! init_tuple="$(grep -q '\<bedrock_init=' /proc/cmdline && sed -e 's/^.*bedro
413413
fi
414414
init_stratum="$(echo "${init_tuple}" | cut -d: -f1)"
415415
init_cmd="$(echo "${init_tuple}" | cut -d: -f2-)"
416+
# Make init_cmd available to brl-apply when we call it later.
417+
export init_cmd
416418

417419
echo ""
418420
step_init "6"

src/slash-bedrock/etc/bedrock.conf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ default =
6060
# Bedrock init menu will list every available one from every (unignored)
6161
# stratum.
6262
#
63-
paths = /sbin/init, /sbin/fallback-init, /sbin/myinit, /sbin/ninit, /sbin/openrc-init, /sbin/runit-init, /sbin/simpleinit, /sbin/upstart, /lib/sysvinit/init, /lib/systemd/systemd, /usr/lib/systemd/systemd, /usr/bin/intra-desktop
63+
paths = /sbin/init, /sbin/fallback-init, /sbin/myinit, /sbin/ninit, /sbin/openrc-init, /sbin/runit-init, /sbin/simpleinit, /sbin/upstart, /lib/sysvinit/init, /lib/systemd/systemd, /usr/lib/systemd/systemd, /usr/bin/intra-desktop, /bin/66, /usr/bin/66
6464

6565
#
6666
# Kernel modules to load before assuming keyboard is available.

src/slash-bedrock/libexec/brl-apply

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -343,6 +343,14 @@ if [ -r /etc/fstab ] && awk '$1$2$3$4$5$6 !~ "#" && $6 != "" && $6 != 0 {x=1} EN
343343
' /etc/fstab >/etc/fstab-new && mv /etc/fstab-new /etc/fstab
344344
fi
345345

346+
# When using 66 init, make a tmpfs available for 66's LIVE directory.
347+
# The init_cmd variable is exported by bedrock init for use here.
348+
if [ -n $init_cmd ] && echo $init_cmd | grep -q '66'; then
349+
live_dir=$(awk -F= -e '/^LIVE=/ { print $2 }' /etc/66/init.conf)
350+
mkdir -p $live_dir
351+
mount -t tmpfs tmpfs $live_dir -o rw,nosuid,nodev,mode=755,exec
352+
fi
353+
346354
# Disable SELinux
347355
for stratum in $(/bedrock/bin/brl list -ei); do
348356
root="$(stratum_root --empty "${stratum}")"
@@ -445,4 +453,19 @@ for stratum in $(/bedrock/bin/brl list -ei); do
445453
mv "${init}-bedrock-patch" "${init}"
446454
done
447455

456+
# Patch 66 init to skip unmounting /run, as this breaks Bedrock's pre-init setup of /run
457+
for stratum in $(/bedrock/bin/brl list -ei); do
458+
stratum_root="/bedrock/strata/${stratum}"
459+
for init in "${stratum_root}/bin/66" "${stratum_root}/usr/bin/66"; do
460+
if [ -x ${init} ] && grep -q '\-m' ${init}; then
461+
cp "${init}" "${init}-bedrock-patch"
462+
# This is obviously not robust against the various
463+
# forms the call to 66-boot can take, but KISS is
464+
# probably sufficient for now.
465+
sed 's/-m//' "${init}" > "${init}-bedrock-patch"
466+
mv "${init}-bedrock-patch" "${init}"
467+
fi
468+
done
469+
done
470+
448471
exit_success

0 commit comments

Comments
 (0)