준비 단계

Xenomai 커널 설치는 여러 가지 단계를 포함하며, 이는 주로 리눅스 커널 패치를 통해 이루어진다. Xenomai 기반의 실시간 애플리케이션을 개발하려면 먼저 Xenomai 커널과 리눅스 커널 소스를 준비해야 한다.

필요 소프트웨어

  1. 필수 패키지 설치: 다음의 패키지가 설치되어야 한다.

    bash sudo apt-get install build-essential libncurses5-dev bison flex libssl-dev

  2. 커널 소스 다운로드: 적당한 리눅스 커널 소스를 다운로드한다. 예제에서는 리눅스 커널 4.19를 사용한다.

    bash wget https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.19.tar.xz tar -xf linux-4.19.tar.xz

  3. Xenomai 소스 다운로드: Xenomai의 적당한 버전을 다운로드한다. 예제에서는 Xenomai 3.1을 사용한다.

    bash wget https://xenomai.org/downloads/xenomai/stable/xenomai-3.1.tar.bz2 tar -xf xenomai-3.1.tar.bz2

Xenomai 커널 패치

I-pipe 패치 적용

Xenomai 커널은 I-pipe 패치를 사용하여 실시간 기능을 추가한다. 따라서 커널 소스를 패치해야 한다.

  1. 패치 파일을 확인: Xenomai 소스 디렉토리 내의 kernel/cobalt/patches 디렉토리에서 적절한 패치 파일을 확인한다.

    bash cd xenomai-3.1/kernel/cobalt/patches ls

  2. 패치 적용: 해당 커널 버전과 일치하는 패치를 리눅스 커널 소스에 적용한다.

    bash cd ~/linux-4.19 patch -p1 < ~/xenomai-3.1/kernel/cobalt/patches/ipipe-core-4.19.59-x86-4.patch

커널 설정

기존 설정 복사

기존 리눅스 커널 설정을 복사하여 사용한다. 이는 새로운 커널 설정을 간편하게 하기 위함이다.

cp /boot/config-$(uname -r) .config

Xenomai 설정 추가

Xenomai 설정을 위해 메뉴 설정 도구를 활용한다.

make menuconfig

그 다음 다음 옵션을 설정한다: - Enable CONFIG_IPIPE option: Kernel Features -> Support for multiple binary formats -> I-pipe support - Enable CONFIG_XENOMAI option: Device Drivers -> [*] Xenomai/cobalt

커널 컴파일 및 설치

make -j $(nproc)
sudo make modules_install
sudo make install

부팅 설정

initramfs 업데이트

initramfs 이미지를 업데이트한다.

sudo update-initramfs -c -k 4.19.x-ipipe

그럽 업데이트

그럽 설정을 업데이트하고 시스템을 재부팅한다.

sudo update-grub
sudo reboot

시스템 재부팅 후, 부팅 시 Grub 메뉴에서 새로 설치된 Xenomai 커널을 선택한다.