#!/bin/sh echo Starting /init script ... PATH=/sbin:/usr/sbin:$PATH mount -t proc /proc /proc mount -t sysfs /sys /sys if [ -x /etc/init.d/udev ]; then /etc/init.d/udev start elif [ -x /sbin/start_udev ]; then /sbin/start_udev else echo No udev, creating /dev manually mount -t tmpfs none /dev mkdir /dev/pts /dev/shm /dev/mapper mount -t devpts -o gid=5,mode=620 /dev/pts /dev/pts # Must do each MAKEDEV individually, because if one device fails, # MAKEDEV will quit without creating the rest (RHBZ#507374). for dev in mem null port zero core full ram tty console fd \ hda hdb hdc hdd sda sdb sdc sdd loop sd; do MAKEDEV $dev ||: done mknod /dev/ptmx c 5 2; chmod 0666 /dev/ptmx mknod /dev/random c 1 8; chmod 0666 /dev/random mknod /dev/urandom c 1 9; chmod 0444 /dev/urandom ln -sf /proc/self/fd/0 /dev/stdin ln -sf /proc/self/fd/1 /dev/stdout ln -sf /proc/self/fd/2 /dev/stderr modprobe virtio_pci modprobe virtio_net fi if grep -sq selinux=1 /proc/cmdline; then mount -t selinuxfs none /selinux fi modprobe dm_mod ||: ifconfig lo 127.0.0.1 ifconfig eth0 10.0.2.10 route add default gw 10.0.2.2 lvm vgscan --ignorelockingfailure lvm vgchange -ay --ignorelockingfailure # Keep these to enhance the usefulness of debug output. ls -l /dev cat /proc/mounts lvm pvs lvm vgs lvm lvs ifconfig netstat -rn lsmod #ping -n -v -c 5 10.0.2.2 #ping -n -v -c 5 10.0.2.4 # Improve virtio-blk performance (RHBZ#509383). for f in /sys/block/vd*/queue/rotational; do echo 1 > $f; done if ! grep -sq guestfs_rescue=1 /proc/cmdline; then exec guestfsd -f fi # Use appliance in rescue mode, also used by the virt-rescue command. TERM=linux ;# XXX library should pass this from library's environment PS1='> ' export TERM PS1 echo echo "Welcome to virt-rescue, the libguestfs rescue shell." echo echo "Note: The contents of / are the rescue appliance." echo "You have to mount the guest's partitions under /sysroot" echo "before you can examine them." echo exec bash -i