2012年11月7日

Ubuntu 12.04 on colinux 0.7.9 with windows 7 starter


Ubuntu 12.04 on colinux 0.7.9 を windows 7 starter に入れて挫折した時の
記録です。結論から言うと、debian を遣う事にしました。

挫折した理由は

- dev0 のマウントに失敗する
- emacs を起動しようとしたら、フリーズする

の二つが主ですが、そこまで行くのにも

- Windows 7 starter では[インターネット接続の共有]ができない
- MAC アドレスを自動で認識してくれず、slirpでもネットに繋らない
- emacs が atp-get でインストールしようとするとフリーズする

とかいう問題にあたり、うんざりしたからです。綺麗に動いている方、どうや
ればいいか教えて。。。ちなみに、linux の事は殆ど別りません。。。

まず、操作を楽にするため、wget を以下からもってきます。

WGET for Windows (win32) - http://users.ugent.be/~bpuype/wget/




なお、

Wget for Windows
http://gnuwin32.sourceforge.net/packages/wget.htm

からもってくると、インストーラーから入れなければならなかったり、dll を
別途用意しなければならなかったりして、面倒です。

保存先を聞かれるので、保存(以下では、c:\User\clothoid\download に保存
したとする)

コマンドプロンプトを管理者権限で起動します。

- Windows スタート:[プログラムとファイルの検索]に[cmd]と入力し、コマンドプロンプトを検出
- 右クリック:[管理者として実行]を選択する



続いて、colinux と Ubuntu および 7zip をダウンロードし、7zip をインストー
ルします。

=====
C:\Windows\system32>cd c:\Users\clothoid\Downloads
c:\Users\clothoid\Downloads>wget "http://downloads.sourceforge.net/project/colin
ux/coLinux-stable/0.7.9-linux-2.6.33.7/coLinux-0.7.9.exe?r=http%3A%2F%2Fsourcefo
rge.net%2Fprojects%2Fcolinux%2Ffiles%2FcoLinux-stable%2F0.7.9-linux-2.6.33.7%2Fc
oLinux-0.7.9.exe%2Fdownload&ts=1347979819&use_mirror=netcologne"
c:\Users\clothoid\Downloads>wget http://sourceforge.net/projects/speedlinux/file
s/base-200-10-11-11.7z
wget "http://sourceforge.jp/frs/g_redir.php?m=jaist&f=%2Fsevenzip%2F7-Zip%2F9.20%2F7z920.msi"
c:\Users\clothoid\Downloads>wget "http://sourceforge.jp/frs/g_redir.php?m=jaist&
f=%2Fsevenzip%2F7-Zip%2F9.20%2F7z920.msi"
c:\Users\clothoid\Downloads>msiexec /i 7z920.msi /passive /norestart
=====

Cooperative Linux
http://www.colinux.org/

7-Zipのホームページ(日本語)
http://sevenzip.sourceforge.jp/


さらに、colinux の本体をインストールします。

=====
c:\Users\clothoid\Downloads>coLinux-0.7.9.exe
=====

インストーラーが起動するので、[NEXT] を選択



続いて、[I Agree] をクリック



[Root Filesystem image Download] のチェックを外して、[Next]をクリック



インストール先を半角英数字の含まない場所、例えば、c:\colinux に変更して、
[Next]をクリック



WinPCAP を入れようよと言われるけど、後で考えるから無視して、[Next]をク
リック



ファイルの展開が始まる



途中で、[Windows セキュリティ]が起動してインストールの有無を問われるこ
とがある(一度、colinux か andlinux をインストールしていると出ないみたい。
というか、Tap-Win32 のアンインストールが colinux あるいは andlinux のア
ンインストーラーでは正常にできていない事があるぽっい。んでもって、別途
ちゃんとアインインストールする方法も分からない) ので、[このドライバーソ
フトウェアをインストールします(I)] を選択する



[Finish] を押して終了



あとはCUIで、だいたいいける。コマンドプロンプトに戻るので、イメージファイルを展開する。

