Versions Compared


  • This line was added.
  • This line was removed.
  • Formatting was changed.


Code Block
$ export COS_BUILD=$HOME/centos8-dev
$ mkdir -p $COS_BUILD/rpmbuild $COS_BUILD/images/{efi,boot} $COS_BUILD/deploy/{efi/dtb/xilinx,boot}
$ export IMG_ROOT= $COS_BUILD/images
$ cd $IMG_ROOT



The default CentOS 8 kernel may not boot on the ZCU102, so you may need to build and install a new kernel. Please see Build a CentOS 8 System for Zynq UltraScale+ to generate the kernel RPMS if the CONFIG_* requirements above are not met.

Code Block
$ sudo cp ../rpmbuild/kernel/RPMS/aarch64/kernel-4.18.0-80.el8.xlnx.aarch64.rpm \
../rpmbuild/kernel/RPMS/aarch64/kernel-core-4.18.0-80.el8.xlnx.aarch64.rpm \
../rpmbuild/kernel/RPMS/aarch64/kernel-modules-4.18.0-80.el8.xlnx.aarch64.rpm \
../rpmbuild/kernel/RPMS/aarch64/kernel-headers-4.18.0-80.el8.xlnx.aarch64.rpm \
*.rpm boot/

Unmount the boot directory and cleanup the mappings.

Code Block
$ sudo umount boot
$ sudo kpartx -d CentOS-8-aarch64-1905-dvd1.raw
loop deleted : /dev/loop0

At this point you have successfully installed the CentOS ISO onto a raw disk image.

Boot the system with the raw disk image and we will install the kernel RPM packages in the QEMU VM.


Code Block
$ sudo kpartx -va CentOS-8-aarch64-1905-dvd1.raw
add map loop0p1 (253:5): 0 1228800 linear 7:2 2048
add map loop0p2 (253:6): 0 2097152 linear 7:2 1230848
add map loop0p3 (253:7): 0 11350016 linear 7:2 3328000
$ sudo mount /dev/mapper/loop0p1 efi

Install the UEFI (boot.bin), DTB and replace shim with GRUB since we are not using PC secure boot.