buildroot/board/mender/x86_64
Adam Duskett 9e698c552b package/mender-grubenv: bump version to 2ac898f5924d5870f8394ad8ecd3ef1ab1422e3b
mender-grubenv no longer uses the mender_grubenv* directories, instead opting
to put the mender_grubenv directories in a grub-mender-grubenv top-level
directory. While there is a legacy install mode which keeps the two separate
directories, it is better to move forward and rip the bandaid off before it
becomes too painful to update in the future if the legacy option is removed
entirely.

- Update the license file sha256 sum due to a year change.

- mender-grubenv no longer installs grub.cfg, so mender_grub.cfg must be copied
  manually to grub.cfg.

- BOOT_DIR replaces ENV_DIR in the Makefile.

- The sleep grub2 module is now a requirement.

- /etc/mender_grubenv.config file must be present on the system for the
  grub-mender-grubenv-{print,set} scripts to work properly.

In addition to the above changes, update the mender example board file to work
with the updated mender-grubenv version.

Signed-off-by: Adam Duskett <aduskett@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2022-10-06 21:45:39 +02:00
..
overlay/etc board/mender: add a mender board example configuration. 2022-07-24 21:04:38 +02:00
genimage-efi.cfg package/mender-grubenv: bump version to 2ac898f5924d5870f8394ad8ecd3ef1ab1422e3b 2022-10-06 21:45:39 +02:00
linux.config board/mender: add a mender board example configuration. 2022-07-24 21:04:38 +02:00
mender_grubenv_defines board/mender: add a mender board example configuration. 2022-07-24 21:04:38 +02:00
post-build.sh board/mender: add a mender board example configuration. 2022-07-24 21:04:38 +02:00
post-image-efi.sh board/mender: add a mender board example configuration. 2022-07-24 21:04:38 +02:00
readme.txt board/mender: add a mender board example configuration. 2022-07-24 21:04:38 +02:00

Mender UEFI PC sample config
=====================

1. Build

  $ make mender_x86_64_efi_defconfig

  Add any additional packages required. Update the files in board/mender/x86_64
  and change /dev/vda to what is relevant for your platform: typically
  /dev/mmcblk0p for eMMC and /dev/sda for USB or SATA.

  $ make

2. Write the Pendrive

  The build process will create a Pendrive image called disk.img in
  output/images.

  Write the image to a pendrive:

  $ dd if=output/images/disk.img of=/dev/${pendrive}; sync

  Once the process is complete, insert it into the target PC and boot.

  Remember that if said PC has another boot device you might need to
  select this alternative for it to boot.

  You might need to disable Secure Boot from the setup as well.

3. Enjoy

Emulation in qemu
========================

Run the emulation with:

qemu-system-x86_64 \
    -M pc \
    -drive file=output/images/disk.img,if=virtio,format=raw \
    -net nic,model=virtio \
    -net user \
    -serial stdio \
    -bios </path/to/OVMF_CODE.fd>

Note that </path/to/OVMF.fd> needs to point to a valid x86_64 UEFI
firmware image for qemu. It may be provided by your distribution as an
edk2 or OVMF package, in a path such as /usr/share/edk2/ovmf/OVMF_CODE.fd.

Optional arguments:
 - -enable-kvm to speed up qemu. This requires a loaded kvm module on the host
    system.
 - Add -smp N to emulate an SMP system with N CPUs.

The login prompt will appear in the serial window.

Tested with QEMU 4.1.1 on Fedora 31

Creating a mender-artifact
========================

The mender artifact is created in output/images/buildroot-x86_64-1.0.mender

You may wish to change --artifact-name=1.0 to a name that best suits your
particular needs, as this option changes the mender artifact name.

Using mender
========================
Please read the mender documentation at:
https://docs.mender.io/2.2/getting-started