From ae04cc260d63765fc20a2d7bb21d121986f71445 Mon Sep 17 00:00:00 2001 From: Marc Vertes Date: Mon, 29 Mar 2021 10:26:13 +0200 Subject: update --- .zshrc | 3 +++ bin/icat | 2 ++ bin/vm | 50 +++++++++++++++++++++++++++++++++++++++++++------- 3 files changed, 48 insertions(+), 7 deletions(-) diff --git a/.zshrc b/.zshrc index bd67270..599574e 100644 --- a/.zshrc +++ b/.zshrc @@ -63,3 +63,6 @@ source ~/.zsh-powerline.sh [ -f ~/.fzf.zsh ] && source ~/.fzf.zsh + +# test -e "${HOME}/.iterm2_shell_integration.zsh" && source "${HOME}/.iterm2_shell_integration.zsh" + diff --git a/bin/icat b/bin/icat index 0170513..d363e09 100755 --- a/bin/icat +++ b/bin/icat @@ -2,6 +2,8 @@ # Display images directly in terminal. # Tested with xterm v361. Depends on imagemagick convert(1). +[ "$LC_TERMINAL" = iTerm2 ] && [ -x "$HOME/.iterm2/imgcat" ] && exec "$HOME/.iterm2/imgcat" "$@" + # maxsize prints the geomtry size of terminal window, with # a maximum value of 1000 pixels for width and height, or # 640x480 if terminal size can not be probed. diff --git a/bin/vm b/bin/vm index 11fed61..818d6f8 100755 --- a/bin/vm +++ b/bin/vm @@ -62,7 +62,8 @@ del() { usage 'del name' 'Delete a VM' && return case $1 in ''|*/*|.*) die "invalid VM name: $1" ;; esac [ -d "$dir/$1" ] || die "$dir/$1 not found" - cd "$dir" && rm -r "$1" + [ -f "$dir/$1/vftool.pid" ] && die "vm $1 is still active, stop it first" + rm -rf "$dir/$1" } die() { [ "$1" ] && echo "$0: $@" >&2; exit 1; } @@ -78,13 +79,48 @@ exp() { cd "$dir/$1" || die "invalid VM: $1" [ -f vftool.pid ] || die "vm $1 is not active" - screen -X stuff 'root + sleep 1 && screen -X stuff 'root ' - screen -X stuff 'sed -i "s/die..Bootloader/;; #/" /sbin/setup-disk + sleep 1 && screen -X stuff 'sed -i.bak "s/die..Bootloader/;; # die \"Bootloader/" /sbin/setup-disk ' - screen -X stuff 'grep BOOTLOADER /sbin/setup-disk + sleep 1 && screen -X stuff 'setup-alpine -e +' + sleep 1 && screen -X stuff 'none +' + sleep 1 && screen -X stuff "$1 +" + sleep 1 && screen -X stuff 'eth0 +' + sleep 1 && screen -X stuff '192.168.64.2 +' + sleep 1 && screen -X stuff '255.255.255.0 +' + sleep 1 && screen -X stuff '192.168.64.1 +' + sleep 1 && screen -X stuff 'n +' + sleep 3 && screen -X stuff ' +' + sleep 1 && screen -X stuff '192.168.64.1 +' + sleep 1 && screen -X stuff 'Europe/Paris +' + sleep 5 && screen -X stuff 'none +' + sleep 1 && screen -X stuff 'chrony +' + sleep 5 && screen -X stuff '1 +' + sleep 1 && screen -X stuff 'openssh +' + sleep 5 && screen -X stuff 'vda +' + sleep 3 && screen -X stuff 'sys +' + sleep 1 && screen -X stuff 'y +' + sleep 20 && screen -X stuff 'cat /etc/fstab ' - } finalize() { @@ -109,7 +145,7 @@ info() { alpine_makefile='# Generated by "vm". DO NOT EDIT. # Check https://alpinelinux.org/downloads for possible upgrades -iso_url = https://dl-cdn.alpinelinux.org/alpine/v3.13/releases/aarch64/alpine-virt-3.13.2-aarch64.iso +iso_url = https://dl-cdn.alpinelinux.org/alpine/v3.13/releases/aarch64/alpine-virt-3.13.3-aarch64.iso iso = $(notdir $(iso_url)) isoinfo ?= /opt/homebrew/bin/isoinfo @@ -204,7 +240,7 @@ start_vm() ( ${iso+-c "$iso"} \ ${cpu+-p "$cpu"} \ ${ram+-m "$ram"} \ - ${arg+-m "$arg"} \ + -a "${arg-console=hvc0}" \ >>vftool.log 2>&1 & sleep 1 echo "$!" >vftool.pid -- cgit v1.2.3