1 # O-RAN INF image installation and configuration for better real time performance
3 ## 1. O-RAN INF image installation
5 * Please see the README.md file for how to build the image.
6 * The Image is a live ISO image with CLI installer: oran-image-inf-host-intel-x86-64.iso
8 #### 1.1 Burn the image to the USB device
10 * Assume the the usb device is /dev/sdX here
13 $ sudo dd if=/path/to/oran-image-inf-host-intel-x86-64.iso of=/dev/sdX bs=1M
16 #### 1.2 Insert the USB device in the target to be booted.
18 #### 1.3 Reboot the target from the USB device.
20 #### 1.4 Select "Graphics console install" or "Serial console install" and press ENTER
22 #### 1.5 Select the hard disk and press ENTER
24 > Notes: In the CLI installer, you can only select which hard disk to install, the whole disk will be used and partitioned automatically.
26 * e.g. insert "sda" and press ENTER
28 #### 1.6 Remove the USB device and press ENTER to reboot
30 ## 2. Configuration for better real time performance
32 > Some of the tuning options are machine specific or depend on use cases,
33 > like the hugepages, isolcpus, rcu_nocbs, kthread_cpus, irqaffinity, nohz_full and
34 > so on, please do not just copy and past.
36 * Edit the grub.cfg with the following example tuning options
39 # Notes: the grub.cfg file path is different for legacy and UEFI mode
40 # For legacy mode: /boot/grub/grub.cfg
41 # For UEFI mode: /boot/EFI/BOOT/grub.cfg
43 grub_cfg="/boot/grub/grub.cfg"
44 #grub_cfg="/boot/EFI/BOOT/grub.cfg"
46 # In this example, 1-16 cores are isolated for real time processes
47 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"
49 # optional to add the console setting
50 root@intel-x86-64:~# console="console=ttyS0,115200"
52 root@intel-x86-64:~# sed -i "/linux / s/$/ $console $rt_tuning/" $grub_cfg
57 root@intel-x86-64:~# reboot