VAIO tyep P をリカバリして Ubuntu 10.04 とのデュアルブートにする

なんだか Ubuntu を使いたかったので、手持ちの VAIO type P に Ubuntu 10.04 Netbook版を入れることにした。
何かの時のために(何のため?)一応 Windows も残しておこうと思って、デュアルブートで。
細かい環境構築はまた別途。

以下適当にメモメモ。

Windowsリカバリ

マニュアルの「Windowsが起動しない状態でリカバリするには」やホニャララが基本的に好き。(仮):VAIO typePをリカバリしてWindows Vistaを超快適化する。pocketgames PDA秘宝館 » Blog Archive » type P に余計なアプリを入れずにリカバリなどを参考にリカバリしていく。

  1. リカバリディスクを作成
    このとき、DVD2枚で作成すること。1枚だと後述のリカバリのキャンセルが出来ない(らしい)。
  2. リカバリディスク1から起動。
    VAIOリカバリセンターの画面になるので「お買い上げ時の状態にリカバリ」を選択して「開始」する。
  3. リカバリ方法の指定
    リカバリ領域は削除。パーティションは手動で40GBと18GBに設定。リカバリ領域を削除しないように指定すると、紹介されているリカバリのキャンセルが出てこなかったので、不安だったけどリカバリ領域を削除するようにした。
  4. リカバリの開始
    同意して開始
  5. リカバリのキャンセル
    リカバリディスク2を〜」という表示が出てくるので「キャンセル」する。なんかエラーが出るけど気にしない。
  6. Windows の初期設定
    適当に。

Ubuntu のインストール

気を付けなければいけないのは、GRUBのインストール先。
デフォルトだとMBRに書き込まれてしまって、Windowsリカバリ領域まで消してしまう(?)ので、最後(step 8) で右下の「拡張」ボタンを押してGRUBのインストール先を指定する。

grub4dosのインストール
  1. grldr, grldr.mbr を C:\ にコピー
  2. grub4dosの設定
    C:\menu.lst を以下のように編集。
title Linux
root (hd0,5)
kernel /boot/grub/core.img
Ubuntu の日本語化

Netbook 版はまだ日本語化されていないので、自分で日本語化する。

  1. 起動すると更新情報の通知で「日本語のサポートが不完全だからアップデートしな」と言われるので、言われるがままにアップデートする。
  2. Japanese Teamのパッケージレポジトリを追加する
    Ubuntuの日本語環境 | Ubuntu Japanese Teamにある通りに以下を実行
wget -q https://www.ubuntulinux.jp/ubuntu-ja-archive-keyring.gpg -O- | sudo apt-key add -
wget -q https://www.ubuntulinux.jp/ubuntu-jp-ppa-keyring.gpg -O- | sudo apt-key add -
sudo wget https://www.ubuntulinux.jp/sources.list.d/lucid.list -O /etc/apt/sources.list.d/ubuntu-ja.list
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install ubuntu-desktop-ja 

Windows XP に Redmine をインストールする

結論。
Redmine Cloud Hosting, Redmine Installer, Docker Container and VM でインストールするのが手っ取り早い。
何はともあれインストール出来たので、自分の作業管理に使っていく予定。
以下は結論にいたるまでの軌跡。

最初はプロジェクト管理ツール「Redmine」をWindows XP上で(多分)最小手順で構築する - P-SQUARE MIDI Siteを参考に XAMPP → RubyRailsRedmine と入れていったのだけれども、Redmine の設定のエラーが解決できなかった。

XAMPP のインストール

http://www.apachefriends.org/jp/xampp-windows.htmlからダウンロードしてインストール。
インストール完了後に起動する XAMPP Controll Panel から ApacheMysql の起動を確認。
Mysql は起動したけど、どうも Apache が起動しない。
サービスから直接起動させてみると、以下のエラーメッセージ。

ローカル コンピュータ で Apache2.2 を開始できません。詳細については、システム イベント ログを確認してください。これが Microsoft 以外のサービスである場合は、サービスの製造元に問い合わせてサービス固有のエラー コード 1 を参照してください。

ポート80が既に使われていると出るエラーとのこと。
Skype の設定を見てみると見事にポート80を使っていたので、以下の手順で変更。
Skype の[設定]→[詳細]→[接続]の「上記ポートに代わり、ポート80を使用」のチェックを外す。

Ruby のインストール

RubyInstaller for Windowsからダウンロードしてインストール。
特に問題なくインストール完了。

Rails のインストール

>gem install rails --include-dependencies

で特に問題なくインストール完了。

Redmine のインストール

データベースの作成

mysqladmin ->「新規データベースを作成する」項目に「redmine」と入力し「作成」をクリック。
照合順序とかインターフェースとかはいじらないでやった。

Redmine の設定

>rake db:migrate RAILS_ENV="production"

を実行。
ここで問題発生。

RubyGem version error: rack(1.1.0 not ~> 1.0.1)

というエラーが出た
1.1.0 はお気に召さないらしい。

>gem install rack --version "~> 1.0.1"

で要求されているバージョンにして再度実行するも、やっぱりエラーが出る。

ERROR:  While executing gem ... (NoMethodError)
undefined method `[]' for false:FalseClass

インストールに失敗していたか?と思い最初からやり直してみる。
Rails は --include-dependencies なしで入れてみた。

>gem install rails
>gem install rack --version "~> 1.0.1"
>rake db:migrate RAILS_ENV="production"
(in C:/redmine)
!!! The bundled mysql.rb driver has been removed from Rails 2.2. Please install the mysql gem and try again: gem install mysql.
rake aborted!
no such file to load -- mysql

mysqlのインストールがされていないようなので、インストール。

>gem install mysql
Successfully installed mysql-2.8.1-x86-mingw32
1 gem installed
Installing ri documentation for mysql-2.8.1-x86-mingw32...
Installing RDoc documentation for mysql-2.8.1-x86-mingw32...

再び Redmine の設定。

>rake db:migrate RAILS_ENV="production"
(in C:/redmine)
!!! The bundled mysql.rb driver has been removed from Rails 2.2. Please install the mysql gem and try again: gem install mysql.
rake aborted!
126: 指定されたモジュールが見つかりません。   - C:/Ruby191/lib/ruby/gems/1.9.1/gems/mysql 2.8.1-x86-mingw32/lib/1.9/mysql_api.so
(See full trace by running task with --trace)

えー。
mysqlのインストールディレクトリのbin/libmysql.dllを、Rubyインストールディレクトリのbin/にコピーして再実行。

>rake db:migrate RAILS_ENV="production"
(in C:/redmine)
rake aborted!
undefined method `each' for false:FalseClass

(See full trace by running task with --trace)
: [BUG] Segmentation fault ruby 1.9.1p378 (2010-01-10 revision 26273) [i386-mingw32] -- control frame ---------- c:0001 p:0000 s:0002 b:0002 l:001234 d:001234 TOP --------------------------- -- Ruby level backtrace information----------------------------------------- [NOTE] You may encounter a bug of Ruby interpreter. Bug reports are welcome. For details: http://www.ruby-lang.org/bugreport.html This application has requested the Runtime to terminate it in an unusual way. Please contact the application's support team for more information.

どうにもならん。

調べてみると、Ruby1.9 + Rails、MySQL5.1 + Rails は相性が悪いようで。
というわけで、Redmine Cloud Hosting, Redmine Installer, Docker Container and VM でインストールしてめでたしめでたし、というわけでした。