@@ -0,0 +1,23 @@
|
||||
# FROM archlinux:latest
|
||||
FROM marvin
|
||||
|
||||
|
||||
USER root
|
||||
|
||||
# Update, install kernel, initramfs tools, and utilities
|
||||
# 'linux' includes mkinitcpio hooks that auto-generate the initramfs
|
||||
RUN pacman -Syu --noconfirm linux busybox util-linux dhcpcd; \
|
||||
pacman -Sc --noconfirm
|
||||
|
||||
# Copy kernel and initramfs to root for VM extraction
|
||||
RUN cp /boot/vmlinuz-linux /vmlinuz && \
|
||||
cp /boot/initramfs-linux.img /initrd.img
|
||||
|
||||
# Allow root login without password
|
||||
RUN passwd -d root
|
||||
|
||||
# Set up timezone. Required to bypass archlinux's first-install setup.
|
||||
RUN ln -s /usr/share/zoneinfo/Europe/Stockholm /etc/localtime
|
||||
|
||||
COPY init /init
|
||||
RUN chmod +x /init
|
||||
@@ -0,0 +1,30 @@
|
||||
#!/bin/sh
|
||||
|
||||
# Mount special filesystems
|
||||
mkdir -p /dev /proc /sys
|
||||
[ -c /dev/console ] || mknod -m 600 /dev/console c 5 1
|
||||
mount -t proc proc /proc
|
||||
mount -t sysfs sysfs /sys
|
||||
mount -t devtmpfs dev /dev
|
||||
|
||||
# Networking
|
||||
echo slim > /proc/sys/kernel/hostname
|
||||
modprobe virtio_net
|
||||
ip link set lo up 2>/dev/null
|
||||
ip link set eth0 up 2>/dev/null
|
||||
# udhcpc -i eth0 -f -q # Get DHCP lease
|
||||
|
||||
echo
|
||||
echo 'Welcome to slim!'
|
||||
echo
|
||||
|
||||
# Start systemd
|
||||
exec /sbin/init
|
||||
|
||||
# Or, just run a shell
|
||||
# /bin/sh </dev/console >/dev/console 2>&1
|
||||
# poweroff -f
|
||||
# while true; do
|
||||
# sleep 1
|
||||
# poweroff -f
|
||||
# done
|
||||
Reference in New Issue
Block a user