Preempt RT Linux Installation
1. Copy the Debian packages for Preempt-RT Linux built in previous step to the target board.
2. Install Preempt-RT Linux Debian packages.
$ sudo dpkg -i [path]/linux-image-4.19.59-rt24-intel-pk-preempt-rt-ecs1.0_4.19.59-rt24-intel-pk-preempt-rt-ecs1.0-1_amd64.deb$ sudo dpkg -i [path]/linux-headers-4.19.59-rt24-intel-pk-preempt-rt-ecs1.0_4.19.59-rt24-intel-pk-preempt-rt-ecs1.0-1_amd64.deb$ sudo dpkg -i [path]/linux-libc-dev_4.19.59-rt24-intel-pk-preempt-rt-ecs1.0-1_amd64.deb$ sudo dpkg -i [path]/ethercat_1.5.2-rt_amd64.deb3. Edit grub to leave time to select new kernel and change the kernel cmdline.
$ sudo gedit /etc/default/grubChanges are:
#GRUB_TIMEOUT_STYLE=hiddenGRUB_TIMEOUT=10GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nosmap console=ttyS0,115200 console=tty0 clocksource=tsc tsc=reliable nmi_watchdog=0 nosoftlockup idle=poll noht audit=0 irqaffinity=0 isolcpus=1-3 rcu_nocbs=1-3 intel_pstate=disable intel.max_cstate=0 intel_idle.max_cstate=0 processor.max_cstate=0 processor_idle.max_cstate=0 i915.enable_dc=0 i915.disable_power_well=0 noefi"- Usually, the implementation for EFI variable read/write is in SMM, which means it will trigger SMI and result in large jitter. “noefi” will disable software access to EFI variable.
- User can change isolcpus and rcu_nocbs arguments per needs.
4. Update grub and reboot.
$ sudo update-grub$ sudo reboot5. After reboot into Grub menu, select “Advanced options for Ubuntu” -> “Ubuntu, with Linux 4.19.59-rt24-intel-pk-preempt-rt-ecs1.0” in Grub menu, and then boot.