ラベル Linux の投稿を表示しています。 すべての投稿を表示
ラベル Linux の投稿を表示しています。 すべての投稿を表示

2017年9月2日土曜日

Windows10 で白黒写真をカラー化する方法

How to colorize monotone photos on Windows10

過去のブログ 機械学習で白黒写真をカラー化する方法 では、Linux 用機械学習アプリケーションを使って白黒写真をカラー化しました。
このアプリケーションに必要なTourchフレームワークがMac OS と一部のLinuxディストリビューションしかサポートしていなかったため 当時はUbuntu Linux を使いましたが、Windows Subsystem for Linux でも使えたのでその方法をまとめました。
blog.fujiu.jp Windows10 で白黒写真をカラー化する方法


環境

  • Windows 10 Creators Update


Windows Subsystem for Linux をセットアップする

Windows Subsystem for Linux は初期状態では利用できないので次の手順でセットアップします。
コントロールパネル - 更新とセキュリティ - 開発者向け
を開いて開発者モードに設定します。

コントロールパネル - アプリと機能 - プログラムと機能 - Windowsの機能の有効かまたは無効化
を開いて
Windows Subsystem for Linux (Beta) にチェックを入れてOKをクリックしてWindowsを再起動するとインストールされます。

Windows Subsystem for Linux はスタートメニューに登録されません。(スタートメニューに Bash on Ubuntu on Windows が登録されることがあるようです)
コマンドプロンプトかPowerShellのコンソールから bash と入力すると利用できます。


カラー化アプリケーションをインストールする

Windows Subsystem for Linux の bash は初期状態ではツール類が不足していました。
bash に次のコマンドを入力して インストールに必要と思われるツール類をインストールしました。


bashに次のコマンドを入力してTorchフレームワークをインストールします。
インストール中はインターネットへの接続が必要でした。

このインストールは数時間を要し、途中で何度かルートユーザーのパスワードの入力が必要でした。

インストールが終わると
Do you want to automatically prepend the Torch install location to PATH and LD_LIBRARY_PATH
と表示されるので yes と入力します。
これで .bashrc にexportコマンドが追記されるので次のコマンドを実行して環境変数を更新します。


bashに次のコマンドを入力してLua用パッケージをインストールします。


bashに次のコマンドを入力してホームディレクトリーに siggraph2016_colorization をインストールします。


これでインストールは終わりです。


白黒写真をカラー化する

カラー化したい白黒の画像はpngフォーマットだと「Wrong number of input channels!」というエラーが起きることがあるのでjpgフォーマットをお勧めします
bashからconvertコマンドを使うと画像ファイルをjpgフォーマットに変換できます。

また、画像サイズが横512×縦512ピクセルを超えると処理が遅いとのことです。
縦横とも512ピクセル以内なら1秒以内に終わります。

白黒画像をホームディレクトリに
monotoon.jpg
というファイル名で置いた場合、次のようなコマンドを実行すると result.png というファイル名でカラー化されます。


こんな画像を処理したら

こうなりました。

元の画像はこちらです。

今回はセピア調になってしまいましたが、昔の白黒写真をカラー化すると面白い結果になります。

GATAG|フリー画像・写真素材集 4.0 http://free-photos.gatag.net/tag/%E6%98%AD%E5%92%8C より

関連ブログ

機械学習で白黒写真をカラー化する方法
Vsiaul Studio Code のターミナルを Bash に設定する方法
Windows や Linux で COBOL のプログラミングをする方法
WindowsでUnix用GUIツールを実行する方法

2017年8月12日土曜日

Windows や Linux で COBOL のプログラミングをする方法

How to program in COBOL on Windows or Linux

2017年8月、マイクロフォーカスが Visual COBOL の最新版を発表しました。
https://www.microfocus.co.jp/about/pressrelease/archives/2017/0803.asp
Visual COBOL は.NET環境でも利用できるCOBOL言語でプログラミングできる開発ツールのようです。
将来 Visual COBOL を使ったCOBOL開発の需要が増えるかもしれないので、今のうちにWindowsでCOBOL言語のプログラミングができる環境を構築することにしました。
blog.fujiu.jp Windows や Linux で COBOL をプログラミングする方法


