Ubuntu16.04リアルタイムカーネルRTプリエンプトインストール

[ 前回の記事では、Ubuntu 18.04のリアルタイムカーネルのインストールについて紹介しました](https://cloud.tencent.com/developer/article/1690961?from=10680)、Ubuntu16.04のリアルタイムカーネルの具体的なインストールは次のとおりです。

RTOS

[1 インストールの依存関係](https://cloud.tencent.com/act/anniversary?fromSource=gwzcw.3881574.3881574.3881574&utm_medium=cpc&utm_id=gwzcw.3881574.3881574.3881574&gclid=CjwKCAjwtNf6BRAwEiwAkt6UQuN_Er47B2_X6vzdNyc2vpu-SHczMwkLyYduqFy679e2mOXU2WNRqRoCGJAQAvD_BwE&from=10680)#

apt-get install build-essential bc curl ca-certificates fakeroot gnupg2 libssl-dev lsb-release libelf-dev bison flex

[2 カーネルバージョン](https://cloud.tencent.com/product/cvm?from=10680)#

現在使用しているものを見つけるには、uname-rを使用します。リアルタイムパッチは、一部のカーネルバージョンにのみ適用できます。以下を参照してください。

https://www.kernel.org/pub/linux/kernel/projects/rt/

kernel

現在の使用に最も近いバージョンを選択することをお勧めします。次のコマンドは、4.14.12-rt10パッチが適用された4.14.12カーネルバージョンを想定しています。別のバージョンを選択する場合は、番号を置き換えるだけです。バージョンを確認したら、curlを使用してソースファイルをダウンロードします。

curl -SLO https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.14.12.tar.xz
curl -SLO https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.14.12.tar.sign
curl -SLO https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patch-4.14.12-rt10.patch.xz
curl -SLO https://www.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patch-4.14.12-rt10.patch.sign

そして、次のコマンドでそれらを解凍します。

xz -d linux-4.14.12.tar.xz

xz -d patch-4.14.12-rt10.patch.xz

[3 カーネルのコンパイル](https://cloud.tencent.com/product/cvm?from=10680)#

ファイルが正しくダウンロードされたことを確認したら、ソースコードを抽出して、パッチを適用できます。

tar xf linux-4.14.12.tar
cd linux-4.14.12
patch -p1 <../patch-4.14.12-rt10.patch

次のステップは、カーネルを構成することです。

make oldconfig

これにより、テキストベースの構成メニューが開きます。プリエンプティブモデルを提供するように求められたら、完全にプリエンプティブなカーネルを選択します。

Preemption Model

1. No Forced Preemption (Server) (PREEMPT_NONE)

2. Voluntary Kernel Preemption (Desktop) (PREEMPT_VOLUNTARY)

3. Preemptible Kernel (Low-Latency Desktop) (PREEMPT__LL) (NEW)

4. Preemptible Kernel (Basic RT) (PREEMPT_RTB) (NEW)

> 5. Fully Preemptible Kernel (RT) (PREEMPT_RT_FULL) (NEW)

他のオプションはデフォルト値のままにしておくことをお勧めします。その後、カーネルをコンパイルできます。これは長いプロセスであるため、マルチスレッドオプション-jをCPUコアの数に設定します。

fakeroot make -j4 deb-pkg

これで、新しく作成したパッケージをインストールする準備が整いました。正確な名前は環境によって異なりますが、dbgサフィックスのないヘッダーとイメージパッケージを探しています。
sudo dpkg -i ../linux-headers-4.14.12-rt10_*.deb ../linux-image-4.14.12-rt10_*.deb
システムを再起動します。

4 検証#

これで、Grubブートメニューで、新しくインストールしたカーネルを選択できるようになります。現在使用されているものを確認するには、uname-aコマンドの出力を確認してください。これには、文字列PREEMPTRTと選択したバージョン番号が含まれている必要があります。さらに、/ sys / kernel / realtimeが存在し、番号1が含まれている必要があります。

5 ユーザーがプロセスにリアルタイムの権限を設定できるようにする#

sudo addgroup realtime
sudo usermod -a -G realtime $(whoami)

次に、リアルタイムグループ/etc/security/limits.confに次の制限を追加します。

@ realtime soft rtprio 99

@ realtime soft priority 99

@ realtime soft memlock 102400

@ realtime hard rtprio 99

@ realtime hard priority 99

@ realtime hard memlock 102400

Recommended Posts

Ubuntu16.04リアルタイムカーネルRTプリエンプトインストール
UBUNTU16.04インストール日記
ubuntu1804インストールの詳細
Ubuntuのインストール記録
ubuntu 18.04インストール(UEFI + GBT)
ubuntuインストールエラー
Ubuntuインストールのマニュアル
Ubuntu16.04インストールパーティション設定
ubuntu redisphpのインストール
Ubuntuの紹介とインストール
ubuntu素敵なフォントのインストール
UbuntuCEPHクイックインストール
フォアマンubuntu16クイックインストール
Ubuntu17.10インストールトスレコード
Ubuntuデュアルシステムのインストール
Githubプロジェクト-UbuntuへのOpenPoseのインストール
ubuntu viewpythonインストールパス
Ubuntu16.04のインストールと簡単な構成
詳細なubuntu20.04LTSインストール記録
CSIツールのインストールIntel5300 + Ubuntu 14.04
ubuntu19.04インストールチュートリアル(グラフィックステップ)
UbuntuPostgreSQLのインストールと構成
ubuntuオフラインインストールpython環境