試験運用中なLinux備忘録・旧記事

はてなダイアリーで公開していた2007年5月-2015年3月の記事を保存しています。

Ubuntu 12.10における幾つかのメモ(代替のインストール方法,lowlatencyカーネル)

Alternate CDの代替は?

Ubuntu 12.10からはテキストインストーラでインストールのできるAlternate CDが廃止されてしまった。
手元の環境ではKVMを使用してインストールしており、KVMでは通常のインストールディスクのISOイメージでは何故かうまくインストールできず、Alternate CDを使うことになるのだが、今回からはそうはいかなくなるため別の方法を探したところ、ネットワークインストールを行うための小さなCDイメージmini.isoを用いて起動する方法が見つかり、これを試してみたところ、インストールはうまくいった。ネットワークインストールではテキストインストーラでインストールできる。

ネットワークインストール用起動ディスクイメージファイルについて

ネットワークインストール用のCDイメージファイルmini.iso
http://cdimage.ubuntu.com/netboot/12.10/
の「Select an architecture」の下のアーキテクチャ名のリンク(x86_64の場合は「amd64」,x86_32の場合は「i386」)の先にある。Ubuntu 12.10では、amd64版が「34M」,i386版が「28M」のファイルサイズ表示となっており、非常に小さい。CDに焼いて使う場合でも処理時間が短く済み、また、Ubuntu 12.10で通常のインストールディスクイメージがCDサイズを超えている関係でCDに焼けずに困っているという場合にも役に立つ可能性がある(ただし後述の内容には注意・端末の操作に慣れていない場合は非推奨)。

ネットワークインストール後の状態と追加作業

ネットワークインストールをした場合、本当に基本的なパッケージのみしかインストールはされず、X Window System上のグラフィカルログインもできない点に注意が必要。インストール後にOSを起動し、テキストログイン(文字列のみが表示される環境でユーザ名とパスワードを入力)をしてから好みでパッケージを追加インストールしていくことになる。
下は「-desktop」系パッケージをインストールする形の作業例。いずれかのGUI環境を選択しインストールすると、再起動後はグラフィカルログインとなる。ダウンロードとインストールには(回線,CPU,ディスク読み書きなどの速度によるが)時間がかかる。

(Unity環境をインストールする場合)
$ sudo apt-get install ubuntu-desktop

(KDE SC環境をインストールする場合)
$ sudo apt-get install kubuntu-desktop

(Xfce環境をインストールする場合)
$ sudo apt-get install xubuntu-desktop

(Xfce/Ubuntu Studio環境をインストールする場合)
$ sudo apt-get install ubuntustudio-desktop

(LXDE環境をインストールする場合)
$ sudo apt-get install lubuntu-desktop

lowlatencyカーネルとその設定

Ubuntuには、12.10の時点ではリアルタイム性能を保証するrtパッチの当たったカーネルは用意されていないが、代わりに通常の「generic」カーネルよりも「遅延回避」型のチューニングがされた「lowlatency」カーネルが存在する。JACK Audio Connection Kitなどのソフトウェアを使用する際には、このカーネルをインストールしてこれを起動することで動作が良くなる。
そのビルド設定(/boot/config-[バージョン]-lowlatency)を見たところ、(少なくとも)以下の点が「generic」カーネルとは異なっていることが分かった。以下は自分でカーネルソースからカーネルをビルドする際に「lowlatency」カーネルの特性が欲しい場合のためのメモとする。

I/Oスケジューラ

「generic」カーネルではシステム上の全てのプロセスに対して平等に帯域幅を割り振る「CFQ」というI/Oスケジューラが標準で使用されているが、「lowlatency」カーネルでは公平性よりも遅延回避を重視して「Deadline」というI/Oスケジューラが既定のI/Oスケジューラとして使用されている。

[*] Enable the block layer  --->
 IO Schedulers  --->
  <*> Deadline I/O scheduler
  <*> CFQ I/O scheduler
  [*]   CFQ Group Scheduling support
      Default I/O scheduler (Deadline)  --->

上の一番下の行の部分で「Deadline」が既定のI/Oスケジューラであることが示されている。
「lowlatency」カーネルで起動した場合、/dev/sdaのデバイス名のディスクのI/Oスケジューラは

$ cat /sys/block/sda/queue/scheduler
noop [deadline] cfq

初期状態で「deadline」が使用されていることが分かる。また、上のビルド設定からも分かるが、「cfq」も利用可能であることも分かる。
「generic」カーネルでは

$ cat /sys/block/sda/queue/scheduler
noop deadline [cfq]

「cfq」が標準となっているが、「deadline」をここに書き込むことで「deadline」に変更できる。

$ sudo sh -c 'echo deadline > /sys/block/sda/queue/scheduler'
$ cat /sys/block/sda/queue/scheduler
noop [deadline] cfq
プリエンプション・モデル(Preemption Model)

プリエンプション・モデル(Preemption Model)については、以前JACK関係で扱ったときと同様、遅延回避には「Preemptible Kernel (Low-Latency Desktop)」を選択するのがよい。

Processor type and features  --->
 Preemption Model (Preemptible Kernel (Low-Latency Desktop))
タイマー周波数

タイマー周波数についても、以前扱ったのと同様、遅延回避には「1000HZ」を選択するのがよい。

Processor type and features  --->
 Timer frequency (1000 HZ)  --->

関連記事:

関連URL:

まとめドキュメント: