github.com/k8snetworkplumbingwg/sriov-network-operator@v1.2.1-0.20240408194816-2d2e5a45d453/bindata/scripts/enable-kargs.sh (about)

     1  #!/bin/bash
     2  set -x
     3  
     4  declare -a kargs=( "$@" )
     5  ret=0
     6  args=$(chroot /host/ cat /proc/cmdline)
     7  
     8  if chroot /host/ test -f /run/ostree-booted ; then
     9      for t in "${kargs[@]}";do
    10          if [[ $args != *${t}* ]];then
    11              if chroot /host/ rpm-ostree kargs | grep -vq ${t}; then
    12                  chroot /host/ rpm-ostree kargs --append ${t} > /dev/null 2>&1
    13              fi
    14              let ret++
    15          fi
    16      done
    17  else
    18      chroot /host/ which grubby > /dev/null 2>&1
    19      # if grubby is not there, let's tell it
    20      if [ $? -ne 0 ]; then
    21          exit 127
    22      fi
    23      for t in "${kargs[@]}";do
    24          if [[ $args != *${t}* ]];then
    25              if chroot /host/ grubby --info=DEFAULT | grep args | grep -vq ${t}; then
    26                  chroot /host/ grubby --update-kernel=DEFAULT --args=${t} > /dev/null 2>&1
    27              fi
    28              let ret++
    29          fi
    30      done
    31  fi
    32  
    33  echo $ret