mirror of
https://github.com/libguestfs/libguestfs.git
synced 2026-03-22 07:03:38 +00:00
Move init script into a separate file.
This commit is contained in:
@@ -20,7 +20,8 @@ EXTRA_DIST = \
|
||||
libguestfs-supermin-helper \
|
||||
kmod.whitelist \
|
||||
kmod.whitelist.in \
|
||||
packagelist.in
|
||||
packagelist.in \
|
||||
init
|
||||
|
||||
# Build the root filesystem (appliance).
|
||||
# Currently this is arch-dependent, so it seems like putting it in
|
||||
@@ -53,7 +54,7 @@ endif
|
||||
# This is for building the normal appliance:
|
||||
$(INITRAMFSIMG) $(VMLINUZ): $(top_builddir)/initramfs/fakeroot.log
|
||||
|
||||
$(top_builddir)/initramfs/fakeroot.log: make.sh kmod.whitelist packagelist
|
||||
$(top_builddir)/initramfs/fakeroot.log: make.sh kmod.whitelist packagelist init
|
||||
-mv $(INITRAMFSIMG) $(INITRAMFSIMG).bak
|
||||
-mv $(VMLINUZ) $(VMLINUZ).bak
|
||||
if ! bash make.sh; then rm -f $@; exit 1; fi
|
||||
|
||||
28
appliance/init
Executable file
28
appliance/init
Executable file
@@ -0,0 +1,28 @@
|
||||
#!/bin/sh
|
||||
echo Starting /init script ...
|
||||
PATH=/sbin:/usr/sbin:$PATH
|
||||
mount -t tmpfs none /dev
|
||||
mkdir /dev/pts /dev/shm /dev/mapper
|
||||
MAKEDEV mem null port zero core full ram tty console fd \
|
||||
hda hdb hdc hdd sda sdb sdc sdd loop sd
|
||||
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
|
||||
mount -t proc /proc /proc
|
||||
mount -t sysfs /sys /sys
|
||||
mount -t devpts -o gid=5,mode=620 /dev/pts /dev/pts
|
||||
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
|
||||
modprobe dm_mod ||:
|
||||
/sbin/ifconfig lo 127.0.0.1
|
||||
/sbin/ifconfig eth0 10.0.2.10
|
||||
/sbin/route add default gw 10.0.2.2
|
||||
lvm vgscan --ignorelockingfailure
|
||||
lvm vgchange -ay --ignorelockingfailure
|
||||
if grep -sq guestfs_rescue=1 /proc/cmdline; then
|
||||
bash -i
|
||||
fi
|
||||
exec guestfsd -f
|
||||
@@ -133,39 +133,7 @@ echo nameserver 10.0.2.3 > resolv.conf.new
|
||||
rm resolv.conf.new
|
||||
|
||||
# Create the init script.
|
||||
cat > init.new <<'__EOF__'
|
||||
#!/bin/sh
|
||||
echo Starting /init script ...
|
||||
PATH=/sbin:/usr/sbin:$PATH
|
||||
mount -t tmpfs none /dev
|
||||
mkdir /dev/pts /dev/shm /dev/mapper
|
||||
MAKEDEV mem null port zero core full ram tty console fd \
|
||||
hda hdb hdc hdd sda sdb sdc sdd loop sd
|
||||
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
|
||||
mount -t proc /proc /proc
|
||||
mount -t sysfs /sys /sys
|
||||
mount -t devpts -o gid=5,mode=620 /dev/pts /dev/pts
|
||||
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
|
||||
modprobe dm_mod ||:
|
||||
/sbin/ifconfig lo 127.0.0.1
|
||||
/sbin/ifconfig eth0 10.0.2.10
|
||||
/sbin/route add default gw 10.0.2.2
|
||||
lvm vgscan --ignorelockingfailure
|
||||
lvm vgchange -ay --ignorelockingfailure
|
||||
if grep -sq guestfs_rescue=1 /proc/cmdline; then
|
||||
bash -i
|
||||
fi
|
||||
exec guestfsd -f
|
||||
__EOF__
|
||||
|
||||
@FEBOOTSTRAP_INSTALL@ initramfs init.new /init 0755 root.root
|
||||
rm init.new
|
||||
@FEBOOTSTRAP_INSTALL@ initramfs appliance/init /init 0755 root.root
|
||||
|
||||
# Just in case the kernel isn't looking for /init, make /sbin/init
|
||||
# be our script, not the real init.
|
||||
|
||||
Reference in New Issue
Block a user