=====
c:\coLinux>"c:\Program Files\7-Zip\7z.exe" x c:\Users\clothoid\Downloads\base-20
0-10-11-11.7z
=====

つづいて、設定ファイルとスワップファイルを作成する

=====
c:\coLinux>notepad ubuntu.conf

----- ubuntu.conf の内容
kernel=vmlinux
cobd0="base.vdi"
cobd1="swap.vdi"
root=/dev/cobd0
ro
initrd=initrd.gz
mem=128
eth0=slirp
-----

c:\coLinux>notepad ubuntu.bat

----- ubuntu.bat の内容
colinux-daemon.exe @ubuntu.conf
-----

c:\coLinux>fsutil file createnew swap.vdi 134217728
=====

これでインストールが完了したはずなので、起動してみる。

=====
c:\colinux>ubuntu.bat
=====

すると、[Cooprative Linux console]という画面が起動して、Ubuntu が起動さ
れるはずだが、時々、以下の状態でフリーズする(再現性は無く、何度かインス
トールし直したり、しばらく待ったりするとうまく行く。これだけでも嫌。マ
シンが低スペックすぎるのかもしれない)

=====
# This process will install (if necessary) the coLinux modules for the      
# coLinux kernel.                                                          
===========================================================================                                                                                
Determining /, Found.                                                      
Mounting /                                                                  
REISERFS warning (device cobd0): sh-2021 reiserfs_fill_super: can not find reiserfs on cobd0                                                                
EXT3-fs (cobd0): mounted filesystem with writeback data mode                
kjournald starting.  Commit interval 5 seconds                              
Modules already installed.                                                  
Closing /                                                                  
EXT3-fs (cobd0): mounted filesystem with writeback data mode                
VFS: Mounted root (ext3 filesystem) readonly on device 117:0.              
Trying to move old root to /initrd ... /initrd does not exist. Ignored.    
Unmounting old root                                                        
Trying to free ramdisk memory ... okay                                      
Freeing unused kernel memory: 140k freed                                    
kjournald starting.  Commit interval 5 seconds                              
<30>udevd[904]: starting version 175                                        
init: udevmonitor main process (906) terminated with status 2              
udevd[921]: symlink '../../cobd0' '/dev/disk/by-uuid/7991934f-41f3-41dc-bba3-e2ad5b9e41aa.udev-tmp' failed: Read-only file system    
=====

また、上記がうまくいった場合でも、メニューから、[File]>[Shutdown]とする
と、以下のメッセージが出力される場合がある。

=====
 * Asking all remaining processes to terminate...                        [ OK ]
 * All processes ended within 1 seconds....                              [ OK ]
 * Saving random seed...                                                 [fail]
 * Deconfiguring network interfaces...                                   [ OK ]
 * Will now deactivate swap                                                

swapoff on /dev/cobd1                                                      
                                                                         [ OK ]
 * Mounting root filesystem read-only...                                    
rm: cannot remove `/var/run': Read-only file system                        
ln: cannot remove `/var/run': Read-only file system                        
umount: /var/lock: not mounted                                              
rm: cannot remove `/var/lock': Read-only file system                        
ln: cannot remove `/var/lock': Read-only file system                        
mountall: Disconnected from Upstart                                        
                                                                         [ OK ]
 * Will now halt                                                            
System halted.
=====

これも再現性が無くうまくいく場合(全部 OK となる場合)もあれば、そうで無
い場合もあり、この理由が最後まで分からなかった。というか、linux の知識
が無さすぎて、内容が何なのか、分からなかった。最初は以下のように、権限
を与えれば良かったように思ったが違った。だいたい、Everyone ていうのも気
持ち悪いし。

=====
c:\coLinux>icacls "c:\colinux" /grant Everyone:(F) /T
=====

いずれにしても、ログイン画面までいければ、以下のようになり、ユーザー名、
パスワード共に root で入れる。

=====
speedlinux login:
=====

