Уважаемые пользователи Голос!
Сайт доступен в режиме «чтение» до сентября 2020 года. Операции с токенами Golos, Cyber можно проводить, используя альтернативные клиенты или через эксплорер Cyberway. Подробности здесь: https://golos.io/@goloscore/operacii-s-tokenami-golos-cyber-1594822432061
С уважением, команда “Голос”
GOLOS
RU
EN
UA
sxiii
8 лет назад

Живая флешка с Linux быстро, удобно и без геморроя [Учебник: как создать]

Добрый вечер уважаемая аудитория! =)

Linux

Меня зовут Ден Иванов, я достаточно известный в г. Ростове-на-Дону линуксоид, а ещё я люблю тестировать разные дистрибутивы, когда у меня есть настроение - например посмотреть топ на distrowatch и скачать что-то новое. В общем, я дистрохоппер.

В 2014 году я, тестируя очередные дистрибутивы Linux, подумывал - как было бы здорово, облегчить процесс записи дистрибутивов на флешки - для тестирования. Примерно в то же время я впервые приобрел и протестировал потрясающую скоростную флешку (которая, по сути, SSD) SanDisk Cruzer Extreme Pro. Могу попутно вам её порекомендовать, бывает в версиях на 32 и 64 гб (возможно и больше) и есть в достатке по адекватной цене на eBay.

Sandisk Cruzer Extreme Pro

И в какой-то момент мне попался вначале Super Grub 2 Disk, тестируя который я понял - у Grub2 есть функционал загрузки из ISO-образа с носителя (без распаковки), а значит, этот функционал можно использовать и без Super Grub 2 Disk (спец дистрибутив для починки загрузчиков). И в результате своих поисков мне попался очень интересный репозиторий на github:

https://github.com/infinity0/uberimg

В нём и есть, фактически, взятый от Super Grub Disk код по поиску и инициализации ISO файлов с флешки. Среди дополнительных плюсов тот факт, что вам не надо форматировать флешку, удалять с неё файлы, переразмечать её и так далее - просто скинули ISO и готово.

Что же нужно для того чтобы сделать такую удобную, живую флешку, с которой можно загружаться прямо из ISO-файлов (нужно просто скинуть ISO дистрибутива в соответствующую папку)?

  1. Сама флешка, разумеется. Я рекомендую SanDisk Cruzer Extreme Pro - скорость чтения и записи приближаются к внушительным 250 мб-сек (USB 3.0). В принципе, хватит флешки на 2 гб или более. Но конечно основная суть данных манипуляций - иметь несколько дистрибутивов под рукой, поэтому я рекомендую флешки на 16-32 гб, у меня получалось помещать на флешку в 32 гб до 21 корректно загружающихся дистрибутива (!).
  2. Установите git, если у вас его нет (примеры здесь и далее для ubuntu/debian):
    sudo apt install git
  3. Клонируйте репозиторий себе в домашнюю папку:
    git clone https://github.com/infinity0/uberimg
  4. Зайдите в папку со скачанными файлами:
    cd uberimg
  5. Можем установить умный grub2 на флешку! Для этого выполните команду, не забыв поменять путь к вашему пользователю и флешке (в конце). На вопросы терминала - уверены что хотите установить uberimg - нажмите y, затем вас спросят пароль, его нужно ввести и нажать enter, как обычно :) Данный шаг может занять пару минут. В течении этого времени будет висеть надпись Installing for i386-pc platform.
    ./imgctl install /media/user/yourflash
  6. Если в выдаче терминала через пару минут не обнаружилось ошибок и запись закончена успешно, вы увидите надпись Installation finished. No error reported.. Осталось зайти на флешку и создать папку для хранения ISO-образов под именем img (чтобы она не мешала остальным файлам, да и вообще). Можете сделать это через графику или командой:
    cd /media/user/yourflash && mkdir img
  7. Флешка готова принимать ISO-образы! Просто копируйте их ISO-файлами на флешку в папку img, загружайте ваш ПК с флешки и нажимайте Enter. Так же, убедиться что всё прошло успешно, вы можете, проверив наличие папки grub в корне флешки (а также нескольких файлов и папок внутри неё). Например, вот так одной командой можно зайти и в новую папку img (с учетом, что у вас установлен wget и вы не выходили из папки флешки) и скачать туда Ubuntu Desktop 16.10 (осторожно, 1 гб трафика, да и скачивать ISO сразу на флешку не всегда такая уж и хорошая идея):
    cd img && wget http://mirror.yandex.ru/ubuntu-releases/16.10/ubuntu-16.10-desktop-amd64.iso

Uberimg Installation Success

Теперь о грустном :) На данный момент из фейлов, следующее:

Не все дистрибутивы умеют загружаться таким образом. Лидер загрузки в этой сфере - Ubuntu и debian-подобные дистрибутивы, но некоторые другие тоже загружаются. Основная фишка в том, что дистрибутив должен содержать в своём образе loopback.cfg файл, который поможет GRUB понять, "где что находится". Поэтому, если вы разработчик или мейнтейнер дистрибутива - очень призываю вас озаботиться этим вопросом и добавить файл loopback.cfg: вот здесь для вас информация как это сделать (это займет всего +2 кб в вашем дистрибутиве), подарив пользователям grub2 такую чудесную возможность упрощенной загрузки. Так же, адаптацию для загрузки других дистрибутивов вы можете сделать через файл isodetect.cfg, который имеется в github-репозитории, что вы скачали себе на ПК.

Какие именно дистрибутивы точно работают?
Работающие дистрибутивы

На любые вопросы готов с радостью ответить в комментариях!

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

Спасибо,
С уважением
Линуксоид Ден Иванов aka sxiii

39
652.577 GOLOS
На Golos с January 2017
Комментарии (4)
Сортировать по:
Сначала старые