Intereting Posts
восстановить удаленный файл на ext4 с помощью extundelete Печать строк в командной строке Получение исключения при открытии терминала на Fedora 24 Любой инструмент для сохранения символических ссылок? VIM заменяет появление шаблона после определенного слова в строке vim script: как изменить «put =» на append? Узнайте, какие возможности необходимы процессу Как установить Debian с зашифрованной / кодовой фразой, требуемой до экрана входа в систему? bash: как вы возвращаете расширения файлов? Распределение с плазмами 5, прокат или LTS, безопасность, шифрование, несвободные опции Использование ip addr вместо ifconfig отчетов «RTNETLINK ответы: файл существует» в Debian Как проверить, находится ли текущий сеанс оболочки в графическом интерфейсе или tty Проблема с устройством хранения: ошибки ввода-вывода, но нет поврежденных секторов? Использование tar с поиском Тихая установка сценария оболочки с использованием файла bash

Создайте образ «живого USB-накопителя» без фактического использования палки

Мы пытаемся создать индивидуальный установочный палочек для установки linux на наш встроенный продукт. Мы хотим каждый раз создавать его с нуля, то есть вытаскивать RPM из (локального) репозитория.

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

Нам бы хотелось создать изображение (то есть файл), которое впоследствии можно скопировать на физическое устройство (например, a la dd на USB-накопитель).

Мы играли с виртуальной машиной (Virtual Box), чтобы подделать вещи, но не смогли понять, как сделать виртуальный USB-накопитель.

Каков хороший способ создать изображение палки без палки? Приятно, что в качестве «конечного штриха» некоторые магические сектора нужно щекотать – это то, что можно быстро сделать за время популяции палочек. Но ожидание полной генерации системы слишком длинное для нашего сценария.

[Если это имеет значение, мы используем FC 7 в качестве нашей базы – она ​​стабильна и, что более важно, наши драйверы работают с этим ядром]

Этим самым простым способом является устройство петли. Сделайте файл размером с USB-накопитель, затем используйте losetup для сопоставления его с устройством цикла. Тогда устройство цикла является блочным устройством, поэтому оно действует точно так же, как USB-накопитель.

Единственным исключением является разделение. Но вы можете исправить это еще несколькими вызовами losetup для сопоставления своих разделов с другими устройствами loop с параметром offset ( -o ). Вещи работают в значительной степени, так как все ожидает, если вы нарисуете полное устройство на loop0, первый раздел на loop1, второй на loop2 и т. Д. Вы всегда можете ссылаться на loop0 на цикл, тогда имена будут точно такими же, как разделяемое блочное устройство (там это патчи, плавающие вокруг для устройств с неполной петлей, поэтому вам даже не нужно этого делать).