sysdeploy/install.inc

70 lines
1.5 KiB
Bash

#!/bin/bash
. maas-images.inc
. syslinux-menu.inc
function download_version()
{
local release_version="$1"
local drive="$2"
local downloads=~/Downloads
mkdir -p "$downloads"
pushd "$downloads"
download_and_verify "$release_version" boot-kernel
if [ $? -eq 1 ]; then
popd
exit 1
fi
download_and_verify "$release_version" boot-initrd
if [ $? -eq 1 ]; then
popd
exit 1
fi
download_and_verify "$release_version" squashfs
if [ $? -eq 1 ]; then
popd
exit 1
fi
popd
}
function install_version()
{
local drive="$2"
local target
local downloads=~/Downloads
mkdir -p "$downloads"
find_unused "$drive"
target="$unused"
if [ -z "$unused" ]; then
find_oldest "$drive"
target="$unused"
fi
if [ -z "$target" ]; then
exit 1
fi
pushd "$downloads"
mount_efi "$drive"
mkdir -p "$mnt""$imagepath"
[ -f "$mnt""$imagepath"/boot-initrd."$release_version" ] || \
cp boot-initrd "$mnt""$imagepath"/boot-initrd."$release_version"
[ -f "$mnt""$imagepath"/boot-kernel."$release_version" ] || \
cp boot-kernel "$mnt""$imagepath"/boot-kernel."$release_version"
umount_efi
dev_from_partnum "$drive" "$target"
dd if=squashfs of="$partition" bs=1M
rename_partition "$drive" "$target" root_"$release_version"
popd
update_syslinux_menu "$drive"
}
function cleanup_version()
# vim: set ft=sh: