Plan 9環境の再構築
ファイルを更新するとき sys グループに参加が必須なので、作業アカウントを追加する。upas も必要だが2ファイルしかないので、権限を与えなくても回避は可能。
% con -l /srv/fsconsmain: uname sys +bootesCtrl+\を入力してコンソールを抜ける。
main: (ctl+\)>>> q基本的には mk コマンドを実行していくだけで終わるが、一部のファイルを更新するときに書き込みエラーが発生する場合があるので、回避策を実行しておく。
# 異なるアーキテクチャのバイナリが必要なら設定するobjtype=386
# bootes等は/tmpに書き込み権限を持たないので実行するramfs
# 上と同様にbootesがupasグループに参加していない場合は実行しておくcp /mail/lib/gone.finished /tmpcp /mail/lib/gone.msg /tmpbind -b /tmp /mail/libコマンドとライブラリ
Section titled “コマンドとライブラリ”まずはライブラリやコマンドを更新する。たぶん最小は以下のコマンドを使えばいい。
cd /sys/srcmk releasemk cleanしかし上記の場合、mk nuke すると /$objtype に配置されたライブラリ類も消えてしまって困るが mk clean では y.tab.h 等の中間ファイルが残ってしまう。なので丁寧にやるなら以下が良いだろう。このとき mk の引数を並べるとコマンドライン引数だと扱われる箇所があってうまくいかないので、必ず mk を分けて実行する。
cd /sys/srcobjtype=386mk libs # 各libでinstallとcleanを実行するのでcleanlibsは不要
cd /sys/src/apemk lib.installmk lib.cleanmk cmd.installmk cmd.nukemk 9src.installmk 9src.nuke
cd /sys/src/cmdmk install # safeinstallの方が良いかも?mk nuke
cd /sys/src/gamesmk installmk nuke
cd /acmemk installmk nukeカーネルとローダ
Section titled “カーネルとローダ”次にカーネルをビルドする。
cd /sys/src/9/pcmk install 'CONF=pcf'mk nuke 'CONF=pcf'
cd /sys/src/9k/k10mk install 'CONF=k10'mk nuke 'CONF=k10'
cd /sys/src/9/pcboot# boot設定を編集してサイズを小さくしておくmk install clean