Как записать на флешку gentoo

Обновлено: 18.05.2024

Linux - очень надежная операционная система и переустанавливать ее нужно намного реже чем Windows. Но все же довольно частая ситуация, когда нужно записать образ Linux на флешку. Например, чтобы протестировать новую версию дистрибутива, создать флешку для восстановления на всякий случай и так далее.

В этой статье мы рассмотрим как выполняется запись образа Linux на флешку с помощью различных программ, а также вручную, используя только системные утилиты.

Запись образа Linux на флешку

Если вам нужно записать Windows на флешку, то достаточно отформатировать ее в NTFS и распаковать содержимое диска в корень флешки, такой вариант актуальный для современных систем, которые работают через UEFI. В Linux же все не так просто и придется использовать специальные программы.

Сразу нужно сказать, что существует два типа образов Linux:

  • iso - обычный образ DVD или CD диска с файловой системой ISO9660, эти образы всегда записываются на раздел флешки и отлично работают;
  • img - этот образ может содержать любую файловую систему или даже таблицу разделов, это зависит от дистрибутива. Например, образ img для ChromeOS содержит таблицу разделов, поэтому его нужно писать не на раздел флешки, а на саму флешку, но бывают образы img, которые, как и iso достаточно записать на раздел.

Сначала рассмотрим специализированные программы для записи образов на флешку. Они всегда записывают образы на разделы флешки, в некоторых случаях, нужно даже чтобы флешка была примонтирована.

1. Запись образа в Unetbootin

Unetbootin - это довольно старая, но уже проверенная утилита для записи образов на флешку. Она работает следующим образом: распаковывает архив во временную папку, копирует все файлы из архива на первый раздел флешки, который уже должен быть примонтирован к файловой системе, затем выставляет нужные настройки раздела чтобы работала автозагрузка.

Первым делом нужно установить утилиту. Она есть в репозиториях всех основных дистрибутивов, для установки в Ubuntu наберите:

sudo apt install unetbootin

sudo yum install unetbootin

sudo zypper install unetbootin

Запустить программу можно из главного меню, и для своей работы она попросит пароль.

В главном окне вы можете выбрать два способа записи диска, либо скачать образ из интернета:

Затем выберите флешку, на которую нужно выполнить запись и нажмите "Старт".

Запись выполняется довольно быстро, поэтому скоро вы получите готовую флешку с Linux, которую можно использовать.

2. Запись образа Etcher

В последнее время набирает популярности утилита для записи образов Etcher. У нее есть версия для Linux и Windows, как и у unetbootin, только здесь нет загрузки образов из сети, а интерфейс выглядит намного приятнее. Кроме того, недавно была добавлена поддержка создания мульти USB флешек и выделения раздела для хранения данных между перезагрузками в Ubuntu.

Программы нет в официальных репозиториях дистрибутивов, поэтому вам придется использовать AppImage образ или же можете установить ее из стороннего репозитория Ubuntu/Debain:

sudo tee "deb https://dl.bintray.com/resin-io/debian stable etcher" /etc/apt/sources.list

Добавляем ключ репозитория:

sudo apt-key adv --keyserver hkp://pgp.mit.edu:80 --recv-keys 379CE192D401AB61

Обновляем список пакетов и устанавливаем Etcher:

sudo apt update && sudo apt install etcher-electron

Теперь вы можете запустить программу из главного меню системы.

После запуска вам будет необходимо выбрать образ, который вы собираетесь записать:

Затем выбрать устройство для записи:

И последний шаг, нажать кнопку "Finish", чтобы началась запись образа Linux на флешку. После завершения вы получите готовую к использованию флешку. Это самый просто способ записать linux iso на флешку.

Если вас интересует создание мультизагрузочных флешек, смотрите отдельную статью.

3. Запись образа утилитой dd

Записать linux на флешку вручную будет немного сложнее, чем с помощью графических программ, но это дает вам больше контроля над процессом записи. Нам понадобится только утилита dd, которая поставляется во всех дистрибутивах Linux по умолчанию.

Сначала нам нужно узнать как будет называться ваша флешка в системе. Для этого отключите ее, выполните команду:

Затем подключите и снова выполните:

Вы увидите, что появилось новое устройство, наша флешка, например, /dev/sdb. Дальше мы переходим к команде dd, но сначала размонтируйте флешку:

sudo umount /dev/sdb

Дальше нам нужно определиться куда писать, на раздел флешки или на саму флешку. Если это iso образ, то однозначно пишем на раздел. Если же вы имеете дело с img, попробуйте его примонтировать, если все хорошо и открывается файловая система, тоже пишем на раздел, в противном случае нужно писать на самую флешку. В большинстве случаев при записи на раздел будет достаточно выполнить такую команду:

Если же нужно записать linux на флешку, а не на раздел, просто не указывайте единицу после ее имени:

После этого обязательно нужно выполнить команду sync, поскольку dd завершает работу до того, как данные будут записаны на флешку и если вы ее извлечете, то потеряете часть данных:

Дальше можно использовать флешку в качестве загрузочной. Если вы записывали образ диска, для которого уже был установлен флаг загрузочный, то больше делать ничего не нужно.

4. Запись Linux на флешку в Windows

Новые пользователи могут захотеть записать образ Linux на флешку в Windows. Это сделать тоже очень просто, кроме того, что вы можете использовать перечисленные выше утилиты, для Windows есть отличная утилита Rufus. Вы можете скачать ее на официальном сайте. Программа не требует установки.

Запустите ее, сначала выберите устройство, на которое будет выполнятся запись:

Файловую систему и остальные поля для образа Linux трогать не нужно. Установите галочку "Создать загрузочный диск", выберите тип образа - "ISO образ", а затем выберите нужный образ в файловой системе:

Осталось нажать "Старт" и дождаться завершения записи образа. После этого флешка готова к использованию.

Выводы

В этой статье мы рассмотрели как выполняется запись linux на флешку. Как видите, это очень просто, независимо от операционной системы, которую вы используете. Вы можете использовать консольные и графические программы. Возможно, уже существуют другие приложения, которые лучше справляются с задачей, вы знаете такие? Обязательно напишите в комментариях!

На самом деле, загрузить Gentoo с USB-флешки довольно просто. Основная сложность состоит в том, чтобы настроить исходный диск и включить драйверы для всех машин, на которых она собирается загружаться. В этой статье описывается как установить Gentoo на флешку, способную загрузиться на любом компьютере, что будет похоже на обычную настольную установку, где система ещё долго не будет изменяться.

Contents

Приготовления

Заметка
Руководство предполагает, что текущей платформой является Gentoo Linux. Большинство шагов, однако же, могут быть выполнены для любого дистрибутива, просто переведите присущие приёмы работы с Gentoo (например, установка программного обеспечения) на приёмы другого дистрибутива.

Начнём с установки пары необходимых пакетов. Наиболее важные - ядро и sys-kernel/genkernel:

Сборка ядра

Сделайте необходимые изменения в ядре и соберите его. Смотрите статьи настройку ядра Linux и конфиурацию ядра, чтобы узнать больше подробностей об этом шаге. Важно помнить, что здесь лучше всего подходит обобщённое ядро, потому что чем оно более общее, тем больше машин будет загружаться с ним.

В ходе настройки, возможно скомпилировать модули и включить их в initramfs. Они будут загружаться при загрузке.

Команда выше займёт некоторое время на установку стандартного ядра, создание диска и копирования файлов в /tmp/boot .

Приготовление USB-флэшки

Создайте 2 раздела на диске (при условии установки в /boot и / (root) разделы). Мы предполагаем, что USB-флешка находится на /dev/sdb (запустите dmesg сразу после подключения USB-флешки, чтобы увидеть, какое устройство задействуется).

Убедитесь, что первый раздел - загрузочный (загрузочный флаг включается командой).

Теперь отформатируем новые разделы. В данном примере мы используем файловую систему ext2, но возможно использование другой файловой системы для / раздела, если она поддерживается ядром. Обратите внимание на то, что во время операции форматирования разделам присваиваются метки. Это очень важно, потому что это определит, как корневая файловая система обнаружится позже, во время загрузки с USB-флешки на системах, где распределение букв диска совершенно иное. Это связано с опцией --disklabel из genkernel команды ранее.

Установка Gentoo stage 3

С готовыми ядром, диском и файловыми системами, нам осталось выполнить минимальную установку. В том числе свежие stage3 и снимок дерева Portage.

Gentoo - Source-based дистрибутив Linux. Что это значит? Это значит что все придется собирать из исходных кодов, то есть компилировать и устанавливать. Не ручками конечно, не пугайтесь. Для этого есть специальная программа - emerge. Она все сама откомпилирует и установит, только попросите.

Для чего нужен такой дистрибутив? Не проще ли Ubuntu поставить? В некоторых случаях проще Ubuntu. Ставится быстро, настраивается тоже. С обновлениями проблем нет. Для рабочей станции - самое оно, если не предъявляется каких либо специфических требований (хитрое шифрование содержимого диска "спецпрограммой", к примеру). В этом случае заморачиваться не стоит.

Так для чего оно тогда нужно? Нужен Gentoo тогда, когда хотят "заточить" машинку для определенного рода задач и только под них. Когда стоит задача собрать из старой машинки маршрутизатор с BGP и OSPF. Некоторым категорически не нравится, что на их сервере X-ы "отжимают" нужную для Apache память и ресурсы процессора. Кто-то терпеть ненавидит перезагружать сервер после каждого обновления. Кому-то не нравятся модули ядра и ему хочется чтобы ядро было монолитным и включало в себя только необходимые на конкретной машине драйвера. И чтоб ничего лишнего. Кому-то чего-то не хватает в стандартных дистрибутивах. А кто-то просто любит собирать все своими руками. Вот для таких случаев Gentoo идеально подходит. На рабочие станции его тоже можно устанавливать, при желании. Он не хуже той-же Ubuntu справится.

Основным преимуществом Gentoo является высокая гибкость. Это конструктор. Конструктор с достаточно мелкими деталями. Причем подходит он под многие архитектуры процессоров. И разобраться в принципах его работы не сложно.

В общих чертах, основными компонентами Gentoo являются: загрузчик системы (bootloader), ядро Linux, набор программного обеспечения составляющий базовую систему (так называемый system set) и система portage.

Загрузчик предназначен для загрузки ядра в оперативную память и передачи ему управления. Самым распространенным в последнее время загрузчиком является grub2. Но никаких жестких требований, использовать именно его, нет. Можно устанавливать и другие. В частности lilo, elilo или grub-static.

Ядро — это и есть сам Linux. Если вкратце, это прослойка между железом и софтом. Включает в себя драйвера для железа, файловые системы, сетевые протоколы, механизмы виртуализации и др. Подробнее схему ядра Linux можно посмотреть на картинке честно "спионеренной" отсюда.

Набор программного обеспечения system предоставляет базовый функционал системы. Включает в себя достаточно большой список пакетов. Просмотреть его можно выполнив команду:

Система portage — система управления программным обеспечением в Gentoo. Все операции установки, обновления и удаления производятся с ее помощью посредством команды emerge. Это гибкая система установки, позволяющая с помощью USE флагов управлять параметрами сборки ПО.

Все вышеперечисленное, можно определить как базовую систему (минимально-необходимый набор, обеспечивающий корректную загрузку и функционирование системы). Все остальное ПО уже устанавливается в зависимости от назначения конкретной машины.

Процесс загрузки Gentoo выглядит следующим образом. Bootloader загружает ядро в память и запускает его. Ядро инициализируется (разворачивает собственные структуры, подключает устройства и т.д) и передает управление openrc (процессу init). Этот процесс проверяет корректность монтирования разделов, указанных в файле /etc/fstab, и запускает службы, необходимые для запуска системы. Когда все необходимые службы запущены, он инициализирует консоли, через которые осуществляется вход в систему.

