aboutsummaryrefslogtreecommitdiffstats
path: root/layout/initramfs/init
diff options
context:
space:
mode:
authorLaurent Bercot <ska-skaware@skarnet.org>2017-05-22 21:56:04 +0000
committerLaurent Bercot <ska-skaware@skarnet.org>2017-05-22 21:56:04 +0000
commit82d0f92ab8b84466ae20ab919c1f9c3577b5cecb (patch)
tree776015ae6c6a386125b2d39e13b62f91b99548f8 /layout/initramfs/init
downloadlh-bootstrap-82d0f92ab8b84466ae20ab919c1f9c3577b5cecb.tar.gz
Initial commit
Diffstat (limited to 'layout/initramfs/init')
-rwxr-xr-xlayout/initramfs/init37
1 files changed, 37 insertions, 0 deletions
diff --git a/layout/initramfs/init b/layout/initramfs/init
new file mode 100755
index 0000000..0a7f2de
--- /dev/null
+++ b/layout/initramfs/init
@@ -0,0 +1,37 @@
+#!/command/execlineb -S0
+
+# This initramfs is a stub. It just performs coldplug.
+# Since our rootfs shouldn't require a coldplug to be found,
+# we could do away with the initramfs, but we leave it as an example.
+
+/command/export PATH /command
+/command/cd /
+if { s6-echo "\n initramfs (minimal)\n" }
+
+if { s6-mount -wt sysfs sys /sys }
+if { s6-mount -wt proc proc /proc }
+if { s6-mount -wt devtmpfs dev /dev }
+
+if { /sbin/mdev -s }
+
+if { s6-mount -rt ext4 /dev/%%PARTITION%%1 /rootfs }
+
+if { s6-mount -o move /sys /rootfs/sys }
+if { s6-mount -o move /proc /rootfs/proc }
+if { s6-mount -o move /dev /rootfs/dev }
+
+cd /rootfs
+./command/s6-envdir -I /etc/env
+./command/if
+{
+ ./command/pipeline { ./command/s6-ls -a -x rootfs / }
+ ./command/forstdin -p -d"\n" i
+ ./command/importas -u i i
+ ./command/s6-rmrf /${i}
+}
+./command/if { ./command/s6-mount -o move . / }
+./command/s6-chroot .
+
+./command/tryexec { /sbin/init $@ }
+./command/tryexec { /bin/init $@ }
+/etc/init $@