dracut/test/make-server-root

48 lines
1.2 KiB
Bash
Executable File

#!/bin/bash
dd if=/dev/zero of=test/server.ext2 bs=1M count=20
mke2fs -F test/server.ext2
mkdir test/mnt
mount -o loop test/server.ext2 test/mnt
initdir=test/mnt
kernel=$(uname -r)
(
. ./dracut-functions
dracut_install sh df free ls shutdown poweroff stty cat ps ln ip route \
/lib/terminfo/l/linux mount dmesg ifconfig dhclient mkdir cp ping dhclient
inst "modules.d/40network/dhclient-script" "/sbin/dhclient-script"
inst "modules.d/40network/ifup" "/sbin/ifup"
dracut_install grep dnsmasq agetty strace tcpdump
inst test/server-init /sbin/init
(cd "$initdir";
mkdir -p dev sys proc etc var/run tmp var/lib/dnsmasq
cat > etc/hosts <<EOF
127.0.0.1 localhost
192.168.1.1 server
192.168.1.100 workstation1
192.168.1.101 workstation2
192.168.1.102 workstation3
192.168.1.103 workstation4
EOF
cat > etc/dnsmasq.conf <<EOF
expand-hosts
domain=test.net
dhcp-range=192.168.1.100,192.168.1.150,168h
dhcp-option=17,"192.168.1.1:/mnt/root"
EOF
)
inst /etc/nsswitch.conf /etc/nsswitch.conf
inst /etc/passwd /etc/passwd
inst /etc/group /etc/group
for i in /lib*/libnss_files*;do
inst_library $i
done
)
targetfs="$initdir"
unset initdir
umount test/mnt
rm -fr test/mnt