mirror of
https://github.com/kevinveenbirkenbach/linux-image-manager.git
synced 2025-09-08 19:27:11 +02:00
Implemented wrapper for pkgmgr and more sync for safe image transfer and manjaro gnome 24
This commit is contained in:
@@ -95,12 +95,32 @@ set_device_path(){
|
||||
info "Optimal blocksize set to: $OPTIMAL_BLOCKSIZE" || error
|
||||
}
|
||||
|
||||
print_partition_table_info() {
|
||||
echo "##########################################################################################"
|
||||
echo "Note on Partition Table Deletion:"
|
||||
echo "---------------------------------------------"
|
||||
echo "• MBR (Master Boot Record):"
|
||||
echo " - Typically occupies the first sector (512 bytes), i.e., 1 block."
|
||||
echo ""
|
||||
echo "• GPT (GUID Partition Table):"
|
||||
echo " - Uses a protective MBR (1 block), a GPT header (1 block),"
|
||||
echo " and usually a partition entry array that takes up about 32 blocks."
|
||||
echo " - Total: approximately 34 blocks (assuming a 512-byte block size)."
|
||||
echo ""
|
||||
echo "Recommendation: For deleting a GPT partition table, use a block size of 512 bytes"
|
||||
echo " and overwrite at least 34 blocks to ensure the entire table is cleared."
|
||||
echo "##########################################################################################"
|
||||
}
|
||||
|
||||
overwrite_device() {
|
||||
# Call the function to display the information.
|
||||
print_partition_table_info
|
||||
|
||||
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."
|
||||
dd if=/dev/zero of="$device_path" bs="$OPTIMAL_BLOCKSIZE" status=progress && sync || error "Overwriting $device_path failed."
|
||||
;;
|
||||
N|'')
|
||||
info "Skipping Overwriting..."
|
||||
@@ -111,7 +131,7 @@ overwrite_device() {
|
||||
*)
|
||||
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."
|
||||
dd if=/dev/zero of="$device_path" bs="$OPTIMAL_BLOCKSIZE" count="$copy_zeros_to_device" status=progress && sync || error "Overwriting $device_path failed."
|
||||
else
|
||||
error "Invalid input. Block count must be a number."
|
||||
fi
|
||||
|
@@ -31,7 +31,7 @@ create_luks_key_and_update_cryptab(){
|
||||
then
|
||||
warning "File already exists. Overwriting!"
|
||||
fi
|
||||
sudo dd if=/dev/urandom of="$secret_key_path" bs=512 count=8 &&
|
||||
sudo dd if=/dev/urandom of="$secret_key_path" bs=512 count=8 && sync &&
|
||||
|
||||
info "Opening and closing device to verify that everything works fine..." &&
|
||||
sudo cryptsetup -v luksClose "$1" || info "No need to luksClose $1. Device isn't open." &&
|
||||
|
@@ -25,6 +25,6 @@ question "Please confirm by pushing \"Enter\". To cancel use \"Ctrl + Alt + C\""
|
||||
read -r bestaetigung && echo "$bestaetigung";
|
||||
|
||||
info "Imagetransfer starts. This can take a while..." &&
|
||||
dd if="$device_path" of="$ofi" bs=1M status=progress || error "\"dd\" failed.";
|
||||
dd if="$device_path" of="$ofi" bs=1M status=progress && sync || error "\"dd\" failed.";
|
||||
|
||||
success "Imagetransfer successfull." && exit 0;
|
||||
|
@@ -147,6 +147,10 @@ case "$operation_system" in
|
||||
base_download_url="https://download.manjaro.org/gnome/22.1.3/"
|
||||
image_name="manjaro-gnome-22.1.3-230529-linux61.iso"
|
||||
;;
|
||||
"24")
|
||||
base_download_url="https://download.manjaro.org/gnome/24.2.1/"
|
||||
image_name="manjaro-gnome-24.2.1-241216-linux612.iso"
|
||||
;;
|
||||
"raspberrypi")
|
||||
# at the moment just optimized for raspberry pi 4
|
||||
base_download_url="https://github.com/manjaro-arm/rpi4-images/releases/download/23.02/"
|
||||
|
Reference in New Issue
Block a user