Fix VM usage and update ex/runvm
[gruntmaster-daemon.git] / ex / makevm
index 7da2614a0615365b5411365938f585eea34f66fd..aa57f604f0d3225e364db71668f4f09dfab95c1b 100755 (executable)
--- a/ex/makevm
+++ b/ex/makevm
@@ -1,26 +1,24 @@
 #!/bin/bash
-GROUP=$(getent group www-data | cut -f3 -d:)
-USER=$(getent passwd www-data | cut -f3 -d:)
-
 rm -rf vm/ vm.squashfs
+mkdir -p vm/proc/
+mount /proc -o bind vm/proc
 multistrap -f ex/vm.conf
 ln -s vm/usr/bin/mawk vm/bin/awk
-echo 'virtfs /mnt 9p trans=virtio,auto 0 0' > vm/etc/fstab
-echo '/sbin/poweroff -f' > vm/.bash_logout
 cat > vm/.profile <<EOF
-mount -a
-stty -F /dev/ttyS1 -echo
+mount -t 9p -o trans=virtio virtfs /mnt
+mount -t ramfs ramfs /tmp
+mount -t proc proc /proc
+mount -t binfmt_misc binfmt_misc /proc/sys/fs/binfmt_misc
+echo ':jar:M::PK\x03\x04::/usr/bin/jexec:' > /proc/sys/fs/binfmt_misc/register
+[ -e /dev/ttyS1 ] && stty -F /dev/ttyS1 raw -echo
 cd /mnt
 export PS1="# "
 EOF
-cat > vm/etc/initramfs-tools/modules <<EOF
-squashfs
-9p
-9pnet
-9pnet_virtio
+cat >> vm/etc/sudoers <<EOF
+Defaults>nobody closefrom=5
+Defaults>nobody !env_check
+Defaults>nobody env_keep="ONLINE_JUDGE PATH HOME"
 EOF
 install gruntmaster-exec gruntmaster-compile vm/usr/bin/
-sed -i -e "s/setgid 65534/setgid $GROUP/" -e "s/setuid 65534/setuid $USER/" vm/usr/bin/gruntmaster-exec
-chroot vm update-initramfs -d -k 3.2.0-4-amd64
-chroot vm update-initramfs -c -k 3.2.0-4-amd64
+umount vm/proc
 mksquashfs vm vm.squashfs -comp lzo
This page took 0.009616 seconds and 4 git commands to generate.