アットウィキロゴ

ART-Linuxのインストール

ART-linuxを準備するには,まず,x86互換PCを準備します.
いわゆるパソコンですね.ただし,現在は32bitのみの対応のようです.
64bit版はハードウェアドライバの対応なども状況がよくありませんので,
制御をする場合には無難な選択肢でしょう.

PC選択時の注意点


個人的には,多くのシステムで試したわけではないのですが,
  • Core2Duoシステムではなぜか上手くいかない例が多い(重い)
  • ビデオカードがnVidiaなシステムではなぜか上手くいかない例が多い(重い)
といった経験があります.どうも,ARTの割り込みとビデオカード周り?の割り込みがバッティングし,
非常に動作が重くなるようです.原因については謎とのことですが…
修正は難しく,たぶん改良も期待薄(商品ではありませんからね!)なので,上手く動くハードを探します.
私の経験だと,古き良きPentium4や,corei5のPCでは,nvidiaボードであっても上手くいっていました.
(core2duoシステムがいけないのかな??)
また,AMDのAthlonなんかもいまのところ上手くいっています.CPUしか記憶にありませんが,一応うまくうごいたものを
以下にリストアップします.古いのは詳細が記憶にないのですいません.
  • Socket 478系のPentium4,PentiumD + 845 (ART カーネル2.2系にて動作)
  • Corei5 Sandy Bridge + H67
  • Athlon 64 XP 5800+ + ?
ただし,重いからといってART機能が使えないわけではありません.重くて使いものにならないかもしれませんが…
CUIで動かすと問題なく使える可能性が0ではありません^^;

インストール前の注意として,
Speed step, Turbo boost等の実クロック可変なシステムはBIOSによりoffにしたほうが無難でしょう.
というか,offにしてください.時間計測にも影響を及ぼす可能性が0とは言えません.

それではArt-linuxシステム構築の備忘録です.下記備忘録のため書きなぐります.

Linuxをインストールする


まず,土台となるlinuxをインストールする.現在,ARTがサポートされているのは公式ページを確認.
ここではUbuntu 10.04 LTSを使う.私はwindowsメインなユーザのため,debianよりUbuntuが好き.

インストールに関する詳細はググってください.windowsとのデュアルブートでもかまいません.

パッケージのアップデートを行う


起動すると,だいたいパッケージアップデートマネージャが出て,
各パッケージのアップデート情報が教えてもらえる.
滞りなくアップデートしてもらってください.

ART-linuxパッチを充てる


Ubuntuを起動し,とりあえずARTパッチを充てる.
公式ページに行き,

Ubuntu 10.04用
linux-image-2.6.32-art_20110914_i386.deb
linux-headers-2.6.32-art_20110914_i386.deb
linux-source-2.6.32-art_20110914_all.deb

のところから,クリックして,パッケージマネージャで開いてそのままインストールする.
あるいは,ダウンロード後,上記の下に記されているコマンドでカーネルをインストールする.
できれば三つともインストールする.(dpkg -i *** の***を三つそれぞれに変えて実行する)

ここで一度再起動をお勧め.

ARTで起動できるように設定する


インストールしたカーネルで,起動するように設定を変更する必要がある.

Windowsとデュアルブートの場合,起動時にカーネル選択が可能となるが,
そうでない場合,自分で起動カーネルを設定する必要がある.
現在,Art-linuxのカーネルで動いているかを確認するには,ターミナルで
# uname -a
として,カーネルの名前が2.6.32-art 等とartが入っていればOK.
設定するには主に二つの方法がある.

1. Startupマネージャを使ってデフォルトを変更する

  • デフォルトの起動をARTにできる.簡単.起動ごとに選べない
  • Grub2の設定をいじらないと,最低割り込み周期を変更できない

UbuntuのメニューからSynapticを起動し,startupと検索すると出てくる.
これをインストールし,起動して,エントリ群から,Ubuntu, *** 2.6.32-art等と,
artがついているカーネルのものに変更すればOK.完了.
ARTオプションはデフォルトのため,1msec周期以上までの実時間となる.

簡単に起動カーネルを変更できるので,どちらにせよ入れておくのをお勧めする.

2. Grub 2の設定を変更する

  • 起動時にメニューを表示し,ARTを起動するか通常のUbuntuで起動するか選択できる.
  • 少々複雑だが,一度設定していまえば非常に便利.

設定の要領は以下の通り.

grub2では,grub.cfgが自動的に書き換えられ,bootに登録される.
そこで,/etc/grub.d/40_customにカスタム項目を追加する形となる.
二つターミナルを開き,それぞれ
# sudo gedit /etc/grub.d/40_custom
# gedit /boot/grub/grub.cfg
を実行する.grub.cfgの下の方に,

menuentry 'Ubuntu, with Linux 2.6.32-art' --class ubuntu --class gnu-linux --class gnu --class os {
    recordfail
    insmod ext2
    set root='(hd0,1)'
    search --no-floppy --fs-uuid --set **********
    linux	/boot/vmlinuz-2.6.32-art root=UUID=********** ro   quiet splash
    initrd	/boot/initrd.img-2.6.32-art
}

