Personal tools
You are here: Home Wiki CoLinux
FrontPage >>

CoLinux

Document Actions
last edited 7 years ago by jack

インストールのログ(悪戦苦闘ともいう)は CoLinuxLog にあります

  • coLinux とはなんですか

    Windows(XP/2000)上で動くLinux のカーネルです。そのため、Windows のネイティブアプリとして、Linux のそのものが動作します

  • なにがいいんですか

    個人的には、ノートPCに、Windows と Linux の両方を入れておけること、そして、**同時**に立ちあげておけることが素晴しくいいです。自宅では二台(以上)動かしっぱなしにして、CPU switcher で切りかえることもできますが、流浪のモバイラ〜となっている現在では、二台持ちはこぶことは無理ですし

  • ノートでも、パーティション切って入れておけると思いますが

    **同時**に使用できることです。パーティション切って入れた場合、切り替えは早くても2分くらいかかりませんか?

    ただ、難点もいくらでも挙げられますけど(^^;;

  • 難点はなんですか
    • 設定がわかりづらい。特にネットワーク

      3ヶ月程度使ってますが、XP なら TAP + NAT がいいです。まぁ、ノートなので、母艦以外からアクセスさせることを考えなくてもいいというワリキリが前提ですが

      また、Debian 初使用だったので、そっちでひっかかった時間も多かったです。いまは Fedora Core 3 ベースにしました。こっちのほうが慣れてていいです

    • X がネイティブでない

      それだけではなく、cygwin は必須だと思ったほうがいいです

      cygwin X よりは Xvnc + UltraVNC のほうがパフォーマンスやカスタマイズ性はよいと個人的には感じます

    • 0.6.1 と 0.6.2 が続き番号なのに全然連続性がない

      TAP デバイスの ver. も違うので、同時に使えません。2.4 は捨てさることになってしまいました・・・

    思いつくのはこんなとこかな・・・

  • ネットワークと Xは致命的じゃないですか

    ネットワークはなんとかなりました。X は vnc に頼ってますが、現実的な速度で使えます。この文章も、データセンタのPlone を母艦経由で coLinux の Xvnc(+ Windowsの UltraVNC)で表示している Firefox 1.0 から external Editor で emacsclient で書いてますが、違和感も遅さもありません

    逆に、Windows で IE, Mozilla、Linux で Firefox なんてのの見栄えをチェックするには最高ですよ

  • 遅くないですか

    母艦のメモリは最低512MBでしょう。そのうえ、WindowsXP の設定をいじってなるべく軽くする必要があると思います。私は768ですが、同時使用時に重いアプリをうごかしまくったりしなければそんなにひどく遅い感じはありません

  • 使ってみたくなりました。慣れてる Fedora がいいです

    http://www.geocities.co.jp/SiliconValley/1596/coLinux/colinux.html

    がとっても参考になるでしょう、というか、スバラしいデス。これで一発インストールです。

    ただし、cygwin で X も入れておく必要があります。最初に system-config-package するときにあったほうが楽です

    わたしの環境ではちゃんと動きませんでしたが、充分に参考になってホント、たすかりました。動かなかったのは、私がすでにいろいろ入れていて、手も入れてたせいだと思います。ssh のとこをみて、これは通らないなと思いました。cygwin で ssh の設定をほとんどしてない状態であることが必須のスクリプトかなぁ、と思いました

  • 2GB だとすぐうまってしまうのですがどうしましょ

    Fedora でいろいろ入れてると2GBなんてすぐですね。

    expand は難しそうなのであきらめて、別のファイルを root fs にすることにしました。

    • まず、cygwin で5GBのファイルを作ります。ただ、cygwin は bc のためだけに使っているので、コマンドそのものは cmd でも実行できます

      $ fsutil file createnew rootfs5.fs `echo ’1024*1024*1024*5’ | bc`

    • conf.xml に項目追加

      <block_device index="2" path="\DosDevices\v:\colinux\rootfs5.fs" enabled="true">
      </block_device>
      あっしはblock_device を閉じわすれました(^^;;

    • coLinux を再起動
      • mkfs.ext3 /dev/cobd2

        ext3以外がよければそうしてください。

      • mount /dev/cobd2 /mnt
      • cd / ; find [a-lnoq-z]* | cpio -pdum /mnt
      • cd mnt; mkdir mnt proc
      • shutdown -h now
    • conf.xml を編集します

      block_device の "0" と "2" を交換しましょう

    • coLinux を起動すれば、あたらしい root fs になっているはずです(この場合5GB)
  • swap がない・・・
    • ファイルを作りましょう(とりあえず512MB)

      $ fsutil file createnew swap.fs `echo ’1024*1024*512’ | bc`

    • conf.xml に項目追加

      <block_device index="1" path="\DosDevices\v:\colinux\swap.fs" enabled="true">
      </block_device>

    • coLinux を起動して、mkswap /dev/cobd1 したあと、/etc/fstab を編集

      /dev/cobd1 none swap sw 0 0 という行を追加する

  • 突然ネットワークが動かなくなりました

    それはわたしのように、少しでも軽くしようとして、Windowsのサービスのうち、Routing を止めませんでしたか?winpcap の場合は、routing サービスは不要ですが、TAPの場合は必要です。

  • でもさらにネットワークでハマります

    そう思います。あなたのPC も、無線、有線両方内蔵で、しかも両方場合分けして使うんではないでしょうか。

    • 無線なら TAP でないとうまくいきません

      適当なIP を設定して、TAPデバイスを上げときましょう。無線でブリッジはうまくいかないことが多いので、外からcoLinux が見えませんが、共有でやりましょう。そんなにしょっちゅう環境がかわるならモバイルってことですよね?まぁ、見えなくてもいいじゃないですか・・・

    • 有線なら winpcap がお手軽です。

      インストールしてください。coLinux もDHCPクライアントとして動作させるとさらにお手軽です(DHCP環境の場合だけですが)

  • コマンドラインから毎回入力するのは面倒だし、ネットワークの設定とか、片方は固定で片方はDHCPだったりすると、起動時に毎回止まったりして面倒です
    • まずシェルスクリプトにしましょう(cygwinから起動してます < jack)

    #!/bin/sh
    # 必要なことがあったらこのヘンに追加
    v:/coLinux/colinux-daemon.exe -c $*

    • xml ファイルを複数作り、前述のシェルスクリプトに食わせるデスね。
    • まずはTAP 用

    <?xml version="1.0" encoding="UTF-8"?>
    <colinux>
    <block_device index="0" path="\DosDevices\v:\colinux\root.fs" enabled="true">
    <block_device index="1" path="\DosDevices\v:\colinux\sw1.fs" enabled="true">
    <block_device index="2" path="\DosDevices\v:\colinux\swap.fs" enabled="true">
    </block_device>
    <bootparams>root=/dev/cobd0</bootparams>
    <image path="vmlinux"></image>
    <memory size="128"></memory>
    <network index="0" type="tap"></network>
    </colinux>
     

    • 次にWPcap 用

    <?xml version="1.0" encoding="UTF-8"?>
    <colinux>
    <block_device index="0" path="\DosDevices\v:\colinux\root.fs" enabled="true">
    <block_device index="1" path="\DosDevices\v:\colinux\sw2.fs" enabled="true">
    <block_device index="2" path="\DosDevices\v:\colinux\swap.fs" enabled="true">
    </block_device>
    <bootparams>root=/dev/cobd0</bootparams>
    <image path="vmlinux"></image>
    <memory size="128"></memory>
    <network index="0" type="bridged"></network>
    </colinux>
     

    • /etc/fstab で /dev/cdbd1 を /sw あたりにマウントするようにして、/etc/network/interfaces あたりは /swにおいてシンボリックリンクするようにすると、環境毎に設定を切りかえられると思うです。
  • でも、DNSの設定は母艦がDHCP設定なので毎回違うのでどうにかしたいのですが

    TAPの場合は、母艦側がDNSをリレーしてくれるので、/etc/resolv.conf に 192.168.246.1(Windows側のTAP LANのIP) を書いておけばいいです。

  • なんかうまくいきません

    答えようが無いですよ・・・それ。でも、気持ちはわかります。てゆーかそうなったっす。

    どこかでいろいろ見た気がするのですが、ぐーぐるセンセに聞いても同じページに行きあたらない(探しかたが悪いだけ)のでメモしておきます。

    • netsh dump > netsh.backup で、現状のネットワーク設定が取れます
    • netsh -f netsh.backup で、その状態まで戻せます
    • シェルスクリプトに漢字とかはいってるのはキモチワルイので、コントロールパネルから、ワイヤレスとTAPのやつをrename して、Wireless と TAPLAN に変えてみました
    • で、もいっこシェルスクリプトを書きます

      #!/bin/sh
      netsh routing ip nat install
      netsh routing ip nat add interface "Wireless" full
      netsh routing ip nat add interface "TAPLAN" private
      netsh routing ip dnsproxy install

      うまくいくといいですねぅ。

    **でも、モバイラ向けおすすめの設定は、TAP にして NAT(インターネット接続の共有)をネットワーク接続画面から有線、無線切りかえることです**

    そうすると、設定のスイッチも必要ないですし

    /etc/resolf.conf は TAPの母艦側のIPを指定しておきます。外のDNS解決ができないようなら、cygwin上で

    netsh routing ip dnsproxy install

    としてみてください

  • あれこれやってたら、うまくいかなくなったので、前のイメージ(コピーがあってよかった・・・)とかいろいろマウントしようとしてたら、ボリュームを一杯マウントしたくなりました。しかし、/dev/cobdは3までしかありません。もっとマウントしたいデス(これはdebian 1Gのイメージの話ですね。FC3 はだいじょうぶ)

    coLinux 自体は

    loop: loaded (max 8 devices)
    cobd0 size: 5242880 kb
    cobd1 size: 524288 kb
    cobd2 size: 1048576 kb
    cobd3 size: 5120 kb
    cobd4 size: 5242880 kb
    cobd: loaded (max 32 devices)
    conet: loaded (max 16 devices)
    conet0: initialized

    といってくれてますので、loopback device として数えても8コ、cobd* が loopback 1コの扱いなら、32コはいけるはずです。

    結論からいうと、ただ単にデバイスファイルが用意されていないだけです。

    mknod -m 0644 /dev/cobd4 b 117 4
    mknod -m 0644 /dev/cobd5 b 117 5
    mknod -m 0644 /dev/cobd6 b 117 6

    のように書けば増やせます。もちろん rootでないとダメですよ。**とりあえず5コ目はいけました**

  • 2.4 base の 0.6.1 と 2.6ベースの 0.6.2 を併用したいです

    TAP のバージョンが違い、うまくいきませんでした

  • Fedore Core 3 にしたら kterm がありません。別のでもいいけど、kterm がやっぱり欲しいです

    案外面倒でした・・・結論からいうと

    http://www.macmil.co.jp/macmil/linux003.htm

    で作ってくれたパッチが有効でした。

    ソースを落してきて、パッチを二つあてて、xmkmf; make; sudo make install です

  • Fedora Core 3 が重いです・・・

    まあ、FC3(というか coLinux)に割けるメモリは128〜256がせいぜいでしょうから、それなりに工夫しないと厳しいと思います。

    まずは system-config-package でサウンド・ビデオ系のものはどんどん削ります。プリンタも母艦側に頼っていいんじゃないでしょうか。わたしはまったく設定してません。これはあくまで開発環境?的に使っているので、人によるでしょう。

    わたしの chkconfig --list | grep 3:on の結果は以下の通りです

    network         0:off   1:off   2:on    3:on    4:on    5:on    6:off
    iptables        0:off   1:off   2:on    3:on    4:on    5:on    6:off
    cpuspeed        0:off   1:on    2:on    3:on    4:on    5:on    6:off
    sshd            0:off   1:off   2:on    3:on    4:on    5:on    6:off
    portmap         0:off   1:off   2:off   3:on    4:on    5:on    6:off
    xinetd          0:off   1:off   2:off   3:on    4:on    5:on    6:off
    jackx           0:off   1:off   2:off   3:on    4:off   5:off   6:off

    ハードウェアを追加することはないので kudzu や pcmcia も不要ですよね。cron や at も不要なLinux 開発端末として割り切ってます。

    jackx というのは Xvnc を上げるスクリプトです(sudo して jack で上げてます)

    #!/bin/bash
    . /home/jack/scripts-vncstart/env
    cd /home/jack
    sudo -u jack -H  vncserver :$XID -depth $DEP -geometry $GEO
    sudo -u jack -H  /usr/local/bin/fvwm -display localhost:$XID & 

    このように vncserver と fvwm2 を上げ、.fvwm2rc で Xの設定をしてます。抜粋すると

    AddToFunc InitFunction  "I" Module FvwmButtons
    +       "I"     Desk    0 0
    +       "I"     Exec    exec xset +fp /home/jack/fonts
    +       "I"     Exec    exec xset +fp /home/jack/monafont-2.90/dist
    +       "I"     Exec    exec xset fp rehash
    +       "I"     Exec    exec xsetroot -solid darkgray
    +       "I"     Exec    exec kterm +sb -fn jpn.10x20 -fr jpn.10x20 -fk j16.20x20 -geometry 80x36+0+0&
    +       "I"     Wait    kterm
    +       "I"     Desk    0 3
    +       "I"     Exec    exec /usr/local/bin/emacs -geometry 88x30+0+0 &
    +       "I"     Wait    emacs
    +       "I"     Desk    0 0
    EndFunction

    自分用フォントとモナーフォントを足して、kterm と emacs を上げてるだけです。これで、.xinit を通らない問題も回避できます。

    fvwm は、個人的には必要な機能(desktop切り替え、メニューカスタマイズ等いろいろ)が充分にあって軽いので便利です。KDEのようなハデさとは無縁ですが。

    sshdも動いてて、X が上がって、Firefox から external Editor 経由 emacs で書いてる現状で36プロセスです。ロードは 0.1以下、メモリも free の結果を見れば余裕がちょっとあるみたいです

                 total       used       free     shared    buffers     cached
    Mem:        208068     180068      28000          0      12340     102724
    -/+ buffers/cache:      65004     163064
    Swap:       524280          0     524280
    なんと、スワップは使われてない・・・自分でもおどろいた(まぁ、だから軽いんだろうとは思うけど)

  • ssh(scp) で母艦と通信できるので困りませんが、デカいファイルを二重に置くのはムダっぽいデス

    そーですね。「デカいファイル」が iso image なら

    <block_device index="1" path="\DosDevices\f:\Downloads\FC3-i386-disc1.iso" enabled="true"/>

    でcobdXに割りあててしまうこともできます。母艦側ではdaemontools とか使えば、どっちからでもiso image をマウントできます

    あとは snapshot になりますが、colinux1024(0.6.2) を使うことで、cofs という、母艦参照ファイルシステムを使うことができます

    ただ、日本語ファイル名はまったく使えません。asciiでないファイル名のあるフォルダでls してみたら

    /bin/ls: /mnt/win Input/output error
    などという、意味不明のエラーメッセージが出て、まいっちんぐ(古)でした。

    あと、個人的には、前述のようなことをして、xmlファイルがかなり長くなってしまっているので、http://scratchpad.fc2web.com/colinux/cofs-patch-20041024.html から、.xml で cofs が使えるように改造したバージョンをありがたくダウンロードさせてもらって使ってます

    <cofs_device index="0" path="\DosDevices\c:\" type="flat" enabled="true" />

    で、C:\Colinux にはAscii文字列からのみなるファイル名を置くようにして、coLinux 上で

    # mount -t cofs cofs0:/Colinux /mnt/win

    などとすると、coLinux 上から、C:ドライブが見えます。共通するファイルはここに置けば両方から見えます、が、まだ fstab に設定するほど勇気ないです > cofs

    # user noauto で書いとけばいいか?

 
そちらのOSの時刻なので 正確性はあなた次第
 
こういう意味のないの好き
 
本をお勧め中
 
CDもお勧め中
のだめカンタービレ ベスト100
ドラマの演奏とは違います。でもこの感じでこの価格ならアリかと
 
消耗品や家電
 
よく使うサイト
社名ロゴ88×631
 
ぐぐってみる
 
誰が使うんだろう
 

Powered by Plone