From: Jackie Huang Date: Tue, 29 Oct 2019 07:25:57 +0000 (+0800) Subject: docs: add installation.md X-Git-Tag: bronze-rc0~122 X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=commitdiff_plain;h=c4a5568b75540160039819d399438e1bfc35c265;p=pti%2Frtp.git docs: add installation.md Issue-ID: INF-4 Signed-off-by: Jackie Huang Change-Id: I25ab5dcf025178f915fa4461024d4f425288ac2f --- diff --git a/docs/installation.md b/docs/installation.md new file mode 100644 index 0000000..d7e1958 --- /dev/null +++ b/docs/installation.md @@ -0,0 +1,58 @@ +# 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 + +```bash +# 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 + +```bash +root@intel-x86-64:~# reboot +```