だが、上記の挙動が気持ちわるい & ネットワークの設定に苦労しそうだなぁと
思っていたら、以下のサイトからネットワーク設定および日本語キーボードの
設定がされたものが手に入ると分かった(ここで、気づけなかった)ので、上記
をやめて([File]>[Shutdown]で落して)、再度、イメージファイルをダウンロー
ドすることにした。

coLinux用のUbuntu12.04イメージファイルを公開します。
http://dqn.sakusakutto.jp/2012/03/colinuxubuntu1204.html

=====
c:\coLinux>cd c:\Users\clothoid\Downloads
c:\Users\clothoid\Downloads>wget http://dqn.sakusakutto.jp/downloads/ubuntu-dqne
o.zip
c:\Users\clothoid\Downloads>"c:\Program Files\7-Zip\7z.exe" x ubuntu-dqneo.zip
c:\Users\clothoid\Downloads>copy ubuntu-dqneo\*.* c:\coLinux\
c:\Users\clothoid\Downloads>cd c:\coLinux
c:\coLinux>ubuntu-dqneo.bat
=====

これだと殆どの場合ログイン画面まではいける。これで、しめしめと思って、
ネットワークの設定を TAP-Win32 とかいうよく分からないものを使って、ネッ
トワーク接続の共有をやろうと思ったんだけど、Windows にその設定項目(ネッ
トワーク接続の共有タブ)が無いの。複数のネットワーク接続が認識されていな
いと、タブはありませんって記事が多かったから、色々設定してみたんだけど、
違ったよね。Windows 7 starter にはネットワーク接続の共有の機能が搭載さ
れてないの。これはワロタ。つーか、ちんだ。失望したよね。どうしようって。

Windows 7 Starter のネットワーク機能
http://windows.microsoft.com/ja-JP/windows7/Networking-in-Windows-7-Starter

また、シャットダウン時の問題は相変わらず残ってて、これも以下のように表
示される始末。

=====
* Asking all remaining processes to terminate...      [ OK ]
* All processes ended within 2 seconds....            [ OK ]
* Saving random seed...                               [ OK ]
* Deconfiguring network interfaces...                 [ OK ]
* Will now deactivate swap                                                  
swapoff on /dev/cobd1                                                      
                                                      [fail]
* Mounting root filesystem read-only...                              
umount: /run/lock: not mounted                                      
                                                      [ OK ]
* Will now halt                                                      
System halted.                                            
=====

で、Debian の方を色々しらべてたら、slirp ってい設定で外には出れるらしい。

クソ遅いけど。また、Win から入ってくる場合は、eth1 に TAP を設定すれば
いけるらしいってのを知って、それじゃぁ、やってみようと。

加えて、ethのアドレス認識がおかしかったので、以下を参考に調べなおして、
設定を加えた

[coLinuxインストール完全マニュアル]ネットワークエラーの対処法
http://dqn.sakusakutto.jp/2011/07/colinux-network-eth0-tap-macaddress.html

=====
*** c:/coLinux/ubuntu-dqneo.conf.orig 2012-11-07 07:12:18.381915700 +0900
--- c:/coLinux/ubuntu-dqneo.conf 2012-11-07 07:11:00.122178400 +0900
***************
*** 10,15 ****

  cobd0="C:\coLinux\ubuntu-dqneo.vdi"
  cobd1="C:\coLinux\swap.vdi"
! eth0=tuntap,,イーサネットアドレス
  #cofs0=c:\

--- 10,16 ----

  cobd0="C:\coLinux\ubuntu-dqneo.vdi"
  cobd1="C:\coLinux\swap.vdi"
! # eth0=tuntap,,イーサネットアドレス
! eth0=slirp
  #cofs0=c:\

=====

として、colinux を起動し、wget で適当にアクセスするも、外に出れず。。。
(slirp の場合、ping でテストできないらしいので、注意)

以上の格闘の末、挫折ということで。というか、これを試している間、キーボー
ドが壊れてしまい、それもあって、やる気失せた。

0 件のコメント:

コメントを投稿