summaryrefslogtreecommitdiff
path: root/bin/vm
diff options
context:
space:
mode:
authorMarc Vertes <mvertes@free.fr>2022-02-03 14:43:32 +0100
committerMarc Vertes <mvertes@free.fr>2022-02-03 14:43:32 +0100
commita3a3a61742950d45f1573a45a928e9b04c115634 (patch)
tree07bfcd60a56f47a817cfae3f5efbcebfa58f5f29 /bin/vm
parent053556962bb2d29ac76bcca51cabd1df238f80e3 (diff)
update
Diffstat (limited to 'bin/vm')
-rwxr-xr-xbin/vm30
1 files changed, 29 insertions, 1 deletions
diff --git a/bin/vm b/bin/vm
index 8b4da42..35a107e 100755
--- a/bin/vm
+++ b/bin/vm
@@ -35,13 +35,41 @@ console() {
is_running "$1" && screen -r "vm!$1!"
}
+create_arch() {
+ usage 'create_arch [-s size] name' 'Create an archlinux disk image' && return
+ size=8g
+ while getopts :s: opt; do
+ case $opt in
+ s) size=$OPTARG ;;
+ *) Opth=2 create_arch; return ;;
+ esac
+ done
+ shift $((OPTIND - 1))
+ [ -d "$dir/$1" ] && die "create failed: $dir/$1 already exists"
+ mkdir "$dir/$1"
+ cd "$dir/$1" || die "create failed: invalid directory $dir/$1"
+ qemu-img create "$1.raw" "$size" || die "create failed"
+ mac=$(new_macaddr)
+ ip=$(new_ip)
+ hdd="$1.raw"
+ echo "hdd=$hdd
+mac=$mac
+ip=$ip" >> config
+
+ mkfs.ext4 "$1.raw"
+ mkdir -p mnt
+ sudo mount "$1.raw" mnt
+ sudo pacstrap mnt base base-devel
+ sudo umount mnt
+}
+
create() {
usage 'create [-s size] name' 'Create an alpinelinux disk image' && return
size=8g
while getopts :s: opt; do
case $opt in
s) size=$OPTARG ;;
- *) Opth=2 create_alpine_image; return ;;
+ *) Opth=2 create_arch; return ;;
esac
done
shift $((OPTIND - 1))