環境

  • Windows 10 Creators Update


誰でも利用できるCOBOLコンパイラーを探した結果

GPL-2.0 のライセンスでオープンソースとして公開されている opensource COBOL というアプリケーションを使ってみることにしました。
Unix系のコマンドライン用COBOLコンパイラーです。
Windows Subsystem for Linux の bash でソースからインストールして使ってみました。
なお、x86版Cygwinで opensource COBOL のインストールを試したところ、make中に Can't fork, trying again in 5 seconds というメッセージの表示が無限ループしました。
rebaseall しても変わらず。
自分の環境だけかもしれませんが今のところx86版Cygwinでのインストール方法は未確認です。


Windows Subsystem for Linux をセットアップする

Windows Subsystem for Linux は初期状態では利用できないので次の手順でセットアップします。
コントロールパネル - 更新とセキュリティ - 開発者向け
を開いて開発者モードに設定します。

コントロールパネル - アプリと機能 - プログラムと機能 - Windowsの機能の有効かまたは無効化
を開いて
Windows Subsystem for Linux (Beta) にチェックを入れてOKをクリックしてWindowsを再起動するとインストールされます。

Windows Subsystem for Linux はスタートメニューに登録されません。(スタートメニューに Bash on Ubuntu on Windows が登録されることがあるようです)
コマンドプロンプトかPowerShellのコンソールから bash と入力すると利用できるようになります。


bash用ツール類をインストールする

Windows Subsystem for Linux の bash は初期状態ではツール類が不足していました。
bash に次のコマンドを入力して opensource COBOL のインストールに必要と思われるコンパイラーやライブラリーなどをインストールしました。



opensource COBOL をインストールする

opensource COBOL は次のコマンドでインストールできました。


最後の ldconfig を忘れるとCOBOLのソースをコンパイルできても実行できません。


COBOLのソースコードをコンパイルして実行する

画面に文字を表示するCOBOLのソースコードを用意しました。
各行の先頭のスペースは省略できません。

HelloCOBOL.cbl


このソースコードを HelloCOBOL.cbl というファイル名で保存し、次の手順でコンパイルします。


HelloCOBOL という実行ファイルができるので実行します。


実行した結果です。

Vsiaul Studio Code のターミナルを Bash に設定 すれば Visual Studio Code だけでコーディング・コンパイル・実行ができます。


参考にしたコンテンツ

"t-ja.gmo" が不足して make できないトラブル解決の参考にしました。

PC/NETのetcetra/2007-10-25 - chimdon.com

http://chimdon.com/main/index.php?PC%2FNET%A4%CEetcetra%2F2007-10-25

dependencies - How do I install ncurses header files? - Ask Ubuntu

https://askubuntu.com/questions/270381/how-do-i-install-ncurses-header-files


関連ブログ

Vsiaul Studio Code のターミナルを Bash に設定する方法
Visual Studio Code のターミナルを Cygwin に設定する方法
WindowsでUnix用GUIツールを実行する方法

2017年8月5日土曜日

Vsiaul Studio Code のターミナルを Bash に設定する方法

How to change VSCode terminal from PowerShell to Ubuntu Bash

Visual Studio Code (以下 VSCode) のターミナルを Windows Subsystem for Linux の bash に設定する方法を試してみました。
blog.fujiu.jp Vsiaul Studio Code のコンソールを Bash に設定する方法


環境

  • Windows
  • Visaul Studio Code 1.14.2


準備1・開発者モードに設定する

Windows Subsystem for Linux を利用するには開発者モードに設定する必要があります。
コントロールパネル - 更新とセキュリティ - 開発者向け
を開いて開発者モードに設定します。


準備2・Windows Subsystem for Linux をセットアップする

