Franka

Standard Franka Develop Environment

OS

For using franka,we select Ubuntu 20.04 with the kernel version 5.15.133rt .

  1. Download Ubuntu 20.04 Image.
  2. Download Rufus.
  3. Using Rufus to write IOS into USB:
    1. Select the Image downloaded before.
    2. Leave all other parameters with their default values and click START to initiate the write process. This operation will clean all data in your selected USB, please make sure backup for important data is avaliable.
    3. Install missing files if noticed and accept warning for cleaning data. Wait until the process is finished, then close Rufus.
  4. Restart your computer and hold down a specific key to enter BIOS to bringup the boot menu and choose boot from USB.
  5. Follow the tutorial to setup the real-time kernel for Ubuntu 20.04.
    1. Install necessary dependency:

          sudo apt-get install build-essential bc curl ca-certificates gnupg2 libssl-dev lsb-release libelf-dev bison flex dwarves zstd libncurses-dev
      
    2. Download patch:

          curl -SLO https://www.kernel.org/pub/linux/kernel/v5.x/linux-5.9.1.tar.xz
          curl -SLO https://www.kernel.org/pub/linux/kernel/v5.x/linux-5.9.1.tar.sign
          curl -SLO https://www.kernel.org/pub/linux/kernel/projects/rt/5.9/patch-5.9.1-rt20.patch.xz
          curl -SLO https://www.kernel.org/pub/linux/kernel/projects/rt/5.9/patch-5.9.1-rt20.patch.sign
      
    3. Extract them with xz -d *.xz.

    4. Extract the source code and apply the patch:

          tar xf linux-*.tar
          cd linux-*/patch
          patch -p1 < ../patch-*.patch
      
    5. Copy your currently booted kernel configuration as the default config for the new real time kernel:

          cp -v /boot/config-$(uname -r) .config
      
    6. Use this config as the default to configure the build:

          make olddefconfig
          make menuconfig
      

      The second command brings up a terminal interface in which you can configure the preemption model. Navigate with the arrow keys to General Setup > Preemption Model and select Fully Preemptible Kernel (Real-Time).
      After that navigate(exit to the last level of the dictionary) to Cryptographic API > Certificates for signature checking (at the very bottom of the list) > Provide system-wide ring of trusted keys > Additional X.509 keys for default system keyring

      General Setup -> Preemption Model set to Fully Preemptible Kernel(RT)
      General Setup -> Timers subsystem -> Timer tick handling set to Full dynticks system
      General Setup -> Timers subsystem open High Resolution Timer Support
      Processor type and features -> Timer frequency set to 1000 HZ

      Remove the “debian/canonical-certs.pem” from the prompt and press OK. Then press Save. Save this configuration to .config and exit the TUI.

    7. Compile the kernel. As this is a lengthy process, set the multithreading option -j to the number of your CPU cores: make -j$(nproc) deb-pkg

    8. Install the newly created package:

          sudo dpkg -i ../linux-headers-*.deb ../linux-image-*.deb
      
    9. Restart system. The Grub boot menu should now allow you to choose your newly installed kernel. To see which one is currently being used, see the output of the uname -a command. It should contain the string PREEMPT RT and the version number you chose. Additionally, /sys/kernel/realtime should exist and contain the the number 1.

Software

Option

Reference