CoreOS with iKGT

ID 724039
Updated 4/6/2021
Version Latest




There are two main ways to support iKGT within CoreOS:

(1) Build into system image from source, or

(2) change the system at runtime. 

This article discusses the second option on a bare-metal machine.

Prerequisites to Running CoreOS with iKGT

Install CoreOS by following instuctions on this page, and log in. We recommand SSH if using remote login (see more on SSH, see instructions on this page). If your machine doesn't have a network connection, you can log in the system locally by bypassing authentication with the kernel option coreos.autologin. For further detail on this method, see this link. Be sure you've read and understand the partition layout of CoreOS which is documented here. ​

Run CoreOS with iKGT


After entering the CoreOS system, mount the first disk partition:

$ mkdir ~/gpt1
$ sudo mount /dev/sda1 ~/gpt1

Now edit grub.cfg:

$ sudo vi ~/gpt1/coreos/grub/grub.cfg

and add a new boot entry:

menuentry "CoreOS on iKGT" --id=ikgt {
   # This file is in BOOT/EFI-SYSTEM partition (gpt1, see disk layout)
   multiboot /ikgt/ikgt.bin -d root -u usr_uuid

   # This kernel image (vmlinuz) is in partition USR-A/B (gpt3 or gpt4, see disk layout)
   module /boot/vmlinuz $linux_console $linux_root usr=PARTUUID=$usr_uuid $linux_append

To make this default when the system starts, modify the the grub.cfg file with:

set default="ikgt"


Here we'll copy the ikgt_pkg.bin file (built from source with iKGT Manifest) to the target CoreOS machine. Mount the first disk partition as we did above, and lastly copy ikgt_pkg.bin to the destination folder created in disk partition #1:

$ sudo mkdir ~/gpt1/ikgt
$ sudo cp ~/ikgt_pkg.bin ~/gpt1/ikgt/ikgt.bin

Now reboot your system. The grub bootloader can now load ikgt.bin with CoreOS when we select “CoreOS on iKGT” on the boot menu of Grub.