こんな感じのエントリーがある.名前が'Ubuntu, with Linux 2.6.32-art'となっているからわかるとおり,
これはart-linuxのエントリである.これをコピーし,/etc/grub.d/40_customの一番下に張り付ける.
以降,張り付けた/etc/grub.d/40_customだけ弄るので,grub.cfgは閉じておくと安全.

まず,ARTオプション(ART=***で,実時間割り込み周期の最短時間が***μ秒となる)を与える.
linux /boot/vmlinuz-2.6.32-art root=UUID=********** ro quiet splash

linux /boot/vmlinuz-2.6.32-art root=UUID=********** ro ART=500 quiet splash
に変更する.500を100等に変更したら,もっと割り込み周期を小さくできるが,負荷はちょっと大きい.
ハード構成にもよるが,100μ秒くらいがせいぜいだと思っている.

次に,エントリ名'Ubuntu, with Linux 2.6.32-art'を好きなように(たとえば'ART-Ubuntu, ART=500'など)変更する.

ここで, 'quiet splash'を, 'quiet text'に変更すると,CUIモードで起動できるため,たとえば上記エントリを
2つコピーしておき,


menuentry 'ART-Ubuntu' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
insmod ext2
set root='(hd0,1)'
search --no-floppy --fs-uuid --set **********
linux	/boot/vmlinuz-2.6.32-art root=UUID=********** ro ART=200 quiet splash
initrd	/boot/initrd.img-2.6.32-art
}
menuentry 'ART-Ubuntu CUI' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
insmod ext2
set root='(hd0,1)'
search --no-floppy --fs-uuid --set **********
linux	/boot/vmlinuz-2.6.32-art root=UUID=********** ro ART=200 quiet text
initrd	/boot/initrd.img-2.6.32-art
}

などとしておくと,便利かもしれない.制御時にはCUIの方がお勧めだし,
先述の重くなるcore2環境などでも,若干軽くなるかもしれない.CUI環境については詳細は後述.
/etc/grub.d/40_customを保存しておく.
(この時点で,StartupManagerを起動すると,エントリーが追加されているので,それで選択してもよい)

次に,起動時メニューを表示できるようにする.
ターミナルにて
# sudo gedit /etc/default/grub
としてgrub設定ファイルを開く.そして以下のように編集する.


1. GRUB_HIDDEN_TIMEOUTをコメントアウト
# GRUB_HIDDEN_TIMEOUT=0

2. GRUB_HIDDEN_TIMEOUT_QUIETをfalseに
GRUB_HIDDEN_TIMEOUT_QUIET=false

3.必要があればGRUB_TIMEOUTの時間を任意に変更(単位は秒)
GRUB_TIMEOUT="30"

4. リカバリモードがうっとうしいということならば,下記を有効にする
GRUB_DISABLE_LINUX_RECOVERY="true"

5. /etc/default/grubを保存し,閉じる.

6. memtestも不要ならば,ターミナルで下記を実行し,実行権限を削除しておく
# sudo chmod -x /etc/grub.d/20_memtest86+

7. update-grubで変更内容を適用
# sudo update-grub

再起動すると選べるようになっているはず.
以上でART-linuxで起動する準備は完了です.

CUIでのart-linuxについて

Ubuntuでは,これまでのようにinit 3とかしてランレベルを変更できないらしい.
上記のGrubの設定か,ログイン時にCtrl+Alt+F1を押すことでCUIモードに行ける.

ただし,CUIでは日本語が◆として表示されるうえ,日本語入力はできない.
表示側だけは,jfbtermを用いるとちゃんと表示できるようだ.
synapticであらかじめインストールしておくか,ターミナルにて
# apt-get install jfbterm
# jfbterm
としてインストール+実行することで日本語は表示される.
(インストール中,y/n?が聞かれる.文字化け中だとなにがなんだかわからないが,
yとして答えるとインストール可能である)

CUIには大きな問題がある.日本語版Ubuntuでは,デスクトップが,カタカナで「デスクトップ」
というディレクトリとして作られている.CUIではカタカタが打てず,移動できない(!じゃぱにーずの悲劇!).
あらかじめ,GUI環境にて,desktopなどの名前でシンボリックリンクを作っておかないとはまる.

もうひとつ問題がある.
CUIからGUIに移動するには,startxとすれば良いが,root権限が必要であり,
sudoやsuによってrootになりstartxするとrootとしてGUIにログインされ,
通常のGUIログイン時のデスクトップ設定が反映されない.
これで困る場合はおとなしくrebootするしかないようだ??>情報求む
個人的には開発はGUI,実行はCUIでやりたいため,これができないと不便なのだが…
そもそも実験システムなので,rootでGUI環境を作ってしまうという手も無くはなさそうだ.


本日の来訪者: -
昨日の来訪者: -
来訪者累積: -

おなまえ
こめんと
最終更新:2011年09月20日 20:50