Simple Alpine linux in ram + docker.
Save next script to file preboot
#!/bin/sh
# Set root password
echo 'root:${SECRET_PASSWORD}' | chpasswd -e
# Set hostname
hostname localhost
Create initrd
ls preboot | cpio -H newc -R 0:0 -o > preboot_initrd
Add preboot config to system initrd
cat initrd-5.1.12-virt preboot_initrd > my_custom_initrd
PASSWORD=my_super_duper_password
SALT=$(dd if=/dev/urandom bs=512 count=1 | sha512sum | tr -d ' -')
SECRET_PASSWORD=$(openssl passwd -6 -salt "${SALT}" "${PASSWORD}")
echo "please add next string to preboot script"
echo ""
echo "echo 'root:${SECRET_PASSWORD}' | chpasswd -e"
qemu-system-x86_64 -cpu host -enable-kvm -smp 1,cores=1 -m 512M -nographic -append "console=ttyS0" -kernel vmlinuz-virt -initrd my_custom_initrd
qemu-system-x86_64 -cpu host -enable-kvm -smp 1,cores=1 -net nic,model=virtio -net user,hostfwd=tcp::2222-:22 -m 512M -nographic -append "console=ttyS0" -kernel vmlinuz-virt -initrd my_custom_initrd
qemu-system-x86_64 -cpu host -enable-kvm -smp 1,cores=1 -net nic,model=virtio -net user,hostfwd=tcp::8222-:8222 -m 512M -nographic -hda disk.img -append console=ttyS0 -kernel vmlinuz-virt -initrd my_custom_initrd
poweroff