O-RAN INF image installation and configuration for better real time performance

1. O-RAN INF image installation

  • Please see the README.md file for how to build the image.
  • The Image is a live ISO image with CLI installer: oran-image-inf-host-intel-x86-64.iso

1.1 Burn the image to the USB device

  • Assume the the usb device is /dev/sdX here
 $ sudo dd if=/path/to/oran-image-inf-host-intel-x86-64.iso of=/dev/sdX bs=1M

1.2 Insert the USB device in the target to be booted.

1.3 Reboot the target from the USB device.

1.4 Select "Graphics console install" or "Serial console install" and press ENTER

1.5 Select the hard disk and press ENTER

Notes: In the CLI installer, you can only select which hard disk to install, the whole disk will be used and partitioned automatically.

  • e.g. insert "sda" and press ENTER

1.6 Remove the USB device and press ENTER to reboot

2. Configuration for better real time performance

Some of the tuning options are machine specific or depend on use cases, like the hugepages, isolcpus, rcu_nocbs, kthread_cpus, irqaffinity, nohz_full and so on, please do not just copy and past.

  • Edit the grub.cfg with the following example tuning options
# Notes: the grub.cfg file path is different for legacy and UEFI mode
#   For legacy mode: /boot/grub/grub.cfg
#   For UEFI mode: /boot/EFI/BOOT/grub.cfg

grub_cfg="/boot/grub/grub.cfg"
#grub_cfg="/boot/EFI/BOOT/grub.cfg"

# In this example, 1-16 cores are isolated for real time processes
root@intel-x86-64:~# rt_tuning="crashkernel=auto biosdevname=0 iommu=pt usbcore.autosuspend=-1 nmi_watchdog=0 softlockup_panic=0 intel_iommu=on cgroup_enable=memory skew_tick=1 hugepagesz=1G hugepages=4 default_hugepagesz=1G isolcpus=1-16 rcu_nocbs=1-16 kthread_cpus=0 irqaffinity=0 nohz=on nohz_full=1-16 intel_idle.max_cstate=0 processor.max_cstate=1 intel_pstate=disable nosoftlockup idle=poll mce=ignore_ce"

# optional to add the console setting
root@intel-x86-64:~# console="console=ttyS0,115200"

root@intel-x86-64:~# sed -i "/linux / s/$/ $console $rt_tuning/" $grub_cfg
  • Reboot the target
root@intel-x86-64:~# reboot