Add make-ubuntu-usb.sh: write Ubuntu desktop ISO to USB (macOS)
Made-with: Cursor
This commit is contained in:
parent
ed0a052a7c
commit
1fdce52239
1 changed files with 40 additions and 0 deletions
40
scripts/make-ubuntu-usb.sh
Normal file
40
scripts/make-ubuntu-usb.sh
Normal file
|
|
@ -0,0 +1,40 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
# Writes Ubuntu desktop ISO to a USB stick (whole-disk, bootable).
|
||||||
|
# Usage: make-ubuntu-usb.sh <disk_number> [iso_path]
|
||||||
|
# Example: make-ubuntu-usb.sh 4
|
||||||
|
# make-ubuntu-usb.sh 4 /tmp/ubuntu-24.04.4-desktop-amd64.iso
|
||||||
|
# Plug in the USB, run 'diskutil list' to find the disk (e.g. disk4 = use 4).
|
||||||
|
# Use -y to skip the confirmation prompt.
|
||||||
|
|
||||||
|
set -e
|
||||||
|
SKIP_CONFIRM=
|
||||||
|
[[ "${1:-}" == "-y" ]] && { SKIP_CONFIRM=1; shift; }
|
||||||
|
DISK_NUM="${1:?Usage: $0 [-y] <disk_number> [iso_path]}"
|
||||||
|
ISO="${2:-/tmp/ubuntu-24.04.4-desktop-amd64.iso}"
|
||||||
|
|
||||||
|
if [[ ! -f "$ISO" ]]; then
|
||||||
|
echo "ISO not found: $ISO"
|
||||||
|
echo "Download from: https://releases.ubuntu.com/24.04/ubuntu-24.04.4-desktop-amd64.iso"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
DISK="disk${DISK_NUM}"
|
||||||
|
RDISK="rdisk${DISK_NUM}"
|
||||||
|
|
||||||
|
if ! diskutil info "$DISK" &>/dev/null; then
|
||||||
|
echo "Disk $DISK not found. Run 'diskutil list' and use the number of your USB (e.g. 4 for disk4)."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Target: $DISK ($RDISK)"
|
||||||
|
echo "ISO: $ISO"
|
||||||
|
if [[ -z "$SKIP_CONFIRM" ]]; then
|
||||||
|
echo "This will ERASE all data on $DISK. Press Enter to continue, Ctrl+C to abort."
|
||||||
|
read -r
|
||||||
|
fi
|
||||||
|
|
||||||
|
diskutil unmountDisk "$DISK"
|
||||||
|
# macOS dd uses bs in bytes; 4m is invalid, use 4MiB. status=progress is GNU-only.
|
||||||
|
sudo dd if="$ISO" of="/dev/$RDISK" bs=4194304
|
||||||
|
diskutil eject "$DISK"
|
||||||
|
echo "Done. USB is now a bootable Ubuntu installer."
|
||||||
Loading…
Add table
Add a link
Reference in a new issue