48 lines
1.2 KiB
Bash
Executable File
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
|