No Such Blog or Diary
Gentoo 2-Way Boot (native & coLinux)
- 2005-04-06 (Wed)
- ソフトウェア ( Linux/coLinux Windows )
なんとなくデュアルブート用にインストールした Gentoo を coLinux で起動してみたくなった.これができると 2-Way Boot で結構便利なので.
で,そのためには coLinux の設定XMLを書かなければならないのだが,Windows のディスクナンバーとパーティションナンバーの管理の仕方が良く分からず苦戦.diskpart コマンドの返すディスクナンバーと,同パーティションナンバーからもずれているらしい.最終的に ,hda7, hda8 が /, swap である私の PC では次のような設定になった.まあ,ext3 のパーティションは一個しかないから全パターン試して起動したのが正解であっただけだけど.
<?xml version="1.0" encoding="UTF-8"?> <colinux> <block_device index="0" alias="hda7" path="\Device\Harddisk0\Partition4" enabled="true" /> <block_device index="1" alias="hda8" path="\Device\Harddisk0\Partition5" enabled="true" /> <bootparams>root=/dev/hda7</bootparams> <initrd path="initrd.gz" /> <image path="vmlinux" /> <memory size="256" /> <network index="0" type="tap" /> <block_device index="2" alias="hdc" path="\Device\Cdrom0" enabled="true" /> </colinux>
(hda2 が拡張領域で hda3,4 が存在していないので,その分を引いた数がパーティション番号になるのかな?)
とりあえず,起動時に coLinux でサポートしていない機能に関して文句を言われるが,
ログイン画面が立ち上がったので今日のところはよしとしよう.
- Comments: 0
- TrackBack (Close): -
P2P通信技術 Bittorrent を試す
- 2005-04-05 (Tue)
- ソフトウェア ( Linux/coLinux )
Gentoo の GRP インストールのために packages CD がほしいのだけど,http/ftp ではダウンロードできず Bittorrent を利用しなければならない.ということで,Bittorrent のクライアントである BitComet をダウンロードして使ってみた.
660M の ISO イメージのダウンロードをしてみたが,平均で 470KB/s 程度とそれなりに使えるものらしい.P2P というと 某MX/NY のおかげでグレーなイメージがあるけれど,このような巨大ファイルの配布にはサーバの負荷を分散できていいなぁ.やっぱ技術(ソフト)は使い方を考えて使わないといかんね.
さて,明日にでも「昨日P2Pソフトで600Mのファイルをダウンロードしたよ」と会話を振って周りの反応を見てみよう.
- Comments: 0
- TrackBack (Close): -
Installation of coLinux with Gentoo(3)
- 2005-04-05 (Tue)
- ソフトウェア ( Linux/coLinux Windows )
続いて GNOME と GDM の設定をする.
とりあえず emerge する.
emerge -k gnome emerge -k gdm
GNOMEの設定は特に無いのでGDMの設定をする.
DIsplayManager として GDM を使うように /etc/rc.conf を修正
DISPLAYMANAGER="gdm"
次いで GDM の設定ファイル /etc/X11/gdm/gdm.conf を修正.ここでは必要な部分のみを示す(Xvfb へのサーバ変更と VirtualTerminal割り当てをしないのと XDMMCPの使用).
[daemon] StandardXServer=/usr/X11R6/bin/Xvfb VTAllocation=false [xdmcp] Enable=true [server-Standard] command=/usr/X11R6/bin/Xvfb [server-Terminal] command=/usr/X11R6/bin/Xvfb -terminate [server-Chooser] command=/usr/X11R6/bin/Xvfb
以上で GNOME + GDM に置き換わっているはずである.VNC で接続すれば XDM の変わりに GDM が起動する.(ちなみに,GDM をデーモンとして起動するためにはXDMの起動スクリプトを使う.なので, rc-update add xdm default を実行してあれば GDM がデーモンとして起動される.)
ところで,GNOME の起動時に xscreensaver が無いと文句を言われるが,xscreensaver の emerge で
emerge -k xscreensaver ... media-libs/svgalib-1.9.19-r3 !!! ERROR: media-libs/svgalib-1.9.19-r3 failed. !!! Function kernel-mod_configoption_builtin, Line 114, Exitcode 1 !!! kernel has not been configured yet !!! If you need support, post the topmost build error, NOT this status message.
のように文句を言われるため,今のところ仕方が無い.後で考える.同様の理由で KDE も emerge できないのだが,これも後で考える.
次は KDE が入ったらいいなぁ.
- Comments: 0
- TrackBack (Close): -
Installation of coLinux with Gentoo(2)
- 2005-04-04 (Mon)
- ソフトウェア ( Linux/coLinux Windows )
続いて X の設定をする.今回は VNC で接続する形をとる.
設定に当たっては以下を参考にした.
http://www.gentoo.org/doc/ja/colinux-howto.xml
まず,/etc/make.conf の USE に少々追加
alsa canna cjk emacs java mozilla mule ruby unicode usb xface
WMに IceWM を使うとして X 関係を emerge する.
emerge -k xorg-x11 emerge -k icewm emerge -k kterm emerge -k mozilla
次いで,vnc と xinetd を emerge (VNC への接続を xinetd で管理する)
emerge -k tightvnc emerge -k xinetd rc-update add xinetd default
そして,日本語関係を emerge する.
emerge -k canna kinput2 rc-update add canna default emerge -k kochi-substitute shinonome monafont mplus-fonts aquafont aquapfont mikachan-font
必要なものの emerge が終わったので,設定に入る.
まず,VNC が X のスタートアップに使う ~/.vnc/xstartup に以下を書き込む.
if [ -x /usr/X11R6/bin/kinput2 ] ; then /usr/X11R6/bin/kinput2 -canna & XMODIFIERS="@im=kinput2" export XMODIFIERS fi export LANG="ja_JP.UTF8" exec icewm-session
そして,vnc 単体で起動したときと xdm を使ったときで同じ振る舞いをするように
ln -s ~/.vnc/xstartup ~/.xsession
でリンクを張っておく.
次にフォントサーバ Xfs の設定をする.まず,常時起動にする.
rc-update add xfs default
次にフォントパスの指定をする.編集するファイルは /etx/X11/fs/config で,以下を行う.
tcpを使いたいのでコメントアウト # no tcp, use sockets! # no-listen = tcp catalogue に追加 /usr/share/fonts/shinonome, /usr/share/fonts/monafont, /usr/share/fonts/mplus, /usr/share/fonts/aquafont, /usr/share/fonts/aquapfont, /usr/share/fonts/mikachan-font,
さらに,Xfs のポート設定をするために /etc/conf.d/xfs の書き換えをする.
XFS_PORT="7100"
以上の設定が正しいかどうかは,/etc/init.d/xfs start したあとに
xfsinfo -server localhost:7100
で正しい応答が示されればいい.
ここまでの設定で,手動でVNCサーバを立ち上げれば接続できるようになっているはず.VNCサーバの立ち上げは以下のコマンドでできる.
vncserver :1 -depth 24 -geometry 1024x768 -compatiblekbd -fp tcp/localhost:7100
そして,ホストOS の方から VNCclient で hogehoge:1 に接続すれば X が起動する.
続いて,一々ログインして手動で VNCserver を起動しなくてもいいように xinetd の設定をする.
まずはVNC接続をサービスに登録するため, /etc/services に以下を追加.
vnc-1024x768x24 5950/tcp # vnc server vnc-1280x1024x24 5960/tcp # vnc server
これは,画面の解像度などに応じてポート 5900 以上に適当にエントリを作る.このポート番号から 5900 を引いたものがVNCのディスプレイ番号になる.なので,上の設定は 50 番で XGA, 60番で SXGA となる.
続いて,xinetd の設定ファイルを追加する.設定ファイルは画面サイズごとに作る(正確にはサービスごとに).
/etc/xinetd.d/vnc-1024x768x24 を以下のとおり作る.
service vnc-1024x768x24 { disable = no socket_type = stream wait = no only_from = 192.168.0.0 user = nobody server = /usr/bin/Xvnc server_args = -inetd -query localhost -once -compatiblekbd -depth 24 -geometry 1024x768 -fp tcp/localhost:7100 log_on_failure += USERID }
同様に /etc/xinetd.d/vnc-1280x1024x24 を以下のとおり作る.
service vnc-1280x1024x24 { disable = no socket_type = stream wait = no only_from = 192.168.0.0 user = nobody server = /usr/bin/Xvnc server_args = -inetd -query localhost -once -compatiblekbd -depth 24 -geometry 1280x1024 -fp tcp/localhost:7100 log_on_failure += USERID }
最後に,xinetd を常時起動にして xinetd の設定終了.
rc-update add xinetd default
次に,ディスプレイマネージャ(GUIのログイン処理) XDM の設定をする.
作業としては以下のとおり.
/etc/X11/xdm/Xservers のサーバを Xvfb に変更 /etc/X11/xdm/Xaccess の * で始まる行のコメントアウトはずす(上から二つ) /etc/X11/xdm/xdm-config の最後の行(requestPort)をコメントアウト
/etc/init.d/xdm start として立ち上げてみて,
外部から vnc でつなげてログイン画面がでることを確認してから常時起動の設定をする.
rc-update add xdm default
ちなみに,Xサーバの設定が間違っているとGentoo全体が立ち上がらなくなる可能性あり.
そうなったら gentoo.colinux.xmlでシングルユーザモードにして立ち上げて修正する.
<bootparams>root=/dev/cobd0 single</bootparams>
ちなみに,Windows 側の VNC としては Gentoo も使っている tightvnc のほか,
それの改良版(?)である UltraVNC やオリジナルの系統である RealVNCがある.
とりあえず,Gentoo にあわせて tightvnc をダウンロードしてインストールし,hogehoge:50 に接続すると XGA のログイン画面が現れ,ログインすると IceWM が起動することが確認できる.
次は GNOME と GDM へ.
- Comments: 0
- TrackBack (Close): -
Installation of coLinux with Gentoo
- 2005-04-02 (Sat)
- ソフトウェア ( Linux/coLinux Windows )
突然 coLinux を使ってみたくなってインストールしたので,その記録を残してみる.
まずはhttp://www.colinux.org/ から 0.6.2 のインストーラ(coLinux-0.6.2.exe)をダウンロード.そして, インストーラを実行して適当なディレクトリにインストール(例えばN:\coLinux).インストールオプションは,WinPcap は使う予定が無いのでチェックをはずして,さらに Gentoo をインストールするのでルートイメージのダウンロードはしない.Gentoo のルートイメージは別途 Wiki からたどってダウンロード.ルートイメージをcoLinuxのインストールディレクトリにでも展開する.
ちなみに解凍されるルートイメージは 512M なので,/usr なども同一イメージ上に作成するのであれば topo\topoenlarge.bat を使って適当にサイズを大きくする(4Gぐらいほしいなぁ).別のイメージを用意するならば,cygwin の dd とかで適当なサイズのファイルを作っておく(フォーマットはマウント後に普通にやればいい).
で,以下のような感じで設定ファイル gentoo.colinux.xml を書いて保存.
<?xml version="1.0" encoding="UTF-8"?> <colinux> <block_device index="0" path="\DosDevices\n:\coLinux\gentoo512" enabled="true" /> <block_device index="1" path="\DosDevices\n:\coLinux\swap64" enabled="true" /> <bootparams>root=/dev/cobd0</bootparams> <initrd path="initrd.gz" /> <image path="vmlinux" /> <memory size="256" /> <network index="0" type="tap" /> <block_device index="2" alias="hdc" path="\Device\Cdrom0" enabled="true" /> </colinux>
起動は以下のコマンドで行う(バッチファイルでも書いて置けば楽).
colinux-daemon.exe -t nt -c gentoo.colinux.xml
あと,coLinux 側からネットワークを使うため,ホストPCのネットワークインターフェースとcoLinux の TAP ドライバをブリッジ接続しておく.
引き続きGentoo側の設定をする.
まず,portage のスナップショットを取ってくる(emerge sync でもいいけど).そのために,とりあえず手動でネットワークの設定をしておく(DHCP がイメージに入っていないので).
ifconfig eth0 192.168.0.4 netmask 255.255.255.0 ifconfig eth0 up route add default gw 192.168.0.1 wget ftp://ftp.isu.edu.tw/pub/Linux/Gentoo/snapshots/portage-yyyymmdd.tar.bz2 tar -xvjf portage-yyyymmdd.tar.bz2 -C /usr
この作業は大量の画面出力を伴うが, coLinux のコンソールの挙動がおかしいので最後の tar コマンドは /dev/null へリダイレクトしておいたほうが無難かも.
次に,swap パーティションを大きくする.適当に大きなサイズ,ここでは512メガのファイルを swap512 という名前で手適当に作って(cygwin の dd コマンドで十分)
<block_device index=\"2\" path=\"\DosDevices\n:\coLinux\swap512\" enabled=\"true\" />
の行を gentoo.colinux.xml に追加してマウントできるようにし,gentoo のほうで
mkswap /dev/cobd/2
を実行して swap 用にする.そして, gentoo.colinux.xml を書き換えて
<block_device index="1" path="\DosDevices\n:\coLinux\swap512" enabled="true" />
にする.これで swap パーティションの切り替え終了.
あとは基本的に Gentoo のインストールに従うだけでしょう.http://www.gentoo.org/doc/ja/gentoo-x86-install.xmlの「13. ステージ3から始める場合」以降からで.
ホスト名の設定
echo hogehoge > /etc/hostname
タイムゾーン設定
ln -sf /usr/share/zoneinfo/Japan /etc/localtime
システムロガーとCronのインストール
emerge -k syslog-ng rc-update add syslog-ng default emerge -k vixie-cron rc-update add vixie-cron default
ルートパスワード設定
passwd
ネットワーク設定
/etc/conf.d/net で eth0 を dhcp にして gateway の設定もなくすDHCPを使うので dhcpcd を入れて自動で立ち上げるように設定
emerge -k dhcpcd rc-update add net.eth0 default
SSHを常時使用に
rc-update add sshd default
その他に必要なものとして, screen, vi は必須なので入れておく.
emerge -k screen emerge -k vim
次は X の設定で.
- Comments: 0
- TrackBack (Close): -
RMagick Compilation on Cygwin Failed...
Cygwin 上の ruby に RMagick をインストールしようとしたら
checking for InitializeMagick in -lMagick... no configure: error: Can't install RMagick. Can't find libMagick
と怒られた.いや,libMagick-devel 入れてるし /usr/lib/libMagick.a あるし.ということで config.log を見てみると...
/usr/lib/gcc-lib/i686-pc-cygwin/3.3.3/../../../../i686-pc-cygwin/bin/ld: cannot find -lxml2
をい,libxml2 が見つからないんじゃんと.何でこんなオプション(-lxml2)がここで付いているのか不明だが,これもちゃんとチェックしとけよ configure .とりあえず libxml2-devel をインストールしてやったら ./configure がちゃんととおりましたとさ.
次は make で.C のコンパイルは成功してちゃんと shared library ができたらしい.が,その後のテストで RMagick.so のロードに失敗したと文句を吐きまくる.Cygwin で shared library って特別な作り方が必要だっけ? とりあえず面倒なので gem でのバイナリインストールに切り替える.gen 自身が入っていなかったので落としてきて(RubyGems)インストール
ruby setup.rb
続いて RMagick のバイナリアーカイブを解答して gem でインストール
gem install RMagick-win32-1.7.0-mswin32.gem
よし,動くだろう.ということで
ruby -e 'require "RMagick"' /usr/lib/ruby/site_ruby/1.8/i386-cygwin/RMagick.so: dlopen, Win32 error 126 - /usr/lib/ruby/site_ruby/1.8/i386-cygwin/RMagick.so (LoadError) from /usr/lib/ruby/site_ruby/1.8/RMagick.rb:11 from -e:1:in `require' from -e:1
ダメじゃん.
今日は日が悪いらしいのでまた今度にしよ
- Comments: 0
- TrackBack (Close): -