FrontPage
CrazyCozy.com
其ハ己ガ為ノ刃ニ非ズ
タダ牙無キ者ノ為タレ
2008-2-5
kubuntu 7.10
お久しぶりです。
さて、今回はVirtualPC 2007にkubuntuをインストールした際のお話。
何かと話題のUbuntuですが、デスクトップマネージャがGnomeなのが俺には宗教上合わないので、標準でKDEが採用されているKubuntuをテストしてみることにした。
まず、VirtualPCにここ最近のLinuxを入れる際のお約束、画面の表示とマウス問題の解決。画面問題はVirtualPC側の描画の問題で、マウスは2.6.20以降のカーネルのLinuxをインストールしようとすると起こるみたい。
以下、備忘録。
インストールメニューが表示されたら [F4] "800x600x16" を指定。
「セーフグラフィックスモードでkubuntuを起動」を選択した状態で [F6] 、起動オプションの編集。"quiet" と "splash" を削除。さらに、末尾に "i8042.noloop" を追加する。
これでインストール時に問題なくマウスも認識される。
次、インストール後、ターミナルで設定ファイル変更。
# sudo vi /boot/grub/menu.lst
kernel行末尾にi8042.noloopを追記。
完了。
が、ネットワークが認識しない…。
/etc/network/interfacesにIPアドレスなどを記述してもうまくいかない。
VirtualPC上でのネットワーク接続は結構鬼門なんで、さてどうしたものかと思ったけど、開き直ってDHCPでIPを取得するように変更。
うまくいった。
ubuntuに比べドキュメント類が少ないkbuntuですが、もうちょっとさわってみたいと思います。
2007-12-17
玄箱をDebian化
ここ最近ずっと放置になっていたのは実はVine化していた玄箱をDebian化していたのです。
まず、なぜ時間がかかったのかと言えば、何よりセットアップにまず躓いたことが上げられます。
玄箱のDebian化には、Vine化の場合と同じように玄箱用にカスタマイズしてあるDebianのパッケージ(http://kuro.dsk.jp/を使わせていただきました)を玄箱に転送する方法になるのですが、なかなかうまくできなかったのです。
まず、一番簡単な方法としてあった、玄箱のオフィシャルのセットアッププログラム内のimage.zipというファイルをDebianのものに差し替えてセットアッププログラムを走らせる方法。
これは、エラーばかりになってしまい、うまくセットアッププログラムが回らなかった。
次にとった方法であり、今回うまく行った方法は、玄箱のフラッシュロムにログインし、HDDのフォーマット、マウントを行い、HDDにDebianを展開するというもの。
実際、後からわかったこととして、上記の玄箱のオフィシャルのセットアッププログラムも動作としてはHDDのフォーマット、マウント、ファイルの転送、展開ということを行っていたので、それを手動で行ったという形になる。
フラッシュロムの中にはHDDのフォーマット、マウントまでを行うシェルスクリプトがありました。
/sbin/mkfilesystem.sh
この方法で無事、Debian化できたものの、問題としてパッケージとして採用したDebianのバージョンが古く(woody)、最新の状態(etch)にするのに安易にapt-getを行ってしまい、またエラーをたくさん表示される羽目になってしまう。
何も考えずにまずaptのソースファイルのwoodyの部分をstableに変更し、apt-get updateやapt-get dist-upgradeを行ってしまい、いくつかのパッケージにおいてエラーをはき、一時は問題がループするところまでいきました。
設定後、最低限必要なsambaのインストールを行うも、日本語表示周りでうまくいかず、最新版にパッチのあてたライブラリを使い、makeする羽目にもなりました。
(玄箱/HGでsambaをmakeするとおよそ1時間かかります)
しかも、これも何度かトライしても文字コードの問題が解決できず、現在は問題なく表示できているものの、何をしたからうまくいったか皆目見当が付かないほどです。
行った処理や打ち込んだコマンドが膨大で、もうすでに記憶の彼方なので、備忘録も残せない始末。
ただ、Vine化の場合と違い、バージョンアップなどは比較的容易なのと、Vineよりも使えるソフトが多いという点で今回のDebian化は行ってよかったです。
ちなにみ、以前のエントリで書いた、USBの問題はDebian化の場合は何も設定しなくても動作しています。
2007-11-23
玄箱にUSB HDDを接続 2
前回は玄箱/HGのフロントにあるUSBポートに接続したが、今回は玄箱(無印)のほうでリアパネルにあるHDDに接続した場合を試してみる。
結論的には前回の方法ではうまくいかず、
http://pc.watch.impress.co.jp/docs/2004/0317/pclabo23.htm
の記述を参考にさせていただいている、こちらはノーマルの玄箱での設定だったので、今回使用している玄箱もVine Linux 3.1化済みのものなので、その点読み替えていくことにした。
% dmesg | less
にUSB関係の行がない。
% ls /proc/bus
pci
USBのドライバがロードされていない模様。
とりあえず、手動でロード。
% modprobe ehci-hcd
% modprobe usb-storage
% lsmod
Module Size Used by Not tainted
usb-storage 27592 1
usb-ohci 22576 0 (unused)
usbcore 79116 0 [usb-storage usb-ohci]
sd_mod 13756 2 (autoclean)
scsi_mod 71584 2 (autoclean) [usb-storage sd_mod]
% mount -t usbfs none /proc/bus/usb
% mount
/dev/hda1 on / type ext3 (rw,noatime,errors=remount-ro)
proc on /proc type proc (rw)
none on /dev/shm type tmpfs (rw)
none on /dev/pts type devpts (rw,gid=5,mode=20)
/dev/hda3 on /mnt type ext3 (rw,noatime)
/dev/sda1 on /mnt/sda1 type ext3 (rw,noatime)
これでパーティションが見えるので、fdiskを行う。
% fdisk /dev/sda
作業内容は前回と同じなので省略
% mkdir /mnt/sda1
% mount /dev/sda1 /mnt/sda1/
% vi /etc/fstab
これも同様なので省略。
% vi /etc/samba/smb.conf
sambaの設定も上記と同様なので省略。
% chmod 777 /mnt/sda1
で、ここまでで問題なくコンソールからも別のマシンからも認識できるはずだけど、一度電源を落とすとまた、USB HDDを認識してくれなくなるので、それを自動化する仕組みを仕込まなくてはいけない。
Hot Plug/Hot Unplugの管理をするツールでmurasakiというものがあるので、それで設定することに。
% apt-get install murasaki
パッケージリストを読みこんでいます... 完了
依存情報ツリーを作成しています... 完了
以下のパッケージが新たにインストールされます:
murasaki
アップグレード: 0 個, 新規インストール: 1 個, 削除: 0 個, 保留: 0 個
74.8kB のアーカイブを取得する必要があります。
展開後に 258kB のディスク容量が追加消費されます。
取得:1 http://updates.vinelinux.org 3.1/ppc/main murasaki 0.8.9-0vl2 [74.8kB]
74.8kB を 20s 秒で取得しました (3621B/s)
変更を適用しています...
Preparing... ########################################### [100%]
1:murasaki ########################################### [100%]
完了
% cd /etc/rc.d/rc2.d
% ln -s ../init.d/murasaki S01murasaki
/bin/ls: ../init.d/murasaki: そのようなファイルやディレクトリはありません
/bin/ls: S01murasaki: そのようなファイルやディレクトリはありません
あれ?ないぞ。
% ls -l
合計 0
lrwxrwxrwx 1 root root 13 Aug 6 21:54 K05atd -> ../init.d/atd*
lrwxrwxrwx 1 root root 19 Aug 6 21:54 K05saslauthd -> ../init.d/saslauthd*
lrwxrwxrwx 1 root root 15 Oct 30 06:19 K15httpd -> ../init.d/httpd*
lrwxrwxrwx 1 root root 18 Aug 6 21:54 K34dhcrelay -> ../init.d/dhcrelay*
lrwxrwxrwx 1 root root 15 Aug 6 21:54 K35dhcpd -> ../init.d/dhcpd*
lrwxrwxrwx 1 root root 13 Aug 6 21:54 K35smb -> ../init.d/smb*
lrwxrwxrwx 1 root root 17 Aug 6 21:54 K35winbind -> ../init.d/winbind*
lrwxrwxrwx 1 root root 20 Aug 6 21:54 K44rawdevices -> ../init.d/rawdevices*
lrwxrwxrwx 1 root root 15 Aug 6 21:54 K45named -> ../init.d/named*
lrwxrwxrwx 1 root root 14 Aug 6 21:54 K50inet -> ../init.d/inet*
lrwxrwxrwx 1 root root 14 Aug 6 21:54 K74nscd -> ../init.d/nscd*
lrwxrwxrwx 1 root root 14 Aug 6 21:54 K74ntpd -> ../init.d/ntpd*
lrwxrwxrwx 1 root root 15 Aug 6 21:54 K75netfs -> ../init.d/netfs*
lrwxrwxrwx 1 root root 18 Nov 23 14:17 K99murasaki -> ../init.d/murasaki*
lrwxrwxrwx 1 root root 17 Aug 6 21:54 S10network -> ../init.d/network*
lrwxrwxrwx 1 root root 16 Aug 6 21:54 S12syslog -> ../init.d/syslog*
lrwxrwxrwx 1 root root 16 Aug 6 21:54 S20random -> ../init.d/random*
lrwxrwxrwx 1 root root 19 Aug 6 21:56 S30ppc_uartd -> ../init.d/ppc_uartd*
lrwxrwxrwx 1 root root 14 Aug 6 22:57 S55sshd -> ../init.d/sshd*
lrwxrwxrwx 1 root root 18 Aug 6 21:54 S75keytable -> ../init.d/keytable*
lrwxrwxrwx 1 root root 15 Aug 6 21:54 S90crond -> ../init.d/crond*
lrwxrwxrwx 1 root root 11 Aug 6 21:54 S99local -> ../rc.local*
S01murasakiではなくてK99murasakiなのか。
設定するまでもなく、/init.d/murasakiに向いているのでこのまま。
% cd /etc/murasaki
次に、USBのPlug/UnPlugが発生したときに、USB HDDのマウント/アンマウントを行なうスクリプトを仕込む
% vi murasaki.call
[net]: net
[usb]: mount.sh
[firmware]: firmware
[block]: block
mount.shというシェルスクリプトを呼び出すように記述
で、murasakiを使ってHot Plug/Hot Unplugを行なう際に必要となるドライバを、あらかじめロードするために以下のファイルを作成する。
% vi murasaki.preload
ehci-hcd
usb-storage
% cd bin
-bash: cd: bin: そのようなファイルやディレクトリはありません
あれ?
ないのか、じゃあ作っちゃえ。
% mkdir bin
さきほど指定だけ作ったシェルスクリプトの本体を作る
% vi mount.sh
#!/bin/sh
case "$1" in
start)
/bin/mount /mnt/sda1
;;
stop)
/bin/umount /mnt/sda1
;;
esac
作ったスクリプトに実行モードをつけておく
% chmod +x mount.sh
で、玄箱を再起動。
問題なく認識できていれば完了。
938