Windows Subsystem for Linux は初期状態ではインストールされていません。
コントロールパネル - アプリと機能 - プログラムと機能 - Windowsの機能の有効かまたは無効化
を開いて
Windows Subsystem for Linux (Beta) にチェックを入れてOKをクリックしてWindowsを再起動するとインストールされます。

Windows Subsystem for Linux はスタートメニューに登録されません。(スタートメニューに Bash on Ubuntu on Windows が登録されることがあるようです)
コマンドプロンプトかPowerShellのコンソールから bash と入力すると利用できるようになります。


VSCodeのターミナルからbash.exeが実行できない

VSCodeのターミナルに bash.exe を設定すればターミナルが bash になると思ったのですが、実際に設定するとターミナルがフリーズしてしまいます。
bash.exeを起動するbatファイルを指定する方法も試しましたがターミナルから起動できませんした。

将来この方法で実行できるようになるかもしれませんが、今できる方法を模索しました。


PowerShellでbashを起動する

Visaul Studio Codeのターミナルは初期設定ではPowerShellが起動する設定です。
今回はPowerShellでWindows Subsystem for Linux の bash が起動するようにターミナルの設定します。

ファイル - 基本設定 - 設定
を開き、右側のユーザー設定に次の1行を追加します。


既に追加設定がある場合はカンマで区切って追加します。

これで Ctrlキーを押しながら @キーを押すとターミナルに bash が起動します。

VcXsrv を使えばGUIツールも起動できます。

bashはClangやGCCなどの広く使われているコンパイラーが利用できるメリットがあります。
VSCodeで書いたソースコードをすぐにコンパイルして実行できる環境があるとプログラミングがはかどりそうです。

2017年8月7日見出しを修正しました。


関連ブログ

Visual Studio Code のターミナルを Cygwin に設定する方法
WindowsでUnix用GUIツールを実行する方法

2017年7月22日土曜日

WindowsでUnix用GUIツールを実行する方法

How to run Unix GUI applications on Windows 10

Windows10 で動作する Windows Subsystem for Linux がX-Windowsで動作するGUIツールの実行が可能とのことなので、Unix用GUIツールの xeyes をWindowsで動作させてみました。
xeyesはマウスポインターの位置に目を向けるすだけのアプリで役に立つものではありませんが、GUIツールをソースからインストールできる環境を構築するためにインストールしてみました。
以下がその記録です。
blog.fujiu.jp WindowsにUnix用GUIアプリをインストールする方法


環境

  • Windows 10 Creators Update


開発者モードに設定する

Windows Subsystem for Linux を利用するには開発者モードに設定する必要があります。
コントロールパネル - 更新とセキュリティ - 開発者向け
を開いて開発者モードに設定します。


Windows Subsystem for Linux をセットアップする

Windows Subsystem for Linux は初期状態ではインストールされていません。
コントロールパネル - アプリと機能 - プログラムと機能 - Windowsの機能の有効かまたは無効化
を開いて
Windows Subsystem for Linux (Beta) にチェックを入れてOKをクリックしてWindowsを再起動するとインストールされます。

Windows Subsystem for Linux はスタートメニューに登録されません。(スタートメニューに Bash on Ubuntu on Windows が登録されることがあるようです)
コマンドプロンプトやPowerShellのコンソールから bash と入力すると初回のみインストールと初期設定が実行され、以降はbashが起動します。
Windows Subsystem for Linux の操作はこのbashから行います。


VcXsrv Windows X Server をインストールする

WindowsでUnix用GUIツールを動作させるために VcXsrv Windows X Server が必要です。
VcXsrv Windows X Server のインストーラーをダウンロードしてインストールします。
https://sourceforge.net/projects/vcxsrv/

インストール後、スタートメニューから VcXsrv が起動できます。
初回のみファイアウォールのアクセスの許可をします。

VcXsrvを停止する場合はタスクトレイに常駐する VcXsrv のアイコンから操作できます。


環境変数を設定する

bash を起動し次のコマンドを入力して環境変数を有効にします。

