41 lines
1.0 KiB
Bash
41 lines
1.0 KiB
Bash
#!/bin/bash
|
|
# todo:
|
|
# offline option
|
|
## dd raw .img
|
|
## enum partitions
|
|
### file zero fill empty space of good partitions
|
|
### dd zero fill unformatted space and such
|
|
### xz compress
|
|
# online option
|
|
## enum partitions
|
|
## attempt to mount all possible
|
|
## file zero fill them
|
|
## dd zero fill unformatted space
|
|
## take offline for xz inline rip
|
|
|
|
set -e # fail explicitly on any error
|
|
|
|
# todo: interactive, cli options
|
|
# disk=/dev/sda
|
|
user=princesspi
|
|
# outname="test_disk_image_post0_$(date +%Y-%m-%d-%H%M-%Z)"
|
|
outname="$outname.img.xz"
|
|
zerofile="/home/$user/0.0"
|
|
|
|
echo "zeroing out empty space"
|
|
sudo if=/dev/zero of="$zerofile" bs=4M status=progress || sudo rf -f "$zerofile"
|
|
|
|
# do the disk image dump using inline xz
|
|
# echo "runnin inline xz on $disk to file $outname"
|
|
# sudo dd if=$disk status=progress bs=4M | xz -c > "$outname"
|
|
|
|
# test xz integrity
|
|
# echo "testing disk image integrity"
|
|
# xz -t -v "$outname"
|
|
|
|
# make the sha256 file
|
|
# echo "generating sha256 checksum file"
|
|
# sha256sum "$outname" | tee "$outname.sha256"
|
|
|
|
echo "all donesies :3"
|