Как устанавливается Gentoo? Процесс установки базовой системы достаточно простой. Состоит из следующих фаз:

    . . (разбивка, форматирование и монтирование) (файл stage) (опционально)

Как все это выглядит на практике? Попробую продемонстрировать на примере. Есть у меня в загашнике старый «конь»:

  • Процессор: Intel(R) Celeron(R) CPU 2.53GHz
  • Материнская плата: ECS P4M800-M
  • ОЗУ: 2Gb.
  • HDD: IDE 80Gb
  • Привод DVD

Старье конечно, но его вполне можно использовать для тестирования установки. Устанавливать буду базовую систему с голой консолью и минимальным набором служб на основании которой можно будет собирать уже что-нибудь полезное.

Получение livecd и запись его на физический носитель.

После того как образ скачан, его нужно записать на носитель. Записать можно как на CD/DVD диск, так и на флешку. Главное чтоб машина, на которую будет производится установка, поддерживала нужный способ загрузки. Для записи на флешку можно использовать программу unetbootin.

Загрузка с физического носителя.

Загружаемся с носителя. Будет выведен список вариантов загрузки. Если загружаемся с LiveDVD, будет выведен список вариантов загрузки в графическом режиме. В минимальном установочном CD графического режима нет. Перед выводом приглашения командной строки, будет отображен список вариантов загружаемых ядер. В обоих случаях можно загружать ядро по умолчанию (если архитектура соответствует x86).

При загрузке с LiveDVD, по окончанию загрузки запускается X сервер (графический режим). Изредка (в частности на старых машинах), с ним случаются проблемы и отображается только черный экран. В таких случаях, нужно нажать Ctrl+Alt+F1 для перехода в консоль.

В минимальном установочном CD по окончанию загрузки будет выведено приглашение командной строки.

Прежде чем начать работу в консоли, поясню один момент. В bash есть такая штука, как автодополнение. При наборе команд (особенно путей к файлам) очень помогает. Например, вместо того чтобы набирать вот это - cd /usr/share/bash-completion, можно набрать так: cd /u<tab>/sh<tab>/bash<tab> (Там где <tab> - нажимается кнопка Tab).

Так как, при установке Gentoo нужно будет много скачивать из интернета, настройка сети это первоочередная задача. Посмотрим на состояние сетевых интерфейсов:

Присутствует два сетевых интерфейса. enp0s18 — встроенная сетевая карта Ethernet.

Второй интерфейс lo — локальная петля (Local Loopback).

Так как, у нас в сети есть DHCP сервер, сетевой интерфейс уже настроен с параметрами, выданными сервером.
Что делать если нужно настраивать вручную? Настраивать с помощью ifconfig. Следующая команда установит интерфейсу enp0s18 адрес 192.168.1.8 с маской 255.255.255.0

Добавим маршрут по умолчанию для доступа в интернет через шлюз 192.168.1.1.

Зададим DNS сервер 192.168.1.1.

/etc/resolv.conf
nameserver 192.168.1.1

Проверим прохождение ICMP пакетов

Если все путем, можно идти дальше.

Следующим шагом нужно установить правильную дату и время. Если этого не сделать, то в последующем возможны неприятные неожиданности. Устанавливается дата и время командой date с аргументом в виде ДДММччммГГГГ (День, Месяц,час,минуты,Год)

Теперь можно подключиться по ssh со своего рабочего места.

Подготовка диска

Как вообще найти диск в Linux? Для начала нужно сказать, что Linux работает с устройствами компьютера через файлы. Их еще нодами (node) называют. Чтение/запись с устройства производится путем чтения/записи из соответствующего файла. Хранятся все эти файлики в каталоге /dev . Диски, как и другие устройства, следует искать именно там.

