Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 如何从.hddimg文件启动?_Linux_Yocto_Bitbake - Fatal编程技术网

Linux 如何从.hddimg文件启动?

Linux 如何从.hddimg文件启动?,linux,yocto,bitbake,Linux,Yocto,Bitbake,在几个不同的配方文件上运行BitBake后,BitBake生成一个“.hddimg”类型的文件。我还没有找到一个关于这个文件的用途的明确解释,我发现的最接近的是邮件列表上的一些猜测。作者Paul说: 该映像不是常规可引导系统驱动器的映像,而是“实时”映像 一个较小系统的“映像”,该系统可以从 RAM中的虚拟化文件系统,其映像从内存中的单个文件读取 第一级,或者它可以将真实系统安装到不同的驱动器上 “bootimg.bbclass”是生成.hddimg的工具,在开头的注释中写道: hddimg文件

在几个不同的配方文件上运行BitBake后,BitBake生成一个“.hddimg”类型的文件。我还没有找到一个关于这个文件的用途的明确解释,我发现的最接近的是邮件列表上的一些猜测。作者Paul说:

该映像不是常规可引导系统驱动器的映像,而是“实时”映像 一个较小系统的“映像”,该系统可以从 RAM中的虚拟化文件系统,其映像从内存中的单个文件读取 第一级,或者它可以将真实系统安装到不同的驱动器上

“bootimg.bbclass”是生成.hddimg的工具,在开头的注释中写道:

hddimg文件[是]一个msdos文件系统,包含syslinux、内核、initrd和rootfs映像。这些可以直接写入硬盘,也可以引导到USB闪存(使用dd将它们写入硬盘)

这似乎与Paul所写的内容相符,但对于如何从该文件启动(至少对于像我这样的新手来说)仍然存在很多模糊性。

好吧,医生说“用dd在那里编写它们”。因此:

因此,如果您将文件设置为my.hddimg,并且U盘显示为/dev/sdg

dd if=/home/karobar/my.hddimg of=/dev/sdg
顾名思义,它是一个图像,所以需要这样写。实际的文件系统在rootfs文件中,它类似于一个映像


一旦你把它放在U盘上,U盘本身就可以启动了。这可能不是bitbake最容易处理的输出类型,具体取决于您尝试执行的操作。

感谢您的快速响应!我问这个问题是因为我已经用dd复制到闪存驱动器上,然后从闪存复制到目标机器的硬盘上。不幸的是,在硬盘上启动该映像时,init-live.sh将被执行并挂起“等待可移动媒体…”。我查看了文件中的命令,它似乎挂起了,因为它在/run/media/中找不到根映像。我认为根映像是由于.hddimg中的某些内容而放错位置的。我错了吗?它在寻找U盘上的rootfs图像。因此,当您将其移动到硬盘上时,它将无法再找到它。如果您在插入U盘的情况下从硬盘运行它,它可能会转到U盘并找到rootfs映像。配方树中的某个地方可能有一个yocto变量,它定义了它在哪里寻找rootfs,我对hddimage做的不多,因为我觉得它对我的需求没有什么用处。
dd if=/home/karobar/my.hddimg of=/dev/sdg