1

I added meta-intel layer to build a hardware image.

After build ( bitbake xxxxxx ) I got output:

core-image-minimal-genericx86-64.wic

I dd copy this file to a USB, it can boot and login to yocto.

but it is EFI mode.

How to generate image to legacy mode?

Another problem, I found some machines can't boot ( no GRUB screen ) the same disk but some machines can.

Is it because the BIOS problem?

Rachid K.
  • 4,490
  • 3
  • 11
  • 30
GreenTea
  • 769
  • 1
  • 10
  • 36

2 Answers2

1

In this accepted solution they mention:

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.

So I guess one solution is to build an hddimage. Just change it in

IMAGE_FSTYPES = "wic"

for the one you need.

Update: use wic create

There is a much better and flexible solution by using the power of wic.

On your bash env, where you did execute bitbake call wic list images:

$ wic list images
  generic-bootdisk              
  grub-bootdisk-microcode                       Create an EFI disk image with grub-efi
  ...
  (lots)
  ...

I'll give you lots of images, then you can covert the .wic to any of those like this:

#
# wic create <type> -e <image>
#
$ wic create grub-bootdisk-microcode -e my-image
..
... will create the desired image and some instructions
... on the current path
...
$

You need to be on the environment, and the image is your image already created by bitbake.

Ariel M.
  • 896
  • 8
  • 24
0

Old post, but hopefully it would help someone else.

Instead of using an hddimg, you can use a custom wks file and use the "bootimg-pcbios" source option.

In your local.conf

IMAGE_FSTYPES = "wic"
WKS_FILE = "custom.wks"

In custom.wks

part /boot --source bootimg-pcbios --ondisk sda --label boot --active --align 1024 --use-uuid
durje
  • 135
  • 1
  • 2
  • 10