Preparing Boot Media
Fedora images are Hybrid ISOs and can be used to create installation media with both optical and USB disks, for booting on both BIOS and UEFI systems.
Fedora Media Writer
Fedora Media Writer has been significantly improved and is now the official, tested and supported way to make bootable media. Fedora Media Writer supports Linux, macOS, and Windows. It is an easy way to make bootable USB media to install Fedora (or other operating systems). Using Fedora Media Writer is strongly encouraged, although other USB media creation software can work as well.
Some of the new additions to Fedora Media Writer are that Fedora Workstation and Server are easily and quickly accessible from the selection on the main screen. Further choices are available if you select the button below Custom image. This offers a selection of various Fedora Spins, such as Xfce or Mate.
Historically, universal USB creation tools, such as Unetbootin, are a popular way to create USB installers from ISOs intended for optical media. They typically create a filesystem on the USB drive by extracting files from the image, and writing syslinux bootloader to the device.
These methods circumvent the boot-loader configuration built into Fedora images, which are pre-partitioned and designed to boot on UEFI systems with SecureBoot enabled as well as BIOS systems, and thus they do not produce consistent results with Fedora images, especially on UEFI systems.
The best results are produced by utilities that use a direct write method and do not modify the Fedora image.
Always think twice before writing an image to the device. The media creation methods described in this article are destructive. All data on the USB stick are deleted during the process, so make sure you have a back up of the data on the USB stick. Double check that you have selected correct device to write the image to!
Installing and running Fedora Media Writer
On Fedora
On Fedora 25 or later, Fedora Media Writer is available in the default repository. You can use dnf to install the package.
$ sudo dnf install mediawriter
Создаём Fedora LiveUSB с поддержкой сохранения настроек
В данной статье мы рассмотрим способ создания загрузочной флешки Fedora LiveUSB с поддержкой сохранения файлов и настроек между загрузками (persistence mode).
Введение
Ранее мы уже подробно описывали процесс создания загрузочных LiveUSB для Fedora, но официальные конфигурации всегда записываются на накопитель «как есть» и поэтому не поддерживают возможность сохранения изменений, поэтому при каждой загрузке с них всегда создаётся чистое окружение.
Сегодня мы представим другой способ, с использованием небольшой консольной утилиты livecd-iso-to-disk, позволяющий вносить свои изменения в процесс загрузки образа.
Предупреждение
USB-накопитель должен иметь достаточный объём для хранения основного squashfs-образа, а также одного, либо двух оверлеев, поэтому рекомендуется использовать устройства стандарта USB 3.0 от 8 ГБ и выше.
Следует помнить, что большинство USB-накопителей, в отличие от SSD, никак не балансируют износ ячеек, поэтому частая перезапись одних и тех же файлов может привести к быстрому выходу их из строя.
Использование LiveUSB в режиме persistence не является альтернативой обычной установке системы.
Все данные на целевом устройстве будут уничтожены.
Подготовка
Сначала установим все необходимые для работы пакеты:
sudo dnf install livecd-tools livecd-iso-to-mediums
Далее скачаем оригинальный установочный образ Fedora Live (netinstall не поддерживаются), либо обновлённый респин и сохраним его на жёстком диске устройства.
Создаём Live
Обязательно убедимся, что целевой USB-накопитель размонтирован:
Создадим свой вариант LiveUSB с поддержкой UEFI-загрузки (рекомендуемый гибридный вариант):
sudo livecd-iso-to-disk --efi --format --overlay-size-mb 2048 --home-size-mb 2048 --unencrypted-home --label Fedora /path/to/Fedora-Workstation-Live-x86_64-32-1.6.iso /dev/sdX
- overlay-size-mb — максимальный размер в MiB для основного оверлея системы (используется для хранения всех изменений внутри корневого раздела);
- home-size-mb — максимальный размер в MiB для зашифрованного оверлея с пользовательскими файлами, который будет смонтирован как /home;
- /path/to/Fedora-Workstation-Live-x86_64-32-1.6.iso — полный путь к файлу с оригинальным ISO-образом дистрибутива (поддерживаются варианты с любой рабочей средой);
- /dev/sdX — устройство подключённой USB-флешки без номеров разделов, с которой мы будем работать.
- msdos — включает использование файловой системы FAT32 на устройстве вместо ext4;
- extra-kernel-args — позволяет задать дополнительные параметры для ядра при необходимости;
- unencrypted-home — позволяет отключить шифрование оверлея с данными при необходимости (по умолчанию оно включено).
Внимание! Максимально допустимый раздел для каждого оверлея составляет 4096 MiB из-за ограничений файловой системы FAT32. На ext4 они не распространяются.
По окончании процесса записи выполним принудительную синхронизацию кэшей:
Литература
При написании данной статьи использовалась литература из следующих источников:
10 commentaries to post
Да. Если не нужен оверлей для корневого раздела, а лишь для пользовательских данных, то достаточно указать только home-size-mb.
Для людей желающих попробовать, лучший вариант наглядно увидеть это, был бы ролик с пояснением процесса на YouTube. Для пользователей Windows это сложновато.
Интерфейс программы Fedora Media Writer, на наш взгляд, достаточно прост и интуитивно понятен любому пользователю.
Используйте свежую утилиту по ссылке «исходные коды утилиты livecd-iso-to-disk», в дистрибутиве (fc35) — старая версия. —msdos параметр устарел, —format msdos — актуальная замена (для новой версии). Также можно форматировать в других ФС и выбирать их и параметры (для новой версии). Максимальный размер раздела для msdos (FAT32) — 4095 Мб, а не 4096. Ещё пожелание к мануалу: добавить в пример —unencrypted-home, т.к. после продолжительной подготовки данных самой утилитой неприятно озадачивает выбор пароля. Простой пароль выбрать не даёт. Как вариант — две строки примера или до примера указать, что ТРЕБУЕТСЯ решить заранее про шифровку home, т.к. придется ждать продолжительное время, если home шифровать не надо, а по умолчанию шифровка включена.
Используйте свежую утилиту по ссылке «исходные коды утилиты livecd-iso-to-disk», в дистрибутиве (fc35) — старая версия.
—msdos параметр устарел, —format msdos — актуальная замена (для новой версии). Также можно форматировать в других ФС и выбирать их и параметры (для новой версии).
Форматировать можно в любую поддерживаемую ядром ФС, однако загрузиться без проблем получится лишь с той, которая поддерживается прошивкой UEFI BIOS, т.е. FAT, либо FAT32.
Ещё пожелание к мануалу: добавить в пример —unencrypted-home, т.к. после продолжительной подготовки данных самой утилитой неприятно озадачивает выбор пароля. Простой пароль выбрать не даёт.
Шифровать разделы на флешках далеко не лучшее решение, т.к. будет очень медленно, поэтому добавим в статью информацию об этом. Спасибо.
Чтобы не забыть: 1. Флешка, записанная утилитой из дистрибутива, не завелась, а по ссылке из статьи — запустилась. 2.1. Добавьте ключик про не шифровать /home в пример. 2.2. lsblk покажет как называются подключенные блочные устройства. 3. Система обновляется по dnf upgrade, но кроме ядра. Если ядро в репозиториях обновилось — надо будет доставлять kernel-devel (если они нужны). Смотрим, что стоит в дистрибутиве:
dnf -C list installed | grep kernel
Скачиваем весь пакет kernel целиком (скачается много объемных файлов, аккуратно с трафиком и объемом на флешке):
koji download-build --arch=x86_64 kernel-5.15.7-200.fc35
sudo dnf install ./kernel-devel-5.15.7-200.fc35.x86_64.rpm
4. Привет команде разработчиков, ужимающей дистр в 2 Гб. Из 16 Гб флешки даже с этими костылями весь объем использовать не получается. 🙁
Обновлять такую систему не рекомендуется, т.к. обновляется лишь оверлей, а корневая система остаётся с оригинального Live-образа. Если требуется полноценная переносная установка, то рекомендую приобрести внешний SSD с интерфейсом Thunderbolt 3/4 и установить систему на него напрямую стандартным способом в EFI-режиме. Такая система будет работать на любом устройстве, имеющим порт Thunderbolt.
Всё долго запускается. Операции с флешкой очень медленные: создание флешки, обновление, загрузка, инсталляция и тормозит в процессе работы. Я хотел сделать флешку, с которой можно поставить Федору на ноутбук с вайфаем на broadcom без подключения его к сети по проводу. Итог: обновлять Live систему не следует, и вообще она бесполезна. Надо скачать rpm broadcom-wl и kernel-devel версии как на Live образе и с другой флешки считать после установки. А ещё проще — подключить провод, что я и сделал. Как выделить дополнительное место на большой флешке под эти два файла особо не разбирался, а по-простому не получилось. Обидно, что пропадает много свободного места и приходится устраивать танцы с бубном.
Legacy для современного железа — это очень плохо ибо лишает всех полезных функций UEFI, плюс реализован он сейчас большинством производителей, что называется «для галочки», и либо вообще не тестируется, либо тестируется по остаточному принципу.
Всё долго запускается. Операции с флешкой очень медленные: создание флешки, обновление, загрузка, инсталляция и тормозит в процессе работы.
Разумеется ибо флешка — это очень медленное устройство (кроме очень дорогих моделей, которые внутри SSD, но в форм-факторе флешки). К тому же флешки никак не балансируют износ, т.е. постоянная перезапись одних и тех же файлов быстро исчерпает лимит циклов перезаписи и она либо уйдёт в защиту (станет r/o), либо вообще перестанет определяться.
Я хотел сделать флешку, с которой можно поставить Федору на ноутбук с вайфаем на broadcom без подключения его к сети по проводу.
Для этого лучше использовать Fedora Kickstart и сгенерировать полноценный образ со своим набором пакетов, включая нестандартные из собственного репозитория. В идеале конечно удалить из ноутбука Wi-Fi модуль производства Broadcom и заменить его на Intel AX200 ибо он даже с проприетарным драйвером будет работать очень плохо и нестабильно.
Надо скачать rpm broadcom-wl и kernel-devel версии как на Live образе и с другой флешки считать после установки. А ещё проще — подключить провод, что я и сделал.
В случае использования Kickstart, достаточно добавить из установленной системы скомпилированный kmod-пакет для соответствующего ядра (последнее на момент сборки ISO-образа). Компилятор и пакеты для разработки не потребуются.