Как загрузиться с файла .hddimg?

После запуска BitBake для нескольких разных файлов рецептов BitBake создает файл типа «.hddimg». Я не смог найти четкого объяснения того, для чего используется этот файл, самое близкое, что я нашел, это некоторые предположения в списке рассылки здесь. Автор Павел утверждает, что:

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

«bootimg.bbclass» — это то, что генерирует .hddimg, и во вступительных комментариях написано, что:

Файл .hddimg представляет собой файловую систему msdos, содержащую syslinux, ядро, initrd и образ rootfs. Их можно записывать напрямую на жесткие диски, а также загружать с USB-накопителей (запишите их туда с помощью dd).

Что, похоже, подтверждает то, что написал Пол, но все еще оставляет много неясностей в отношении того, как загружаться из этого файла (по крайней мере, для новичка, такого как я).


person karobar    schedule 27.10.2015    source источник


Ответы (1)


Ну, в доке написано "пишите их туда через dd". Так:

dd if=/path/to/your/hddimg of=/path/to/raw/usb/device

Итак, если у вас есть файл как my.hddimg, а USB-накопитель отображается как /dev/sdg

dd if=/home/karobar/my.hddimg of=/dev/sdg

Как следует из названия, это изображение, поэтому оно должно быть написано как таковое. Фактическая файловая система находится внутри файла rootfs, который также является образом!

Если у вас есть это на USB-накопителе, сам USB-накопитель должен быть загрузочным. В зависимости от того, что вы пытаетесь сделать, это может быть не самым простым выходом из bitbake для работы.

person Joe    schedule 27.10.2015
comment
Спасибо за такой быстрый ответ! Я задал этот вопрос, потому что я уже использовал dd для копирования на флэш-накопитель, а затем копировал с флэш-памяти на жесткий диск моей целевой машины. К сожалению, при загрузке этого образа на жесткий диск выполняется init-live.sh и зависает в ожидании съемного носителя.... Я просмотрел команды в файле, и он, похоже, зависает, потому что не может найти корневой образ в /run/media/. Я предположил, что корневой образ был потерян из-за чего-то в .hddimg. Был ли я неправ? - person karobar; 27.10.2015
comment
Он ищет образ rootfs на флешке. Следовательно, когда вы переместили его на жесткий диск, он больше не мог его найти. Если бы вы запускали его с жесткого диска с подключенным USB-накопителем, он, вероятно, перешел бы на USB-накопитель и нашел образ rootfs. Вероятно, где-то в дереве рецептов есть переменная yocto, которая определяет, где искать rootfs, я мало что делал с hddimage, так как не считаю его полезным для своих нужд. - person Joe; 28.10.2015