このコマンドはGUIツールをWindows X Serverに表示するためにbashを起動する毎に必要な設定です。
~/.bashrc にコマンドを追記すれば毎回入力する手間が省けます。


必要なツールをインストールする

GUIツールに必要なツールをインストールするため bash に次のコマンドを入力します。


xeyesはx11-appsに含まれているのでこれでxeyesは実行できます。
しかし、今回はLinux開発環境の構築のためソースからインストールすることを試みます。
xeyesをソースからインストールする場合は次のインストールも必要でした。



xeyes をインストールする

xeyes をソースからインストールする場合のコマンドを実行します。



インストールした xeyes を起動する

ソースからインストールしたxeyesは /usr/local/bin にインストールされます。
起動するにはbash に次のコマンドを入力します。



Windows Subsystem for Linux を使ったのはこれが初めてですがCygwinが不要になる可能性を秘めてそうです。


トラブルシューティング

bashを起動すると この機能を使用するためには開発者モードを有効にする必要があります と表示される

Windowsを開発者モードに設定してください。

xeyes と入力すると Error: Can't open display: :0 と表示され起動しない

VcXsrv を起動してから実行してください。


参考にしたコンテンツ

どう使う?Windows版Linux - 「WindowsでX」、定番GUIがWindows版Linuxで動く:ITpro
http://itpro.nikkeibp.co.jp/atcl/column/17/062700262/070400004 /


関連ブログ

[Machine Learning] 機械学習で白黒写真をカラー化する方法
bashスクリプトの変数のスコープにはまったところと対処方法

2016年6月11日土曜日

外付けハードディスクを完全消去して処分する方法

How to erase hard disk drives perfectly

ハードディスクに保存されたファイルは削除しても簡単に復元できることがあります。
物理フォーマットして消去しても高い技術力があれば消去する前の情報が復元できると言われています。

パソコンをはじめ最近のゲーム機やテレビ録画機にはハードディスクが内蔵されています。
これらのハードディスクには個人情報や人に知られたくない情報も少なからず記録されています。
ハードディスクを処分する際には可能な限り復元できないように消去したいものです。


環境

  • Windows 10


VirtualBoxにLinux OSをインストールする

CD-ROMドライブやUSBメモリードライブから起動して完全消去するソフトはいくつかありましたが、ほとんどが内蔵ドライブを消去するためのソフトでした。
Windowsで外付けドライブを消去するため、VirtualBoxにUbuntu Linuxをインストールして消去することにしました。
blog.fujiu.jp 外付けハードディスクを完全消去する


フォーマットしたいハードディスクをUSB接続できる装置に接続する

ハードディスクにはSATA、SAS、IDEなど複数の接続規格があります。
規格にあったUSB接続できるケースを買って設置します。
下の画像はIDE規格のハードディスクをUSB接続するケースです。
これでPCにUSB接続できます。


USBハードディスクをVirtualBoxに接続する

パソコンにハードディスクをUSBケーブルで接続します。
VirtualBoxを管理者として実行します。
接続したUSBハードディスクをVirtualBoxの
デバイス - USB
からチェックを入れます
これでLinux OSにUSBハードディスクが接続されました。


USBハードディスクのデバイスパスを調べる

消去したくない外付けハードディスクが接続されている場合は誤って消去しないように全て取り外します。
Gpartedを起動します。
インストールされてない場合は次のコマンドでインストールします。
sudo apt-get install gparted

Gpartedの画面右上のドロップダウンメニューから目的のUSBハードディスクを探します。
/dev/sda の下に /dev/sdb とか /dev/sdc があるはずです。
今回は /dev/sdb でした。


ddコマンドでハードディスクにランダムな内容を書き込みする

次のコマンドで /dev/sdb にランダムな内容を先頭から順に書き込みます。


最後まで書き込みが終わると次のメッセージが表示されます。


これを数回繰り返せば復元はほぼ不可能です。

最後まで書き込みが終わるには、容量に比例して時間がかかります。
強制終了する場合は、Ctrlキーを押しながらCキーを押します。

