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
}
overwritte_device_with_zeros(){
question "Should $device_path be overwritten with zeros before copying?(y/N)" && read -r copy_zeros_to_device
if [ "$copy_zeros_to_device" = "y" ]
then
info "Overwritting..." &&
dd if=/dev/zero of="$device_path" bs="$OPTIMAL_BLOCKSIZE" status=progress || error "Overwritting $device_path failed."
else
info "Skipping Overwritting..."
fi
overwrite_device() {
question "Should $device_path be overwritten with zeros before copying? (y/N/block count)" && read -r copy_zeros_to_device
case "$copy_zeros_to_device" in
y)
info "Overwriting entire device..." &&
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
error "Invalid input. Block count must be a number."
fi
;;
esac
}
get_packages(){

View File

@ -7,7 +7,7 @@ echo "Setups disk encryption"
set_device_mount_partition_and_mapper_paths
overwritte_device_with_zeros
overwrite_device
info "Creating new 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"
;;
"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/";
if [ "$version" == "1" ]
then
image_name="ArchLinuxARM-rpi-$version.tar.gz"
case "$version" in
"1")
image_name="ArchLinuxARM-rpi-latest.tar.gz"
else
image_name="ArchLinuxARM-rpi-$version-latest.tar.gz"
fi
;;
"2" | "3")
image_name="ArchLinuxARM-rpi-armv7-latest.tar.gz"
;;
"4")
image_name="ArchLinuxARM-rpi-aarch64-latest.tar.gz"
;;
esac
;;
"manjaro")
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..."
fi
overwritte_device_with_zeros
overwrite_device
info "Starting image transfer..."
if [ "$distribution" = "arch" ]
@ -402,41 +409,35 @@ if [ "$distribution" != "manjaro" ]
copy_resolve_conf
question "Should the password of the standart user \"$target_username\" be changed?(y/N)" && read -r change_password
if [ "$change_password" == "y" ]
then
question "Type in new password (leave empty to skip): " && read -r password_1
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..."
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'
echo '$password_1'
) | passwd $target_username"
echo "(
echo '$password_1'
echo '$password_1'
) | passwd"
) | chroot "$root_mount_path" /bin/bash || error
else
error "Passwords didn't match."
fi
(
echo "$password_1" | chroot "$root_mount_path" passwd --stdin "$target_username"
echo "$password_1" | chroot "$root_mount_path" passwd --stdin
) || error "Failed to change password."
else
info "Skipped password change..."
error "Passwords didn't match."
fi
else
info "No password change requested, skipped password change..."
fi
hostname_path="$root_mount_path""etc/hostname"
question "Should the hostname be changed?(y/N)" && read -r change_hostname
if [ "$change_hostname" == "y" ]
then
question "Type in the hostname:" && read -r target_hostname;
echo "$target_hostname" > "$hostname_path" || error
else
target_hostname=$(cat "$hostname_path")
info "Skipped hostname change..."
hostname_path="$root_mount_path/etc/hostname"
question "Type in the hostname (leave empty to skip): " && read -r target_hostname
if [ -n "$target_hostname" ]; then
echo "$target_hostname" > "$hostname_path" || error "Failed to set hostname."
else
target_hostname=$(cat "$hostname_path")
info "No hostname change requested, skipped hostname change..."
fi
info "Used hostname is: $target_hostname"
case "$distribution" in