YACBA/create_boot_usb.sh
Lain Iwakura 30f65e05d8
Some checks failed
Build YACBA ISO / build-iso (push) Failing after 1m10s
added ci/cd + iso
2025-06-22 21:51:00 +03:00

66 lines
1.5 KiB
Bash
Executable File
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/bin/bash
if [ $# -ne 1 ]; then
echo "Использование: $0 /dev/sdX"
echo "Где /dev/sdX - ваша флешка"
exit 1
fi
DEVICE=$1
if [ ! -b "$DEVICE" ]; then
echo "[-] Устройство $DEVICE не найдено"
exit 1
fi
echo "[*] Создаю автономную загрузочную флешку на $DEVICE"
echo "[!] ВСЕ ДАННЫЕ БУДУТ УДАЛЕНЫ!"
read -p "Продолжить? (y/N): " -n 1 -r
echo
if [[ ! $REPLY =~ ^[Yy]$ ]]; then
exit 1
fi
echo "[*] Собираю образ ОС..."
make clean
make os.bin
if [ ! -f "os.bin" ]; then
echo "[-] Ошибка сборки os.bin"
exit 1
fi
echo "[*] Создаю разделы на флешке..."
sudo umount ${DEVICE}* 2>/dev/null || true
sudo fdisk $DEVICE << EOF
o
n
p
1
+10M
n
p
2
a
1
w
EOF
echo "[*] Записываю загрузчик..."
sudo dd if=os.bin of=${DEVICE}1 bs=512 status=progress
echo "[*] Инициализирую раздел данных..."
sudo dd if=/dev/zero of=${DEVICE}2 bs=1M count=1 2>/dev/null
echo "[*] RAW раздел для дампа готов"
echo "[*] Синхронизирую данные..."
sudo sync
echo "[+] Автономная загрузочная флешка готова!"
echo "[*] Загрузочный раздел: ${DEVICE}1"
echo "[*] Раздел для данных: ${DEVICE}2"
echo "[*] Флешка загрузится сама и сохранит дамп на второй раздел"