120GB、7200rpmのハードディスクを途中で強制終了した結果は次の通りでした。

1950380+0 レコード入力
1950380+0 レコード出力
7988756480 バイト (8.0 GB) コピーされました、 720.32 秒、 11.1 MB/秒

1GB当たり90秒、120GB全体で3時間かかる見込みでした。

ハードディスクは先頭にファイルの配置情報が記録されるので、最初の数GBをランダムに書き込むだけでも復元を困難にできます。

消去後は無料で合法の手段で処分する

消去して不要になったハードディスクはリサイクル業者に処分してもらいました。
不要になったパソコンを無料で廃棄する方法


なぜランダムな内容で復元を防げるのか

消去したハードディスクを復元する方法は、ハードディスクを分解し中のプラッターを電子顕微鏡で撮影し、ヘッドの通り道の脇に残った磁粉の並び方解析して消去する前の情報を復元するという手法です。
気の遠くなる作業ですが、技術の進歩次第で瞬時に解析される可能性があります。
ランダムな内容を繰返し上書きすれば脇に残った情報からの復元が困難になります。

USBメモリードライブやSSDは同じ手法で復元できません。



関連ブログ

不要になったパソコンを無料で廃棄する方法
(失敗談) ハードディスクを処分する
[Windows8] Paragon Hard Disk Manager

以上、参考になれば幸いです。

2016年5月28日土曜日

[Machine Learning] 機械学習で白黒写真をカラー化する方法

How to color monotone photo with the machine learning

ディープラーニング アプリケーション「Automatic Colorization of Grayscale Images」
https://github.com/satoshiiizuka/siggraph2016_colorization
を使って白黒写真をカラー写真にしてみました。
その手順をまとめました。


環境

  • Windows 10のVirtualBoxにUbuntu Linux 15.10をインストールした


Linux OSを用意する

Cygwinへのインストールを試みましたがTorch7が「platform not supported, aborting」というエラーでインストールできませんでした。
このアプリは
  • Ubuntu Linux で開発された
  • GPUを使わない
とのことなので、VirtualBoxにUbuntu Linuxをインストールして使うことにしました。

ちなみにCentOSは7のみ、Fedoraは20と22のみをサポートのようです。
blog.fujiu.jp 機械学習で画風を変換する方法


インストール

必要なソフトを全てインストールします。

gitをインストールする



Torch7をインストールする



最後に
Do you want to automatically prepend the Torch install location to PATH and LD_LIBRARY_PATH
と表示されるので yes と入力します。
これで .bashrc にexportコマンドが追記されるので次のコマンドで環境変数を更新します。


インストール後のソースは不要のようです。ソースを消すコマンドは次の通り。


必要なパッケージ群をインストールする



siggraph2016_colorization をダウンロードする



これで必要なソフトが揃ったはずです。


白黒画像をカラー化する方法

カラー化したい白黒の画像はpngフォーマットだと「Wrong number of input channels!」というエラーに悩まされるのでjpgフォーマットをお勧めします
Ubuntuならconvertコマンドでjpgに変換できます。

また、画像サイズが横512×縦512ピクセルを超えると処理が遅いとのことです。
縦横とも512ピクセル以内なら1秒以内に終わります。

白黒画像をホームディレクトリに
monotoon.jpg
というファイル名で置いた場合、次のようなコマンドを実行すると result.png というファイル名でカラー化されます。



こんな画像を処理したら

こうなりました。

白黒にする前の画像がこちらです。

別の画像ではこうなりました。
上から原画・白黒化画像・カラー化画像の順です。

いろいろ試してみましたがセピア調になることが多いです。

風景写真のカラー化は安定してますが人工物の写真やアニメ調のイラストは苦手のようです。


関連ブログ

[GPGPU] 機械学習で画風を変換する方法
Android4.0をVmwareやVirtualBoxで起動する
Windows8をVirtualBoxにインストールする

以上、参考になれば幸いです。

2016年5月21日土曜日

