# Xenomai 설치를 위한 시스템 준비

Xenomai를 설치하고 올바르게 설정하기 위해서는 시스템의 준비가 필수적이다. 시스템 준비 단계에서는 호스트 시스템에 필요한 도구와 라이브러리를 설치하고, 커널 소스를 준비하는 과정이 포함된다.

#### 1. 필요 패키지 설치

Xenomai를 설치하고 빌드하기 위해서는 몇 가지 필수 패키지들이 필요하다. Debian/Ubuntu 시스템을 예로 들어 설명하겠다. 다음 명령어를 사용하여 필요한 패키지를 설치한다:

```bash
sudo apt-get update
sudo apt-get install -y build-essential kernel-package libncurses5-dev bzip2
```

이 명령은 빌드 도구와 커널 빌드에 필요한 라이브러리들을 설치한다.

#### 2. 커널 소스 코드 다운로드

Xenomai는 실시간 기능을 제공하기 위해 패치된 리눅스 커널을 필요로 한다. 따라서 먼저 커널 소스 코드를 다운로드받아야 한다. 다음 명령어를 사용하여 커널 소스를 다운로드받을 수 있다:

```bash
cd /usr/src
sudo wget https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.4.30.tar.xz
sudo tar -xf linux-5.4.30.tar.xz
cd linux-5.4.30
```

*위 예시에서는 리눅스 커널 버전 5.4.30을 사용하고 있다. 필요한 경우 버전을 조정할 수 있다.*

#### 3. Xenomai 소스 코드 다운로드

Xenomai에 맞는 커널 패치를 적용하기 위해 Xenomai 소스 코드도 다운로드받아야 한다. 아래 명령어로 다운로드한다:

```bash
cd /usr/src
sudo wget https://xenomai.org/downloads/xenomai/stable/latest.tar.bz2
sudo tar -xjf latest.tar.bz2
```

#### 4. 커널 패치 적용

다운로드한 Xenomai 소스 코드의 패치 파일을 커널 소스에 적용한다. 패치 파일은 Xenomai 소스 폴더 안에 있다. 다음 명령어를 사용하여 커널 패치를 적용한다:

```bash
cd /usr/src/xenomai-<version>
sudo ./scripts/prepare-kernel.sh --arch=<arch> --linux=/usr/src/linux-5.4.30 --ipipe=patches/ipipe-core-<version>.patch
```

*여기서 `<version>`과 `<arch>`는 각각 다운로드한 Xenomai의 버전과 시스템의 아키텍처를 의미한다.*

#### 5. 커널 구성

패치가 완료되면 커널을 구성한다. `make menuconfig` 명령어를 사용하여 커널 옵션을 구성할 수 있다. Xenomai와 관련된 설정을 포함하여 필요한 옵션들을 활성화한다:

```bash
cd /usr/src/linux-5.4.30
sudo make menuconfig
```

* 필요한 옵션들을 선택하고 저장한 후 종료한다. 특히 "Enable CONFIG\_PREEMPT\_RT" 같은 Xenomai와 호환되는 실시간 옵션들이 제대로 설정되어 있는지 확인한다.

#### 6. 커널 컴파일 및 설치

커널 소스를 구성한 후 커널을 빌드하고 설치한다. 다음 명령어를 차례대로 실행한다:

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

위의 명령어들은 새로운 커널 이미지와 모듈들을 빌드하고 시스템에 설치한다. 커널 빌드가 완료되면, 새로운 커널 이미지가 `/boot` 디렉토리에 생성되어 GRUB 메뉴에 추가된다.

#### 7. 부트로더 업데이트

새로 설치한 커널을 사용하기 위해 부트로더를 업데이트한다. GRUB을 사용하는 경우, 다음 명령어로 업데이트할 수 있다:

```bash
sudo update-grub
```

#### 8. 시스템 재부팅

모든 과정이 완료되면 시스템을 재부팅하여 새로운 커널로 부팅한다. 다음 명령어를 사용하여 시스템을 재부팅한다:

```bash
sudo reboot
```

#### 9. Xenomai 설정 및 테스트

시스템이 재부팅된 후, Xenomai가 제대로 설치되었는지 확인하기 위해 몇 가지 테스트를 수행할 수 있다. `dmesg` 명령어를 통해 부팅 메시지를 확인하거나, Xenomai 제공 유틸리티를 사용하여 테스트한다.

```bash
sudo dmesg | grep Xenomai
```

Xenomai가 정상적으로 설치되었다면 관련 메시지를 볼 수 있다.

***

위 단계를 통해 Xenomai를 성공적으로 설치하고 설정할 수 있다. Xenomai는 다양한 실시간 애플리케이션에서 유용하게 사용할 수 있는 강력한 도구이다. 설치 과정 중 문제가 발생하면 로그 파일과 에러 메시지를 확인하여 문제를 해결하라. 추가적으로, Xenomai 커뮤니티와 문서를 참고하는 것도 권장된다.