Как узнать имя нужного диска? С этим тоже все просто. Имя диска составное. Состоит оно из наименования устройства и его номера на шине. Если диск IDE, то имя диска должно начинаться с hd (Hard Drive). Если диск SCSI, SATA или USB, то имя начинается с sd (SCSI Drive). Почему SATA тоже определяются как SCSI? Потому, что ядро Linux работает с SATA и USB устройствами посредством эмуляции SCSI. В современных ядрах IDE диски тоже работают через эмуляцию SCSI.

Проверим какие диски присутствуют в системе. Сначала поищем IDE диски:

Обнаружилось два диска: sda (с тремя разделами sda1, sda2 и sda5) и sdb (с одним разделом sdb4). Первый диск это IDE диск, хоть он и отображается как SCSI, а второй это загрузочная флешка.

Работать будем с первым. Создадим на нем разделы.

Какие именно разделы и в каких количествах нужны - определяется в зависимости от назначения системы. Это довольно большая тема. В нашем случае это не особенно важно, по-этому подробно останавливаться на этом не будем. Зачем их вообще создавать? Неужели нельзя поставить все на один раздел? Можно поставить и на один раздел. Только в этом случае, при заполнении диска до 100% будут проблемы. Серьезные. Во первых. Не будет файла подкачки (Как в Windows). В Linux для этих целей выделяется отдельный раздел. Желательно вначале диска для большей скорости чтения/записи. Во вторых - системные журналы имеют свойство распухать при активном использовании системы. И для них тоже желательно создавать отдельный раздел. И под систему желателен свой раздел. А уж для пользовательских данных отдельный раздел просто необходим. То есть, создадим 4 раздела:

  1. - Подкачка. Размер раздела под подкачку предлагается делать ОЗУ*2. У нас 2Gb ОЗУ. Значит нужен раздел 4Gb.
  2. - Корневая файловая система. 10Gb для нее в нашем случае достаточно.
  3. - Раздел для каталога /var. Основной объем там занимают лог-файлы. 6Gb для них думаю даже много.
  4. - Пользовательский раздел.

Для разметки диска в Linux используется программа fdisk (Для работы с разделами диска более 2Tb следует использовать parted). Fdisk вносит изменения в таблицу разделов только после команды w . Если ,во время работы с программой, вам вдруг захотелось "вернуть все в зад" - введите команду q и изменения не будут сохранены. Так что, если что-то будет сделано неправильно - не беда (если вы команду w еще не давали). И так, приступим.

Говорит, скажите m для справки. Кому интересно - нажмите. Справка там короткая и понятная.

Для просмотра текущей разметки скажем p

Это старая разметка. Нам она ни к чему, по-этому удалим все разделы. Делается это с помощью команды d .

Как видим, после введения команды d , fdisk спрашивает какой раздел удалять. Если нужно удалить какой-то конкретный раздел - указываем номер раздела. А если все-равно какой - можно не указывать. Будет удален тот, который предлагается по умолчанию. Теперь таблица пуста. Приступим к созданию новых разделов. Сначала, обычно, создается файл подкачки (swap).

Здесь fdisk спросил какой раздел нужен (первичный или расширенный), номер первого сектора и номер последнего сектора или размер раздела. Раздел лучше создавать первичный, если хватает номеров разделов. Номер стартового сектора менять без нужды не следует. А вместо последнего я указал размер в 4 гигабайта. Создадим еще три раздела: под корневой каталог 10Gb, под /var - 6Gb и все оставшееся под /home ("все оставшееся" - это в поле Last sector ничего указывать не нужно). В результате получилось вот так:

Теперь нужно задать правильные типы разделов. У дисков с sda2 по sda4 типы выставлены правильно(id=82, System=Linux). А у sda1 нужно указать, что это диск под swap. Делается это с помощью команды t .

Теперь типы дисков выставлены правильно. Можно сохранять таблицу разделов.

Проверим наличие созданных разделов в файловой системе.