[GPGPU] 機械学習で画風を変換する方法 [Machine Learning]

How to install and use the chainer-gogh

2015年9月に公開された画風を変換するアルゴリズム「chainer-gogh」をインストールして使ってみました。
https://github.com/mattya/chainer-gogh
使い方までの手順をまとめてみました。


環境

  • CUDAコア数が48、動作周波数が900HMzのNVIDIAグラフィックスを搭載したノートPC
  • 64bit版 Ubuntu Linux 15.10


CUDA Toolkitが使えるLinux PCを用意する

CUDAはNVIDIA製の一部のグラフィックスに搭載される並列演算に特化した機能です。
CUDA ToolkitはCUDAの機能を利用するための開発環境です。
chainer-goghはCUDA Toolkitを利用すると高速に処理できます。
今回はchainer-goghをCygwinやホストOSがWindowsのVirtualBoxで実行したのですが、このブログを書いている時点ではどちらもCUDA Toolkitが利用できず、画像1枚変換するのに90時間ほどかかりそうでした。

そこでUSBメモリードライブにUbuntu 15.10をインストールして使いました。
blog.fujiu.jp 機械学習で画風を変換する方法


必要な環境をインストールする

Ubuntu 15.10でchainer-goghを使えるようにするまでインストールするものが沢山ありました。
すべて端末からインストールしました。

グラフィックスドライバーをインストールする

システム設定 - ソフトウェアとアップデート - 追加のドライバー
から検証済みのドライバーをインストールしました。

NVIDIA純正のドライバーは
  • インストール時にX Serverを停止する必要がある
  • インストール後にOSが起動しない
などの問題がありました。

また、Ubuntu 16.04では検証済みのドライバーのインストール後にX-Windowでログインできなくなるトラブルがありました。

CUDA Toolkit をインストールする



インストール後は次の環境変数の設定が必要です。~/.bachrc に追記しておくと端末起動時に自動で設定されます。


cuDNNに対応していればインストールする

cuDNNはCUDAの処理を最適化をする機械学習用ライブラリーです。
Accelerated Computing Developer Programにユーザー登録するとダウンロードできます。
cuDNNが使えればchainer-goghの高速化が期待できますが、今回はPCが対応してなかったので使えませんでした。

GCC4.9ををインストールする

Ubuntu 15.10はGCC5がインストールされていますが、ChainerフレームワークのインストールにはGCC4.9が必要でした。


Pythonのライブラリー群をインストールする

下記のコマンドだと不要なものもあるかもしれませんが、必要なものが欠けてると何もできないのでまとめてインストールします。


Chainerフレームワークをインストールする



次のコマンドを実行して何も表示されなければCUDAが使えます。


このコマンドを実行して
ImportError: No module named cupy
と表示されるようならCUDA Toolkitがインストールされてないか環境変数が正しく設定されてません。
CUDA ToolkitがインストールしてChainerフレームワークをインストールをインストールし直してください。

gitをインストールする



chainer-goghと学習モデルをインストールする

学習モデルは作者曰く「お手軽」のものを使いました。


これで必要な環境が揃ったはずです。


使い方

ホームディレクトリに
変換したい画像 input.png
画風スタイルの画像 style.png
がある場合、次のコマンドで変換できます。


処理中はホームディレクトリに img_・・・・.png という画像ファイルが作られます。
im_04950.png が完成です。下が完成の画像です。

所要時間は次の通りでした。
  • CPUのみで推定90時間
  • CUDAで約45分
  • cuDNNは未対応なので検証不可

白地が多い画像は苦手のようです。


トラブルシューティング

実行したらCUDAに対応していなかった (cannot import name core)

CUDAを使わずに実行する


cuDNNをインストールしたらcuDNNに未対応で実行できない (CUDNN_STATUS_ARCH_MISMATCH)

環境変数のcuDNNのパス設定を削除してChainerフレームワークを再インストールする。

Chainerフレームワークを再インストールする方法



GCCを元に戻す方法




関連ブログ

