balenaEtcher — это программа для создания загрузочных USB-накопителей и SD-карт из образов ISO, IMG и других форматов. Она особенно полезна, когда нужно установить новую операционную систему (например, другой дистрибутив Linux), создать загрузочную флешку для восстановления системы или подготовить SD-карту для Raspberry Pi. В отличие от команды dd, balenaEtcher имеет понятный графический интерфейс и автоматически проверяет, что образ записан правильно.
💡 balenaEtcher не входит в стандартные репозитории Debian, но разработчики предоставляют официальные сборки на GitHub. В этом руководстве мы разберём два способа установки: ZIP-метод (работает на всех версиях Debian, включая 11) и DEB-метод (только для Debian 12 и 13). Вы также узнаете, как создать скрипты для автоматического обновления.
В этой статье вы узнаете:
- Как скачать последнюю версию balenaEtcher с GitHub
- Как установить через ZIP-архив (рекомендуется для Debian 11)
- Как установить через DEB-пакет (Debian 12 и 13)
- Как создать скрипты для автоматического обновления
- Как решить типичные проблемы (ошибки прав, команда не найдена)
1. 🔧 Предварительные требования
Перед установкой убедитесь, что:
- У вас установлена 64-битная (amd64/x86_64) версия Debian 11, 12 или 13
- Подключение к интернету стабильно
- У вас есть USB-флешка или SD-карта (для записи образов)
⚠️ ВАЖНО: Проверьте права sudo перед установкой
Если вы не уверены, есть ли у вашего пользователя права администратора, выполните в терминале:
sudo whoami
Что делает: sudo — выполняет команду от имени суперпользователя; whoami — показывает имя текущего пользователя.
✅ Если выводит root — всё в порядке, можете продолжать.
❌ Если выводит is not in the sudoers file — сначала пройдите наше руководство по настройке sudo.
1.1 Обновление системы
Перед установкой всегда обновляйте список пакетов:
sudo apt update && sudo apt upgrade -y
Что делает: Обновляет список пакетов и устанавливает последние обновления.
1.2 Установка необходимых утилит
sudo apt install ca-certificates curl jq unzip -y
Что делает: Устанавливает утилиты для скачивания файлов и работы с архивами.
2. 📊 Сравнение способов установки
| Метод | Поддерживаемые версии | Обновления | Для кого |
|---|---|---|---|
| ZIP-архив (рекомендуемый) | Debian 11, 12, 13 | Вручную (скрипт-помощник) | Все пользователи, включая Debian 11 |
| DEB-пакет | Debian 12, 13 | Вручную (скрипт-помощник) | Пользователи Debian 12/13, предпочитающие пакетную установку |
⚠️ Важно: DEB-пакет не работает на Debian 11, так как требует более новую версию dpkg. Пользователи Debian 11 должны использовать ZIP-метод.
3. 📦 Способ 1: Установка из официального ZIP-архива (Debian 11, 12, 13)
Этот метод работает на всех поддерживаемых версиях Debian, включая 11.
3.1 Проверка архитектуры
ARCH="$(dpkg --print-architecture)"
printf 'Architecture: %s\n' "$ARCH"
if [ "$ARCH" = "amd64" ]; then
echo "Architecture supported for the official Linux x64 download."
else
echo "balenaEtcher publishes official Linux downloads for x64/amd64 only."
fi
Что делает: Проверяет, что система 64-битная (требование для balenaEtcher).
3.2 Определение последней версии
RELEASE_JSON="$(curl -fsSL https://api.github.com/repos/balena-io/etcher/releases/latest)"
RELEASE_TAG="$(printf '%s' "$RELEASE_JSON" | jq -r '.tag_name // empty')"
PACKAGE_URL="$(printf '%s' "$RELEASE_JSON" | jq -r '.assets[] | select(.name | test("^balenaEtcher-linux-x64-[0-9.]+[.]zip$")) | .browser_download_url' | head -n 1)"
CHECKSUM_URL="$(printf '%s' "$RELEASE_JSON" | jq -r '.assets[] | select(.name == "SHA256SUMS.Linux.x64.txt") | .browser_download_url')"
if [ -z "$RELEASE_TAG" ] || [ -z "$PACKAGE_URL" ] || [ "$PACKAGE_URL" = "null" ] || [ -z "$CHECKSUM_URL" ] || [ "$CHECKSUM_URL" = "null" ]; then
echo "Could not find the current Linux x64 ZIP release assets."
PACKAGE_FILE=""
else
PACKAGE_FILE="${PACKAGE_URL##*/}"
printf 'Release: %s\nPackage: %s\n' "$RELEASE_TAG" "$PACKAGE_FILE"
fi
Что делает: Получает информацию о последнем релизе с GitHub API.
3.3 Скачивание и проверка архива
if [ -z "${PACKAGE_FILE:-}" ]; then
echo "Resolve the release assets before downloading balenaEtcher."
else
curl -fL --progress-bar -o "$PACKAGE_FILE" "$PACKAGE_URL"
curl -fsSLo SHA256SUMS.Linux.x64.txt "$CHECKSUM_URL"
grep " $PACKAGE_FILE$" SHA256SUMS.Linux.x64.txt | sha256sum -c -
fi
✅ Ожидаемый вывод: balenaEtcher-linux-x64-2.1.6.zip: OK
3.4 Установка в систему
if dpkg -l balena-etcher 2>/dev/null | grep -q '^ii'; then
echo "Remove the DEB package before installing the ZIP method."
elif [ -e /usr/local/bin/balena-etcher ] && [ ! -L /usr/local/bin/balena-etcher ]; then
echo "Refusing to replace non-symlink /usr/local/bin/balena-etcher."
elif [ ! -f "${PACKAGE_FILE:-}" ]; then
echo "Download and verify the ZIP file before installing balenaEtcher."
else
sudo rm -rf /opt/balenaEtcher
sudo unzip -q "$PACKAGE_FILE" -d /opt
sudo mv /opt/balenaEtcher-linux-x64 /opt/balenaEtcher
sudo chmod -R a+rX /opt/balenaEtcher
sudo ln -sf /opt/balenaEtcher/balena-etcher /usr/local/bin/balena-etcher
sudo curl -fsSLo /opt/balenaEtcher/icon.png "https://raw.githubusercontent.com/balena-io/etcher/${RELEASE_TAG}/assets/icon.png"
printf '%s\n' "${RELEASE_TAG#v}" | sudo tee /opt/balenaEtcher/.unishell-version > /dev/null
printf '%s\n' \
'[Desktop Entry]' \
'Name=balenaEtcher' \
'Comment=Flash OS images to SD cards and USB drives' \
'Exec=/usr/local/bin/balena-etcher %U' \
'Terminal=false' \
'Type=Application' \
'Icon=/opt/balenaEtcher/icon.png' \
'Categories=Utility;' | sudo tee /usr/share/applications/balena-etcher.desktop > /dev/null
fi
Что делает: Распаковывает архив в /opt/balenaEtcher, создаёт символическую ссылку и ярлык в меню.
3.5 Проверка установки
command -v balena-etcher
test -x /opt/balenaEtcher/balena-etcher && echo "balenaEtcher executable is installed"
✅ Ожидаемый вывод:
/usr/local/bin/balena-etcher
balenaEtcher executable is installed
3.6 Создание скрипта для обновления ZIP-версии
if [ -e /usr/local/bin/update-balenaetcher ] && ! grep -q 'Managed balenaEtcher ZIP update helper' /usr/local/bin/update-balenaetcher 2>/dev/null; then
echo "Refusing to replace existing /usr/local/bin/update-balenaetcher without the managed helper marker."
else
sudo tee /usr/local/bin/update-balenaetcher > /dev/null << 'SCRIPT_EOF'
#!/bin/bash
# Managed balenaEtcher ZIP update helper
set -euo pipefail
APP_DIR="/opt/balenaEtcher"
VERSION_FILE="$APP_DIR/.unishell-version"
LAUNCHER="/usr/local/bin/balena-etcher"
DESKTOP_FILE="/usr/share/applications/balena-etcher.desktop"
API_URL="https://api.github.com/repos/balena-io/etcher/releases/latest"
if [ "$(id -u)" -eq 0 ]; then
echo "Run update-balenaetcher as your regular user; it will use sudo for system files."
exit 1
fi
for cmd in curl grep jq unzip sha256sum dpkg mktemp sudo; do
if ! command -v "$cmd" > /dev/null 2>&1; then
echo "Missing required command: $cmd"
echo "Install prerequisites with: sudo apt install ca-certificates curl jq unzip -y"
exit 1
fi
done
ARCH="$(dpkg --print-architecture)"
if [ "$ARCH" != "amd64" ]; then
echo "balenaEtcher publishes Linux downloads for x64/amd64 only."
echo "Detected architecture: $ARCH"
exit 1
fi
if dpkg -l balena-etcher 2>/dev/null | grep -q '^ii'; then
echo "Remove the DEB package before updating the ZIP installation."
exit 1
fi
if [ -e "$LAUNCHER" ] && [ ! -L "$LAUNCHER" ]; then
echo "Refusing to replace non-symlink $LAUNCHER."
exit 1
fi
CURRENT_VERSION="missing"
if [ -r "$VERSION_FILE" ]; then
CURRENT_VERSION="$(cat "$VERSION_FILE" 2> /dev/null || true)"
CURRENT_VERSION="${CURRENT_VERSION:-unknown}"
elif [ -x "$APP_DIR/balena-etcher" ]; then
CURRENT_VERSION="installed"
fi
echo "Checking latest balenaEtcher release..."
RELEASE_JSON="$(curl -fsSL "$API_URL")"
LATEST_TAG="$(printf '%s' "$RELEASE_JSON" | jq -r '.tag_name // empty')"
PACKAGE_URL="$(printf '%s' "$RELEASE_JSON" | jq -r '.assets[] | select(.name | test("^balenaEtcher-linux-x64-[0-9.]+[.]zip$")) | .browser_download_url' | head -n 1)"
CHECKSUM_URL="$(printf '%s' "$RELEASE_JSON" | jq -r '.assets[] | select(.name == "SHA256SUMS.Linux.x64.txt") | .browser_download_url')"
if [ -z "$LATEST_TAG" ] || [ "$LATEST_TAG" = "null" ] || [ -z "$PACKAGE_URL" ] || [ "$PACKAGE_URL" = "null" ] || [ -z "$CHECKSUM_URL" ] || [ "$CHECKSUM_URL" = "null" ]; then
echo "Could not find the current Linux x64 ZIP release assets."
exit 1
fi
LATEST_VERSION="${LATEST_TAG#v}"
PACKAGE_FILE="${PACKAGE_URL##*/}"
echo "Current installed version: $CURRENT_VERSION"
echo "Latest available version: $LATEST_VERSION"
if [ "$CURRENT_VERSION" = "$LATEST_VERSION" ]; then
echo "balenaEtcher is already up to date."
exit 0
fi
echo "Preparing sudo access for installation..."
sudo true
WORK_DIR="$(mktemp -d)"
trap 'rm -rf "$WORK_DIR"' EXIT
echo "Downloading $PACKAGE_FILE..."
curl -fL --progress-bar -o "$WORK_DIR/$PACKAGE_FILE" "$PACKAGE_URL"
curl -fsSLo "$WORK_DIR/SHA256SUMS.Linux.x64.txt" "$CHECKSUM_URL"
echo "Verifying checksum..."
cd "$WORK_DIR"
grep " $PACKAGE_FILE$" SHA256SUMS.Linux.x64.txt | sha256sum -c -
echo "Extracting package..."
mkdir -p "$WORK_DIR/extract"
unzip -q "$WORK_DIR/$PACKAGE_FILE" -d "$WORK_DIR/extract"
EXTRACTED_DIR="$WORK_DIR/extract/balenaEtcher-linux-x64"
if [ ! -x "$EXTRACTED_DIR/balena-etcher" ]; then
echo "Extracted launcher was not found at $EXTRACTED_DIR/balena-etcher."
exit 1
fi
echo "Installing balenaEtcher $LATEST_VERSION..."
sudo rm -rf "$APP_DIR"
sudo mv "$EXTRACTED_DIR" "$APP_DIR"
sudo chmod -R a+rX "$APP_DIR"
sudo ln -sf "$APP_DIR/balena-etcher" "$LAUNCHER"
sudo curl -fsSLo "$APP_DIR/icon.png" "https://raw.githubusercontent.com/balena-io/etcher/${LATEST_TAG}/assets/icon.png"
printf '%s\n' "$LATEST_VERSION" | sudo tee "$VERSION_FILE" > /dev/null
sudo tee "$DESKTOP_FILE" > /dev/null << DESKTOP_EOF
[Desktop Entry]
Name=balenaEtcher
Comment=Flash OS images to SD cards and USB drives
Exec=/usr/local/bin/balena-etcher %U
Terminal=false
Type=Application
Icon=/opt/balenaEtcher/icon.png
Categories=Utility;
DESKTOP_EOF
if command -v update-desktop-database > /dev/null 2>&1; then
sudo update-desktop-database /usr/share/applications > /dev/null 2>&1 || true
fi
if [ ! -x "$APP_DIR/balena-etcher" ]; then
echo "Install failed: $APP_DIR/balena-etcher is missing or not executable."
exit 1
fi
echo "Update complete: balenaEtcher $LATEST_VERSION"
echo "Launcher: $LAUNCHER"
SCRIPT_EOF
fi
if grep -q 'Managed balenaEtcher ZIP update helper' /usr/local/bin/update-balenaetcher 2>/dev/null; then
sudo chmod +x /usr/local/bin/update-balenaetcher
echo "update-balenaetcher created successfully."
fi
Что делает: Создаёт скрипт, который автоматически проверяет, скачивает и устанавливает новые версии balenaEtcher.
4. 📦 Способ 2: Установка из DEB-пакета (Debian 12 и 13)
⚠️ Этот метод не работает на Debian 11 из-за устаревшей версии dpkg. Пользователи Debian 11 должны использовать ZIP-метод (раздел 3).
4.1 Проверка версии Debian
. /etc/os-release
printf 'Debian release: %s (%s)\n' "$VERSION_ID" "$VERSION_CODENAME"
case "$VERSION_ID" in
13|12) echo "DEB method supported for this release." ;;
11) echo "Use the ZIP method on Debian 11; the current DEB package uses control.tar.zst." ;;
*) echo "Use the ZIP method unless you have validated this Debian release." ;;
esac
4.2 Скачивание DEB-пакета
RELEASE_JSON="$(curl -fsSL https://api.github.com/repos/balena-io/etcher/releases/latest)"
PACKAGE_URL="$(printf '%s' "$RELEASE_JSON" | jq -r '.assets[] | select(.name | test("^balena-etcher_[0-9.]+_amd64[.]deb$")) | .browser_download_url' | head -n 1)"
CHECKSUM_URL="$(printf '%s' "$RELEASE_JSON" | jq -r '.assets[] | select(.name == "SHA256SUMS.Linux.x64.txt") | .browser_download_url')"
if [ -z "$PACKAGE_URL" ] || [ "$PACKAGE_URL" = "null" ] || [ -z "$CHECKSUM_URL" ] || [ "$CHECKSUM_URL" = "null" ]; then
echo "Could not find the current amd64 DEB release assets."
PACKAGE_FILE=""
else
PACKAGE_FILE="${PACKAGE_URL##*/}"
curl -fL --progress-bar -o "$PACKAGE_FILE" "$PACKAGE_URL"
curl -fsSLo SHA256SUMS.Linux.x64.txt "$CHECKSUM_URL"
grep " $PACKAGE_FILE$" SHA256SUMS.Linux.x64.txt | sha256sum -c -
fi
✅ Ожидаемый вывод: balena-etcher_2.1.6_amd64.deb: OK
4.3 Установка пакета
if [ -d /opt/balenaEtcher ] || [ -e /usr/local/bin/balena-etcher ]; then
echo "Remove the ZIP installation before installing the DEB package."
elif [ ! -f "${PACKAGE_FILE:-}" ]; then
echo "Download and verify the DEB package before installing balenaEtcher."
else
sudo apt install "./$PACKAGE_FILE" -y
fi
4.4 Проверка установки
dpkg -l balena-etcher
command -v balena-etcher
✅ Ожидаемый вывод: /usr/bin/balena-etcher
4.5 Создание скрипта для обновления DEB-версии
if [ -e /usr/local/bin/update-balenaetcher-deb ] && ! grep -q 'Managed balenaEtcher DEB update helper' /usr/local/bin/update-balenaetcher-deb 2>/dev/null; then
echo "Refusing to replace existing /usr/local/bin/update-balenaetcher-deb without the managed helper marker."
else
sudo tee /usr/local/bin/update-balenaetcher-deb > /dev/null << 'SCRIPT_EOF'
#!/bin/bash
# Managed balenaEtcher DEB update helper
set -euo pipefail
API_URL="https://api.github.com/repos/balena-io/etcher/releases/latest"
if [ "$(id -u)" -eq 0 ]; then
echo "Run update-balenaetcher-deb as your regular user; it will use sudo for APT."
exit 1
fi
for cmd in apt curl dpkg dpkg-query grep jq mktemp sha256sum sudo; do
if ! command -v "$cmd" > /dev/null 2>&1; then
echo "Missing required command: $cmd"
echo "Install prerequisites with: sudo apt install ca-certificates curl jq -y"
exit 1
fi
done
# shellcheck disable=SC1091
. /etc/os-release
case "$VERSION_ID" in
13|12) ;;
*) echo "Use the ZIP method unless you have validated the DEB package on Debian $VERSION_ID."; exit 1 ;;
esac
ARCH="$(dpkg --print-architecture)"
if [ "$ARCH" != "amd64" ]; then
echo "balenaEtcher publishes Linux DEB packages for amd64 only."
echo "Detected architecture: $ARCH"
exit 1
fi
if [ -d /opt/balenaEtcher ] || [ -e /usr/local/bin/balena-etcher ]; then
echo "Remove the ZIP installation before updating the DEB package."
exit 1
fi
CURRENT_VERSION="$(dpkg-query -W -f='${Version}' balena-etcher 2>/dev/null || true)"
if [ -z "$CURRENT_VERSION" ]; then
echo "balena-etcher is not installed from the DEB method."
exit 1
fi
echo "Checking latest balenaEtcher DEB release..."
RELEASE_JSON="$(curl -fsSL "$API_URL")"
LATEST_TAG="$(printf '%s' "$RELEASE_JSON" | jq -r '.tag_name // empty')"
PACKAGE_URL="$(printf '%s' "$RELEASE_JSON" | jq -r '.assets[] | select(.name | test("^balena-etcher_[0-9.]+_amd64[.]deb$")) | .browser_download_url' | head -n 1)"
CHECKSUM_URL="$(printf '%s' "$RELEASE_JSON" | jq -r '.assets[] | select(.name == "SHA256SUMS.Linux.x64.txt") | .browser_download_url')"
if [ -z "$LATEST_TAG" ] || [ "$LATEST_TAG" = "null" ] || [ -z "$PACKAGE_URL" ] || [ "$PACKAGE_URL" = "null" ] || [ -z "$CHECKSUM_URL" ] || [ "$CHECKSUM_URL" = "null" ]; then
echo "Could not find the current amd64 DEB release assets."
exit 1
fi
LATEST_VERSION="${LATEST_TAG#v}"
PACKAGE_FILE="${PACKAGE_URL##*/}"
echo "Current installed version: $CURRENT_VERSION"
echo "Latest available version: $LATEST_VERSION"
if [ "$CURRENT_VERSION" = "$LATEST_VERSION" ]; then
echo "balenaEtcher DEB package is already up to date."
exit 0
fi
echo "Preparing sudo access for APT..."
sudo true
WORK_DIR="$(mktemp -d)"
trap 'rm -rf "$WORK_DIR"' EXIT
echo "Downloading $PACKAGE_FILE..."
curl -fL --progress-bar -o "$WORK_DIR/$PACKAGE_FILE" "$PACKAGE_URL"
curl -fsSLo "$WORK_DIR/SHA256SUMS.Linux.x64.txt" "$CHECKSUM_URL"
echo "Verifying checksum..."
cd "$WORK_DIR"
grep " $PACKAGE_FILE$" SHA256SUMS.Linux.x64.txt | sha256sum -c -
echo "Installing $PACKAGE_FILE with APT..."
sudo apt install "$WORK_DIR/$PACKAGE_FILE" -y
FINAL_VERSION="$(dpkg-query -W -f='${Version}' balena-etcher 2>/dev/null || true)"
echo "Update complete: balenaEtcher $FINAL_VERSION"
SCRIPT_EOF
fi
if grep -q 'Managed balenaEtcher DEB update helper' /usr/local/bin/update-balenaetcher-deb 2>/dev/null; then
sudo chmod +x /usr/local/bin/update-balenaetcher-deb
echo "update-balenaetcher-deb created successfully."
fi
5. 🖱️ Запуск balenaEtcher
5.1 Запуск из терминала
balena-etcher
5.2 Запуск из меню приложений
Нажмите Super (клавиша с логотипом Windows) или кликните «Activities», введите в поиске «balenaEtcher» и нажмите на иконку.
6. 📝 Использование balenaEtcher (краткая инструкция)
Интерфейс программы состоит из трёх простых шагов:
- Выбрать образ (Flash from file) — нажмите на иконку с папкой и выберите ISO или IMG-файл
- Выбрать целевой накопитель (Select target) — выберите USB-флешку или SD-карту (будьте внимательны — все данные на ней будут удалены!)
- Начать запись (Flash!) — нажмите кнопку, чтобы начать запись. После завершения программа проверит, что образ записан правильно.
⚠️ Внимание: Все данные на выбранном USB-накопителе или SD-карте будут безвозвратно удалены. Перед записью убедитесь, что вы выбрали правильный диск.
Как определить правильный USB-накопитель (чтобы не ошибиться)
lsblk
Пример вывода:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 238.5G 0 disk
├─sda1 8:1 0 512M 0 part /boot/efi
└─sda2 8:2 0 238G 0 part /
sdb 8:16 1 14.9G 0 disk
└─sdb1 8:17 1 14.9G 0 part /media/user/USB
sda— ваш основной жёсткий диск (не трогайте его!)sdb— это ваша USB-флешка (14.9G = примерно 16 ГБ)
7. ⚠️ Решение типичных проблем
7.1 Ошибка: balena-etcher: command not found
Симптом: После установки команда balena-etcher не найдена.
Решение: Проверьте, что пакет установлен:
dpkg -l | grep balena
Если в начале строки стоит iU или iF вместо ii — исправьте зависимости:
sudo apt --fix-broken install
7.2 Ошибка: Permission denied при записи на USB-накопитель
Симптом: balenaEtcher не может записать образ на флешку.
Решение: Запустите balenaEtcher с правами суперпользователя:
sudo balena-etcher
7.3 Ошибка на Debian 11 при установке DEB-пакета
Симптом: При установке DEB-пакета на Debian 11 появляется ошибка:
dpkg-deb: error: archive uses unknown compression for member 'control.tar.zst'
Решение: Используйте ZIP-метод (раздел 3) — он работает на всех версиях Debian.
7.4 Старый APT-репозиторий всё ещё есть в системе
Если старые инструкции оставили файл репозитория, удалите его:
sudo rm -f /etc/apt/sources.list.d/balena-etcher.list
sudo apt update
8. 🗑️ Удаление balenaEtcher
Удаление ZIP-версии
sudo rm -rf /opt/balenaEtcher
sudo rm -f /usr/local/bin/balena-etcher /usr/share/applications/balena-etcher.desktop
if grep -q 'Managed balenaEtcher ZIP update helper' /usr/local/bin/update-balenaetcher 2>/dev/null; then
sudo rm -f /usr/local/bin/update-balenaetcher
fi
Удаление DEB-версии
sudo apt remove balena-etcher -y
sudo apt autoremove -y
if grep -q 'Managed balenaEtcher DEB update helper' /usr/local/bin/update-balenaetcher-deb 2>/dev/null; then
sudo rm -f /usr/local/bin/update-balenaetcher-deb
fi
Удаление пользовательских данных
rm -rf ~/.config/balenaEtcher ~/.cache/balenaEtcher
9. 📝 Чек-лист: всё готово к работе
- [ ] balenaEtcher установлен:
dpkg -l balena-etcher(DEB) илиtest -x /opt/balenaEtcher/balena-etcher(ZIP) - [ ] Программа запускается из меню приложений
- [ ] Программа запускается из терминала командой
balena-etcher - [ ] Скрипт обновления создан:
command -v update-balenaetcher(ZIP) илиcommand -v update-balenaetcher-deb(DEB) - [ ] Вы можете выбрать образ ISO/IMG
- [ ] Вы можете выбрать USB-накопитель (не перепутайте с системным диском!)
10. 🏁 Заключение
Вы успешно установили balenaEtcher на Debian. Теперь вы можете создавать загрузочные USB-флешки и SD-карты с любыми ISO-образами через простой графический интерфейс. Программа автоматически проверяет, что образ записан правильно, что избавляет от проблем при первой загрузке с флешки.
Что дальше:
- Скачайте ISO-образ вашего любимого дистрибутива Linux и запишите его на флешку
- Подготовьте SD-карту для Raspberry Pi
- Изучите официальную документацию balenaEtcher