mikutterの日 4年目も成功おめでとう + pkgsrc 2013Q1 リリース記念 バージョン
とりあえず公開優先のやっつけ説明なので気づき点があればその都度更新します。
誤りその他の指摘はメール <tsutsui@ceres.dti.ne.jp>
または Twitter(@tsutsuii)宛でお願いします。
build.sh 上で作るべき
……で、誰がやるの?
……それは私も知りたい (同案多数)
……中の人はみんな -current 使っててバイナリは自分で作るもんだと思ってる?
……mikutter人気に乗じて、mikutterが即使える NetBSD起動イメージ作って配れば NetBSDの宣伝になるんじゃね?
などという雑多な課題をまとめて実現してしまおうという妄想の具現化
/etc/rc.conf の rtclocaltime=YES
のコメントアウトを外してください。
DTIのwebは100MBしか置けないのでイメージ本体は別のVPSホストに置いてあります。落ちてたらスイマセン
[20111218] あまりにも DTIのVPSがアレなので jnug.net にミラーしてもらいました。 おかのさんありがとうございます。
[20120205] ftp.jp.NetBSD.org にもミラーされるようになりました。藤原さんありがとうございます。
右クリック→ファイル名をつけて保存 でダウンロードしてください。
MD5 (liveimage-i386-usb-20130407.img.gz) = 02bb3252a7d5782833bc16ae787e875f
gunzip後 3,468,689,408バイト)
←swapパーティション含まず
MD5 (liveimage-amd64-usb-20130407.img.gz) = d9a168936801b9a9e2534153da7e0663
gunzip後 3,468,689,408バイト)
←swapパーティション含まず
MD5 (liveimage-i386-emu-20130407.img.gz) = bdf22e538fba8be57cfeea0d6c70074a
gunzip後 4,005,560,320バイト)
←swapパーティション含む
.vdi)バイナリ
ftp.jp.NetBSD.org ミラー
MD5 (liveimage-i386-vbox-20130407.zip) = 35bbbf4803f63c99524d4381bc76d90f
MD5 (setupliveimage-20130407.fs.gz) = f31f39c755cb569a6cf9199df48ef8fc
gunzip後 838,860,800バイト)
gunzip(1) と dd(1) などでテキトーに以下のような感じで
# gzcat liveimage-i386-usb-20130407.img.gz | dd of=/dev/rsd0d bs=64kdd(1) でOKですが、ググると出てくる以下のページも参照
4GBより大きなメディアにイメージを書き込んだ場合、そのままではメディアの実容量分を使うことはできませんが、実験的にイメージ内の ファイルシステムサイズを実メディアサイズに拡張するスクリプト を作ってみました。
以下のようにすれば4GB超のメディアもフルに使えるようになります。
Enter pathname of shell or RETURN for /bin/sh:" のプロンプトに対してはそのままリターン
# sh expand-image-fssize.sh としてファイルシステムサイズ拡張スクリプトを
いきなり実行
Hit Enter to reboot..." と出るのでリターンを押して再起動すればできあがり
% qemu-system-i386 -m 512 -hda liveimage-i386-emu-20130407.img% limit datasize unlimitcsh(1) 等の limit 解除が必要な場合があるかもしれません
.vdi のイメージファイルをストレージのハードディスクイメージとして指定してください
/etc/X11/xorg.conf を設定しないとXが起動しないようなので、 VirtualBox用のイメージには
VESAドライバを使う指定を書いた /etc/X11/xorg.conf をあらかじめ入れてあります。C:\Qemu-windows-1.2.0> qemu-system-i386w -m 512 -L Bios -hda liveimage-i386-emu-20130407.img→ -L Bios で配布一式中に含まれるBIOSのディレクトリを指定する必要がありますttyE0 のログイン画面になると思います
mikutter
Teokure-
@ や * などキーボード配列依存記号を使った場合ハマる場合ありtcsh になってますが、好みで chsh(1) で bash, zsh 等に切り替えてください
jwm が起動します
mlterm のウインドウのみが開きます
mlterm 上、あるいは jwm のメニューから firefox,
mikutter 等々がそのまま起動可能です
jwm を終了するとログアウトします
ibus-mozc ibus-anthy が入っていて
mozc がデフォルトになっていますpkg_add(1) で追加することは可能です)
firefox, mikutter 上では [CTRL] + [SPACE] で
ibus の日本語入力になります
kterm, mlterm 上でも
[CTRL] + [SPACE] で
XIM 経由での ibus の日本語入力になりますibus-setup を実行すると ibus 設定画面になります
LANG に従うように addon
等を設定してあるのでデフォルトで日本語設定で起動します
emacs 上では日本語入力として mozc.el
が使えるように .emacs で設定されています
anthy-elisp を使う設定もコメントアウトで .emacs に記述を残しています
emacs 設定詳細は
Ubuntu12.04 での Google日本語入力(mozc) の導入/設定、
anthy-elisp説明、
emacsメモ、
スクリーンショット(mozc)、
スクリーンショット(anthy)
などを参照してください
pkgsrc/editors/tamago を入れて
japanese-egg-anthy という手もありますがいまどき tamago なんて使うのはておくれだそうですsu して shutdown -p now
もしくは halt -p などのコマンドを手入力してエミュを終了もしくはマシンを落としてください
% setxkbmap -layout jp% setxkbmap -layout us% setxkbmap -option ctrl:swapcaps.xsession 内のコメントを外してください
% setxkbmap -option ""% xmodmap -e 'keycode 133 = backslash bar'su して
# wsconsctl -w encoding=jp# wsconsctl -w encoding=us.swapctrlcapssu して
/etc/wscons.conf に
encoding jp.swapctrlcapsxorg.conf(5)
を作成して Xkb 関連オプションに上記キー配列設定を書く必要がありますが詳しくはぐぐって調べてください
mikutter と打つか
jwm の application メニューで起動可能。
rtc_offset の設定が合っていない場合(マシン本体の時計はUTCになっているのに
Live Imageの設定が rtclocaltime=YES になっている場合など)は無言で認証に失敗することがあるので注意してください
lang-ja 付きで作ってあるのでメニューも日本語で出ます
pkg_add コマンドで追加インストール可能です
# pkg_add http://teokurebsd.org/netbsd/packages/`uname -p`/6.0.1_2013Q3/All/openoffice3rootのパスワードは設定していませんので
su でパスワード無しで root になれてしまいます
/etc/X11/xorg.conf 等の設定をチャレンジしてください
[CTRL]+[ALT]+[F1] でコンソールに切り替えが可能と思います
[CTRL]+[ALT]+[F5] で X画面に戻ると思います
afterboot(8)
(日本語訳テキスト)
の説明などを参照してください
/var/run/dmesg.boot
を確認して実際スピーカーのつながっているデバイス
(audio0, audio1など) に対して /dev/audio
のシンボリックリンクが張られるように手動で修正してください
aplay でサウンドが再生できない場合がある?
aplay がうまく動いていないっぽいです
sd0 と認識されない場合は root パーティションの mount で失敗する
/etc/rc.conf の中の rtclocaltime=YES
のコメントアウトを外すか UTC を返すようにエミュを設定してください
/etc/rc.conf の rtclocaltime=YES
をコメントアウトしてください
# sysctl -w kern.rtc_offset=0
などとすればOKです
/etc/X11/xorg.conf で Option "DRI" "0"
の行を追加してDRIを無効にすればとりあえず描画はされるようです
netbsd-6 のカーネルもオプションで入れておいた方が良い?
dhcpcd(8) は無線LANも接続に行ってしまうのでそれなりに何かを設定すべきかも……
“最近ではそのKnoppixLiveDVDの代わりに、@tsutsuii さんの ておくれLiveImage (USB)を使ってます。さすがにUSBはたいていついてるのでほぼ何も考えずにNetBSD(UNIX)が上がってくるのはレスキュー用としてとても助かります。”
“あとDVDでは出来ないけど、ておくれのほうはUSBなので書き換えできるのが(不便な面もあるかもですが)便利ですねー。何台ものPCで同じ操作をするためにxdm=NOにしたり、シェルスクリプトに書いておけばタイプ数も減らせるし、ずいぶん助かりました。(実話)”
工事中。このへんこだわりだすと best or nothing症候群に陥るのでぼちぼち書き足します……
lukemftp は必要かも
TOOLDIR を各環境に合わせて設定必要です
# env TOOLDIR=/usr/tools/i386 sh mkliveimage.sh usb i386
build.sh live-image の内容とほぼ同じです
pkg_add コマンドで各パッケージをインストール
# mount -r /dev/wd1a /mnt # mount -o async /dev/wd0a / # cd /mnt/packages # PKG_RCD_SCRIPTS=YES pkg_add \ bash tcsh zsh \ emacs \ medit \ firefox firefox-l10n gnash \ vlgothic-ttf ipafont \ kterm mlterm \ jwm \ ibus \ mozc-server mozc-tool ibus-mozc mozc-elisp \ alsa-utils alsa-plugins-oss \ scmgit-base \ ruby193-mikutter
fc-cache も事前に実行
# /usr/X11R7/bin/fc-cache
makemandb も事前に実行
# makemandb -q
useradd(8) コマンドを使用してユーザー作成
# useradd -m -u 100 -g users -s /usr/pkg/bin/tcsh -G wheel -p `pwhash Teokure-` -k /mnt/skel mikutter
% qemu-system-i386 -m 512 -hda liveimage-i386-emu-20130407.img -hdb setupliveimage-20130407.fs
# mount -r /dev/wd1a /mnt # sh /mnt/inst.sh : # halt -p
/etc以下の設定ファイルで変更しているもの/etc/fstab
/etc/rc.conf
dhcpcd のネットワーク設定追加/etc/ttys
console ではなく ttyE0 で getty 起動,
ttyE1~ttyE3 でも getty 起動)/etc 以下の設定ファイルで追加しているもの/etc/asound.conf
aplay 他の alsa の設定ファイル/etc/mk.conf
make 設定ファイル見本です/etc/skel 内のファイル)から変更しているものskel ディレクトリ中に各設定ファイルを置いて、
useradd(8) コマンドの -k オプションでそれらのファイルを指定するようにしてあります~/.cshrc
~/.profile
LANG と XAPPLRELDIR
のみの設定として、X上の日本語入力関連の環境変数は .xinitrc
および .xsession のみとしました~/.xinitrc
~/.xsession
~/.Xresources
LANG がダブってるのはなんとかしたいがどちらに入れるべきなのか~/.jwmrc
/usr/pkg/share/examples/jwm/system.jwmrc
から適当に日本語フォントその他の設定追加/usr/pkg/etc/jwm/system.jwmrc と適当に見比べてください~/.mlterm/font
~/.mlterm/main
ja_JP.UTF-8
がそれなりに出て vi でもそれなりに編集できるような設定を追加~/.emacs
~/.cvsrc
cvs(1) のデフォルトオプション設定で内容は man の推奨準拠ですja_JP.UTF-8 などの日本語になっていても手動で
インプットメソッドを明示的に選択する必要があるようなのですが、
ibus で Anthy
をシステムのデフォルトにする設定
をおばたさんに教えていただきました。ありがとうございます。"[anthy]" の値のところを "[mozc-jp,anthy]" にすればよいようです/usr/pkg/lib/firefox/defaults/preferences に
firefox-local.js
の設定ファイルをコピー/usr/pkg 以下に手動コピーしているので、
pkg_delete で firefox 関連を削除する際には先にこのファイルを手動で削除しておく必要があります
~/.mikutter/plugin/ に
これ
が入ってます
dd(1) で手動で削ってるだけだったり
fstab(5) 中のディスク名 (wd0 or sd0)
rc.conf(5) 中の rtclocaltime=YES 設定有無
「インストールしたあとどうすればいいの?」という基本に立ち返り、 ておくれLive Image作成に限らず sysinstでのインストール後の環境構築にも使える「Live Image相当環境構築」のためのファイル一式を含んだファイルシステムイメージです。 amd64 および i386 用ですが、バイナリパッケージを用意すれば他のポートでも共通で使えると思います。
/etc 以下の設定ファイル
useradd(8) でのユーザー用各設定dotファイル一式
/etc 以下の設定ファイルをコピー
getty(8)設定を変更した /etc/ttys
/etc/fonts/local.conf
/etc/mk.conf
firefox-local.js
をコピー
/etc/rc.conf に以下の設定を追加
wscons=YES xdm=YES
/etc/rc.conf に以下の設定を追加
(割とテキトーなので注意)
dbus=YES hal=YES avahidaemon=NO nasd=NO
asound.conf
fc-cache(8) を実行
(USBメモリ上だと遅かったりするので)
makemandb(8) を実行
(これもcronで裏で動いて遅かったりするので)
useradd(8) でユーザーを作成dd もしくは
Rawrite32 等で 1GB以上のUSBメモリに書き込んでください
/mnt 以下にマウントmount /dev/sd0a /mnt
mount /dev/wd1a /mnt
/mnt/inst.sh の中の USER と PASSWORD
の行を適当に編集xdm を起動したくないとかカスタマイズしたければそれも適当に編集
# sh /mnt/inst.sh
上記の設定イメージを使えば個別のイメージはシェルスクリプト一発で作成できるのですが、このページで配布しているように i386 USB版、i386 エミュ版、i386 VirtualBox版、amd64 USB版と4つも順に手動で作るのがめんどくさくなったので、 20130407版からは qemu起動後に qemu内部でのコマンド実行も不要な 全自動イメージ作成テキトースクリプト を書いて使っています。
特に難しいことをしているわけではありませんが、気が向いたらそのうちまた説明書きます。(適当でスイマセン)
cvs checkout したものからバイナリを作成
pkg_add(1) で追加することは可能です
/tmp が従来 mfs になっていたのを tmpfs に変更
.vdi の生成を
NHC から
openSUSE用 VBoxManage バイナリ
を使用するように変更
cvs checkout したものからバイナリを作成
cvs checkout したものからバイナリを作成
~/.emacs に mozc.el 用の設定を追加して Anthy の設定をコメントアウト
cvs checkout したものからバイナリを作成
/etc/mk.conf ファイルを追加
~/.cshrc および ~/.profile に
PERLの LANG=ja_JP.UTF-8 に対する警告抑制のため PERL_BADLANG=0 を追加
~/.cvsrc を追加
cvs checkout したものをそのまま使用
cvs checkout したものをそのまま使用
zsh のほか、
git (scmgit-base),
subversion (subversion-base) を追加
cvs checkout したものをそのまま使用
makemandb(8) を事前実行するようにイメージ作成スクリプトを修正
cvs checkout したものをそのまま使用
pkgsrc/editors/medit を追加
/etc/fonts/local.conf を削除
.jwmrc の gkrellm の起動設定をコメントアウト
.jwmrc
の設定を更新してタスクバー(?)などのフォントサイズ等も見直し
.cshrc, .profile の skel ファイルを
6.0 ベースに更新 (設定内容は従来とほぼ等価)
.xsession 等の環境変数設定も ibus 用に変更
.cshrc および .profile から
XMODIFIERS, GTK_IM_MODULE の X上の日本語入力用環境変数を削除
.xsession
の設定で動いてるっぽいので
mlterm の設定で not_use_unicode_font=true
を指定して日本語フォントに非UTF-8のビットマップフォントを使うように変更
.vdi エミュイメージを追加
.vhd イメージを追加しました
.cshrc, .xsession
他のファイルに ibus 関連の設定をコメントアウトで追加
ttyE1~ttypE3 でも getty(8) を有効に
wip/mikutter-snapshot
ベースの 0.0.4.571 に
.emacs を追加
.xsession にキーマップ入れ替えコマンドをコメントアウトで追加
rc.conf で一部 packages の rc.d(8)
設定が足りていなかったのを追加
.jwmrc で余計な環境変数設定があったのを削除
/etc/fonts/local.conf に残ってた関係ない RCS Id を削除
anthy-elisp を追加
PKG_RCD_SCRIPTS=YES を指定
/etc/rc.conf
dbus, hal の起動設定を追加
rtcoffset の設定が間違っていたのを修正
~/.cshrc, ~/.xsession 他の設定を修正
~/.mlterm/ 以下に ja_JP.UTF-8
の日本語がそれなりに出るような設定を適当に追加
~/.Xresources に kterm と
emacs の設定を適当に追加
~/.jwmrc でスタートボタンと時計のフォントが
LANG=ja_JP.UTF-8 の場合も意図通りに出るよう明示的に指定