Android4.0をVmwareやVirtualBoxで起動する
Windows8をVirtualBoxにインストールする
[Blender] Pythonで複数の設定を一瞬で編集する方法

以上、参考になれば幸いです。

2015年11月21日土曜日

Windows XPだったパソコンにSolarisやFreeBSDをインストール出来るか?

Can I install Solaris or FreeBSD?

前回は
XPだったパソコンにFedoraやUbuntuのインストールが出来なかった失敗談
を書きました。
古いパソコンを使い続けるならサポートが継続されているOSをインストールして使うのが望ましいです。
そこで32bitに対応しているOSについて簡単に調べました。


Oracle Solarisは32bitに対応しているが・・・

Oracle Solarisは32bitに対応してました。

ところがこちらのOTN開発者ライセンスを読むと
http://www.oracle.com/technetwork/jp/licenses/standard-license-192230-ja.html
「お客様」の定義が複雑ですが・・・
正規ライセンスのSolarisのために開発・運用・テストをする目的で使うのは無料のようです。
「勤務先の会社がサブスクリプションを支払ってるSolarisのアプリ開発ために、自宅のPCにSolarisをインストールする」というのはOKで
「サブスクリプションを支払っていない個人ユーザーが自分のPCにSolarisのインストールはできない」と解釈しました。
間違ってたらすいません。
パッチを入手するのにもサブスクリプションを支払う必要があります。


FreeBSDは32bitに対応しているが・・・

FreeBSDも32bitに対応しているのですが、そのディストリビューションであるPC-BSDの最新版は64bit版しか公開されてません。
その昔FreeBSDでX Windowを使えるようにインストールしたことはあるのですが、手間がかかったことだけは覚えてます。


個人的な結論

というわけで
Windows XPだったパソコンにSolarisやFreeBSDをインストール出来るか?
という疑問は
Solarisはサブスクリプション契約しないとできない
FreeBSDはできるけどしたくない
という結果になりました。

関連ブログ

XPだったパソコンにFedoraやUbuntuのインストールが出来なかった失敗談
XPパソコンにCentOS Linuxを上書きインストール
VirtualBoxにCentOS7.0をインストール
パソコンをフォーマットせずにKNOPPIX Linuxを使う
古いパソコンをフォーマットしてWindows10をクリーンインストールできるか?
Android4.0をVmwareやVirtualBoxで起動する

以上、参考になれば幸いです。

2015年11月14日土曜日

Windows XPだったパソコンにFedoraやUbuntuをインストールできなかった失敗談

I failed to install latest Fedora Linux and Ubuntu Linux

2014年、Windows XP(以下XP)のサポートが切れた際XPプリインストールのパソコンにCentOS Linuxをインストールしました。
XPパソコンにCentOS Linuxを上書きインストール

このパソコンはCPUが32bitですが、CentOSの最新バージョン7.0は32bit版が公開されてないのでバージョンアップできません。
ディストリビューションやパッケージに頼らず自分で更新すれば最新の状態を維持できるかもしれませんが、手間のかからない方法を模索します。

Fedora Linux(以下Fedora)は32bit版もバージョンアップが続いているため思い切ってFedoraをインストールすることにしました。


環境

・32bit Pentium M (HTTすらないシングルコアCPU)
・512MBのRAM


バックアップする

CentOSをフォーマットするのでバックアップをとります。
バックアップしたいファイルの容量が小さかったので今回はOneDriveにバックアップしました。
なお、ファイル名に日本語を使ったらOneDriveで「????・・・」のようになってました。ファイルの中身は無事でした。


Live DVDが起動中にスリープする

まずはFedora公式サイトからWorkstationの「32-bit 1.3GB Live image」をダウンロードし、DVD-Rに書き込みました。
ところがこのDVDを内蔵ドライブに入れてもブートメディアとして認識されません。
外付けドライブからはブートするのですが、途中で画面が真っ暗になり電源ボタンが点滅してしまいます。
どうやら起動中にスリープ(サスペンド)してしまうようです
キーボードのキーを押すと起動が再開するのですが5秒もするとスリープしてします。
これでは使い物になりません。



