#!/bin/bash systemctl enable qfx5210-platform-init.service systemctl start qfx5210-platform-init.service # There are primary and secondary bios in qfx5210 platform. # There is a problem with bios which prevents the OS booting from the # secondary bios when the OS was installed using primary bios. # Secondary bios fails to detect the UEFI partition. Right now # the workaround is to have a folder structure /EFI/BOOT/BOOT64x.efi SONIC_VERSION=$(sonic-cfggen -y /etc/sonic/sonic_version.yml -v build_version) FIRST_BOOT_FILE="/host/image-${SONIC_VERSION}/platform/firsttime" if [ -f $FIRST_BOOT_FILE ]; then mkdir /tmp/sda1 mount /dev/sda1 /tmp/sda1 cd /tmp/sda1/EFI mkdir BOOT > /dev/null 2>&1 cp SONiC-OS/grubx64.efi BOOT/BOOTX64.EFI cd /tmp umount sda1 # This code block ensures that no additional entries # are added. This is applicable during SONiC image # upgrades. entries=`efibootmgr -v | grep "BOOTX64"` if [ -z "$entries" ]; then # Creating the UEFI entry for the first time. efibootmgr -c -L "SONiC" -l "\EFI\BOOT\BOOTX64.EFI" > /var/tmp/efi_log 2>&1 fi fi