Compare commits

..

5 Commits

3 changed files with 61 additions and 47 deletions

View File

@ -95,15 +95,28 @@ set_device_path(){
info "Optimal blocksize set to: $OPTIMAL_BLOCKSIZE" || error info "Optimal blocksize set to: $OPTIMAL_BLOCKSIZE" || error
} }
overwritte_device_with_zeros(){ overwrite_device() {
question "Should $device_path be overwritten with zeros before copying?(y/N)" && read -r copy_zeros_to_device question "Should $device_path be overwritten with zeros before copying? (y/N/block count)" && read -r copy_zeros_to_device
if [ "$copy_zeros_to_device" = "y" ] case "$copy_zeros_to_device" in
then y)
info "Overwritting..." && info "Overwriting entire device..." &&
dd if=/dev/zero of="$device_path" bs="$OPTIMAL_BLOCKSIZE" status=progress || error "Overwritting $device_path failed." dd if=/dev/zero of="$device_path" bs="$OPTIMAL_BLOCKSIZE" status=progress || error "Overwriting $device_path failed."
;;
N)
info "Skipping Overwriting..."
;;
''|*[!0-9]*)
error "Invalid input."
;;
*)
if [[ "$copy_zeros_to_device" =~ ^[0-9]+$ ]]; then
info "Overwriting $copy_zeros_to_device blocks..." &&
dd if=/dev/zero of="$device_path" bs="$OPTIMAL_BLOCKSIZE" count="$copy_zeros_to_device" status=progress || error "Overwriting $device_path failed."
else else
info "Skipping Overwritting..." error "Invalid input. Block count must be a number."
fi fi
;;
esac
} }
get_packages(){ get_packages(){

View File

@ -7,7 +7,7 @@ echo "Setups disk encryption"
set_device_mount_partition_and_mapper_paths set_device_mount_partition_and_mapper_paths
overwritte_device_with_zeros overwrite_device
info "Creating new GPT partition table..." info "Creating new GPT partition table..."
( echo "g" # create a new empty GPT partition table ( echo "g" # create a new empty GPT partition table

View File

@ -69,14 +69,21 @@ case "$operation_system" in
image_checksum="0E1BA7FFD14AAAE5F0462C8293D95B62C3BF1D9E726E26977BD04772C55680D3" image_checksum="0E1BA7FFD14AAAE5F0462C8293D95B62C3BF1D9E726E26977BD04772C55680D3"
;; ;;
"arch") "arch")
question "Which Raspberry Pi will be used(e.g.:1,2,3,4,aarch64):" && read -r version question "Which Raspberry Pi will be used (e.g.: 1, 2, 3, 4...):" && read -r version
base_download_url="http://os.archlinuxarm.org/os/"; base_download_url="http://os.archlinuxarm.org/os/";
if [ "$version" == "1" ] image_name="ArchLinuxARM-rpi-$version.tar.gz"
then case "$version" in
"1")
image_name="ArchLinuxARM-rpi-latest.tar.gz" image_name="ArchLinuxARM-rpi-latest.tar.gz"
else ;;
image_name="ArchLinuxARM-rpi-$version-latest.tar.gz" "2" | "3")
fi image_name="ArchLinuxARM-rpi-armv7-latest.tar.gz"
;;
"4")
image_name="ArchLinuxARM-rpi-aarch64-latest.tar.gz"
;;
esac
;; ;;
"manjaro") "manjaro")
question "Which version(e.g.:architect,gnome) should be used:" && read -r version question "Which version(e.g.:architect,gnome) should be used:" && read -r version
@ -256,7 +263,7 @@ if [ "$transfer_image" = "y" ]
info "Skipping partition table deletion..." info "Skipping partition table deletion..."
fi fi
overwritte_device_with_zeros overwrite_device
info "Starting image transfer..." info "Starting image transfer..."
if [ "$distribution" = "arch" ] if [ "$distribution" = "arch" ]
@ -402,41 +409,35 @@ if [ "$distribution" != "manjaro" ]
copy_resolve_conf copy_resolve_conf
question "Should the password of the standart user \"$target_username\" be changed?(y/N)" && read -r change_password question "Type in new password (leave empty to skip): " && read -r password_1
if [ "$change_password" == "y" ]
then if [ -n "$password_1" ]; then
question "Repeat new password for \"$target_username\": " && read -r password_2
if [ "$password_1" = "$password_2" ]; then
info "Changing passwords on target system..." info "Changing passwords on target system..."
question "Type in new password: " && read -r password_1
question "Repeat new password\"$target_username\"" && read -r password_2
if [ "$password_1" = "$password_2" ]
then
( (
echo "( echo "$password_1" | chroot "$root_mount_path" passwd --stdin "$target_username"
echo '$password_1' echo "$password_1" | chroot "$root_mount_path" passwd --stdin
echo '$password_1' ) || error "Failed to change password."
) | passwd $target_username"
echo "(
echo '$password_1'
echo '$password_1'
) | passwd"
) | chroot "$root_mount_path" /bin/bash || error
else else
error "Passwords didn't match." error "Passwords didn't match."
fi fi
else else
info "Skipped password change..." info "No password change requested, skipped password change..."
fi fi
hostname_path="$root_mount_path""etc/hostname"
question "Should the hostname be changed?(y/N)" && read -r change_hostname hostname_path="$root_mount_path/etc/hostname"
if [ "$change_hostname" == "y" ]
then question "Type in the hostname (leave empty to skip): " && read -r target_hostname
question "Type in the hostname:" && read -r target_hostname;
echo "$target_hostname" > "$hostname_path" || error if [ -n "$target_hostname" ]; then
echo "$target_hostname" > "$hostname_path" || error "Failed to set hostname."
else else
target_hostname=$(cat "$hostname_path") target_hostname=$(cat "$hostname_path")
info "Skipped hostname change..." info "No hostname change requested, skipped hostname change..."
fi fi
info "Used hostname is: $target_hostname" info "Used hostname is: $target_hostname"
case "$distribution" in case "$distribution" in