Search code examples
linuxinstallationembedded-linuxrootfsyocto-wic

Difference between wic and hddimg format in yocto


I have generated a core-image-minimal image for my Intel board in Yocto.

Looking into tmp/deploy/images folder they are many images.

I flashed *.wic image using dd command on USB and it created two partitions ( Boot and Platform ) and allowed only to perform a live booting without allowing it to install on the hard disk of the board.

I then flashed *.hddimg on the USB using dd command. It only created a "boot" partition which has rootfs.img, syslinux and EFI folder.

Booting using USB provided me an "Install" option, which installed on the board and when I rebooted after installing, it displays "No bootable media found"

Using bootable image there are two partitions in the hard disk. Why it is not booting..

Steps followed:

  1. Created an minimal yocto image using "bitbake core-image-minimal" command
  2. Flashed the USB using the dd command.
sudo dd if=tmp/deploy/images/intel-corei7-64/core-image-minimal-intel-corei7-64.hddimg of=/dev/sdb
  1. Clicked on install and typed “sda”
  2. The installation was successful and when I tried to restart by removing the USB Drive, it says “No boot options found. Please install bootable media and restart."

What is the mistake I am doing here.

Which image to choose and when..


Solution

  • There was not much info about online, so I asked this question in the intel community and here is the response of that:

    Generally a .wic image is intended to be installed directly to its final destination, whereas an hddimg is for evaluation and installation elsewhere.

    By default meta-intel .wic images only have an EFI bootloader, and will not boot via legacy BIOS.

    An hddimg will have both an EFI bootloader and the syslinux binaries that let it boot from legacy BIOS.

    On startup with your installer USB image do you get a light gray screen with four options? If so it is booting via legacy BIOS.