Live DVDは諦めてネットインストール用CD-Rからインストールする

Live DVDはあきらめてネットインストール用の「32-bit 510MB image」をダウンロードしました。
https://getfedora.org/ja/workstation/download/
このファイルをCD-Rライティングソフト ImgBurn を使ってCD-Rに書き込みました。


CD-Rからブートする

XPパソコンをCD-RからブートさせるためBIOS画面を開いて設定します。
この設定で起動するとCD-Rを読み取ってFedoraインストーラーが起動します。


同じくインストール中にスリープする

ようこそ画面が表示されたら日本語を選択します。

インストール概要が表示されます。
「!」マークのオレンジの三角形が付いてるボタンを一つずつ設定します。

ネットワークとホスト名は有線LANのDHCP環境なら設定不要だと思いますが、Wi-Fi環境なのでルーターの接続を設定しました。

インストール先は内蔵ドライブのパーティションを「すべて削除」して「再利用」に設定しました。

インストールソースはネットワーク上の最寄りのミラーを選択しました。
このあとインターネット上の最寄りのリポジトリーに自動で接続されるので「パッケージメタデータのダウンロード中」が終わるまで放置します。
15分くらいかかりました。
「パッケージメタデータのダウンロード中」が終わったらソフトウェアの選択をクリックします。
今回は初期設定のままにしました。

これでインストールの開始ができます。
開始後にハードディスクがフォーマットされます。

インストール中のユーザーの設定でROOTのパスワードとログインユーザーの作成が出来ます。

ダウンロードに約1時間かかってインストールが始まったのですが・・・
今度はインストール中にスリープしてしまいます
キーを押すとスリープが解除されますが5秒もすると再びスリープの繰返しです。


Ubuntu 15.04もスリープする

Fedora以外で最新バージョンが32bitに対応する、Ubuntu Linux(以下Ubuntu)を使うことにしました。
過去にこのPCで今より古いバージョンのUbuntuのLive DVDを起動したこともあります。
このブログを書いている時点で最新の15.04をダウンロードしたわけですが・・・
http://www.ubuntu.com/download/desktop
Fedoraと同じように起動中にスリープしました


結局CentOS6.7をインストールしました

32bit版CentOSの最新バージョン6.7をインストールしたところ勝手にスリープすることなくインストール出来ました。


なぜスリープするのか?

FedoraやUbuntuの最新版が勝手にスリープするのは起動中やインストール中など、コンソールが使えない状態なのでログを見ることが出来ません。
PCをスリープさせるているのはOSの中でもハードウェアに近いカーネルの仕業と仮説を立て、ディストリビューションごとのカーネルバージョンを調べてみました。

勝手にスリープするディストリビューション
Fedora 22 → カーネルバージョン 4.0
Ubuntu 15.04 → カーネルバージョン 3.19

スリープしないディストリビューション
CentOS 6.5 → カーネルバージョン 2.6.32-431
CentOS 6.7 → カーネルバージョン 2.6.32-573

調査数が少ないですが、バージョン3.19や4.0のLinuxカーネルと相性が悪いようです。
また「過去にUbuntuを起動したことがある」と書きましたが、当時はカーネル3.0がリリースされる前でした。

Linuxをインストールするときはハードウェアとカーネルバージョンとの相性にも気をつけたほうが良さそうです。
とは言え、今回みたいにディスクをフォーマットしてから相性が悪いことが分かっても後の祭りなので潔く買い換えたほうが時間を無駄にせずに済むと思います。


関連ブログ

XPパソコンにCentOS Linuxを上書きインストール
VirtualBoxにCentOS7.0をインストール
パソコンをフォーマットせずにKNOPPIX Linuxを使う
古いパソコンをフォーマットしてWindows10をクリーンインストールできるか?
Android4.0をVmwareやVirtualBoxで起動する

以上、参考になれば幸いです。