summaryrefslogtreecommitdiff
path: root/vm.sh
diff options
context:
space:
mode:
Diffstat (limited to 'vm.sh')
-rwxr-xr-xvm.sh31
1 files changed, 22 insertions, 9 deletions
diff --git a/vm.sh b/vm.sh
index 29ad9fa..3a44733 100755
--- a/vm.sh
+++ b/vm.sh
@@ -65,7 +65,7 @@ vm_setup() {
local PUB=$(cat "$DIR/$USER/$USER.pub")
local HEADER="COPY AND RUN IN QEMU:"
echo $HEADER
- echo " sed -i 's/^%sudo\s\+ALL=(ALL:ALL)\sALL$/%sudo ALL=(ALL:ALL) NOPASSWD:ALL/' /etc/sudoers; adduser --disabled-password --gecos "" --shell /bin/bash $USER; adduser $USER sudo; su - $USER"
+ echo " sed -i 's/GRUB_TIMEOUT=5/GRUB_TIMEOUT_STYLE=hidden\nGRUB_TIMEOUT=0/' /etc/default/grub; update-grub; sed -i 's/^%sudo\s\+ALL=(ALL:ALL)\sALL$/%sudo ALL=(ALL:ALL) NOPASSWD:ALL/' /etc/sudoers; adduser --disabled-password --gecos "" --shell /bin/bash $USER; adduser $USER sudo; su - $USER"
echo $HEADER
echo " mkdir .ssh; cd .ssh; echo \"$PUB\" > authorized_keys; chmod 600 authorized_keys; cd ~"
echo $HEADER
@@ -73,7 +73,7 @@ vm_setup() {
}
vm_check() {
- if [[ "$VM" != "$X64" && "$VM" != "$A64" ]]
+ if [[ "$1" != "$X64" && "$1" != "$A64" ]]
then
echo "Usage $SCRIPT $OPTION $X64|$A64"
return 1
@@ -108,7 +108,7 @@ vm_boot() {
}
vm_cli() {
- vm_check
+ vm_check $VM
if [[ $? != 0 ]]
then
return
@@ -125,25 +125,35 @@ vm_start() {
done
}
-vm_ssh() {
- vm_check
+vm_cmd() {
+ vm_check $1
if [[ $? != 0 ]]
then
return
fi
- cd $DIR
ssh-add "$USER/$USER"
- ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no "$USER@localhost" -p "${SSH_PORTS[$VM]}"
+ ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no "$USER@localhost" -p "${SSH_PORTS[$1]}" $2
+}
+
+vm_ssh() {
+ cd $DIR
+ vm_cmd $VM
}
vm_stop() {
+ local ACTION=$1
cd $DIR
for NAME in "${NAMES[@]}"
do
local PID_FILE="${PID_FILES[$NAME]}"
if [[ -f "$PID_FILE" ]]
then
- kill $(cat $PID_FILE)
+ if [[ "$ACTION" == "KILL" ]]
+ then
+ kill $(cat $PID_FILE)
+ else
+ vm_cmd $NAME "sudo poweroff"
+ fi
fi
done
}
@@ -165,7 +175,7 @@ vm_clean() {
}
vm_help() {
- echo "Usage $SCRIPT -init|-cli|-start|-ssh|-test|-stop|-clean|-help"
+ echo "Usage $SCRIPT -init|-cli|-start|-ssh|-test|-stop|-kill|-clean|-help"
}
case $OPTION in
@@ -189,6 +199,9 @@ case $OPTION in
-stop)
vm_stop
;;
+ -kill)
+ vm_stop "KILL"
+ ;;
-clean)
vm_clean
;;