⬢ DragonFlyBSD Kernel Audit
DF-5571 / mk_image.sh
← back to finding ↓ download raw
#!/bin/sh
# DF-5571: build pristine vkernel root image (sh + fault + vkinit-as-/sbin/init)
set -e
pkill -f kernel.debug 2>/dev/null || true; sleep 1
vnconfig -u vn0 2>/dev/null || true
rm -f /vkroot.img
vnconfig -c -T -S 96m vn0 /vkroot.img
dd if=/dev/zero of=/dev/vn0 bs=32k count=4 2>/dev/null
fdisk -IB vn0 >/dev/null 2>&1
disklabel -r -w vn0s1 auto
disklabel vn0s1 > /tmp/df5571_lbl 2>/dev/null
echo 'a: * 0 4.2BSD' >> /tmp/df5571_lbl
disklabel -R vn0s1 /tmp/df5571_lbl
newfs /dev/vn0s1a >/dev/null 2>&1
mount /dev/vn0s1a /mnt
mkdir -p /mnt/bin /mnt/lib /mnt/libexec /mnt/dev /mnt/sbin
cp /bin/sh /bin/sleep /mnt/bin/
cp /lib/libc.so.8 /mnt/lib/
cp /libexec/ld-elf.so.2 /mnt/libexec/
cp /tmp/fault /mnt/bin/fault
cp /tmp/vkinit /mnt/sbin/init
umount /mnt
vnconfig -u vn0
echo IMAGE_PRISTINE