Как видим, все в порядке. Присутствуют 4 раздела на диске sda. Теперь можно приступать к форматированию разделов. Для начала создадим раздел swap.

Теперь нужно отформатировать остальные разделы. Linux поддерживает множество файловых систем. Если к файловой системе имеются какие-либо требования, можно посмотреть их характеристики и подобрать наиболее подходящую под требования. В нашем случае таких требований нет и можно использовать любую. Например ReiserFS.

Утилита предупреждает о потере данных на форматируемом разделе и спрашивает подтверждение форматирование. Жмем y . Так-же форматируем sda3 и sda4.

Файловые системы на разделах созданы. Теперь их необходимо примонтировать к текущей файловой системе. Что это значит? Работа с разделами в Linux сильно отличается от Windows. В Windows разделы доступны в виде дисков (C:,D. Z:). И чтобы получить доступ к данным на разделе, нужно указывать диск, на котором они находятся (C:\autoexec.bat). В Linux такого нет, разделы монтируются к текущей корневой файловой системе. И корневая файловая система только одна.

Раздел можно примонтировать к любому каталогу в корневой файловой системе. НО, файлы в этом каталоге станут недоступны до размонтирования этого каталога. По-этому монтировать на работающей системе желательно в специально созданные для этих целей каталоги.

Структура каталогов в Linux определена в Filesystem Hierarchy Standard (FHS). По русски можно почитать здесь.

Для временного монтирования (подключаемых дисков, или других разделов) предназначен каталог /mnt . Сюда и будем монтировать.

В нашем случае, нам нужно примонтировать раздел sda2 (на нем будет корневая ФС устанавливаемой ОС) к корневой файловой системе. Создать там два каталога (var и home) для монтирования разделов sda3 и sda4. Затем примонтировать туда разделы.

Активируем раздел подкачки.

Распаковка на диски установочных файлов

Затем нужно распаковать архив в корень устанавливаемой системы.

Когда архив распакован, монтируем файловую систему /dev, /sys и /proc в корень устанавливаемой системы. Это нужно для того, чтобы после смены корня файловой системы, программы могли получить доступ к устройствам компьютера и внутренним структурам ядра.

Есть флешка на гиг и вин7, пробовала YUMI (grub4dos+iso), не монтирует корень при старте. Нужна загрузочная флешка из образа генту минимал, т.к. на машине нет привода, с меня ничего. Линукса под рукой нет.




А нафига? Конпеляй из-под livecd бубунты.


>unetbootin Брат выжил, спасибо =)


гентовый лайв-цд ненужен.

Он ж страшон как чёрт. к нему полчаса надо шревты доставлять и выпиливать этот кошмар, от которого глаза вытекают. Да и нужен лайв-то при наличии перезаписываемой флешки?

шрифт за 2 минуты делаются не совсем отвратительными;

в приведенной мной ссылке создание лайв-usb

> шрифт за 2 минуты делаются не совсем отвратительными;
А то, что надо выполнить сначала emerge --sync, а только потом ставить пакеты, вас как бы не касается?

в приведенной мной ссылке создание лайв-usb

То, что он лайв-usb не отменяет того, что он лайв. Он всё равно будет работать только в памяти и после перезагрузки вернётся к исходному со всеми вытекающими.

зойчем синковаться? можно же шрифтов нужных в

/.fonts/ накачать (или скопировать откуда-нибудь)

вернется к исходному состоянию так вернется; наше дело установить генту и ребутнуться

> зойчем синковаться?
Не знаю, но без этого пакет с dejavu не виден.

/.fonts/ накачать (или скопировать откуда-нибудь)

И снова, и снова, и снова.

вернется к исходному состоянию так вернется; наше дело установить генту и ребутнуться

Что-то мне подсказывает, что он ещё понадобится, и не единожды. Так почему бы не сделать его просто запасной самонастраиваемой системой, а не хренью, которую надо каждый раз настраивать (потому что ШГ там проблеы не ограничиваются) и это при доступной-то возможности записи на диск.

Читайте также: