Windows10 の環境に Ubuntu16.04 を 追加で入れる手順の覚え書き。
またポカして吹っ飛ばした時に参照しやすいように...。
ハマった所、反省点を中心に記載します。
概要
- Windows10 のみの構成 → Windows10 + Ubuntu16.04 (ディアルブート) にする。
- 記録デバイスは一つ、Windows用のパーティーションサイズを減らし、Ubuntu用にパーティーションを追加する。
- Ubuntu16.04 での環境構築 (2016/4 時点で最新安定版のVerで例示。都度最新安定版Verを確認のこと)
Windows10 側の準備
BackUpを必ず作成
[コントロールパネル]→ [システムとセキュリティ]→ [バックアップと復元(Windows 7)]
・システムイメージのバックアップ
・ファイルのバックアップ
高速スタートアップを無効化
[コントロールパネル]→ [ハードウェアとサウンド]→ [電源オプション]→ [電源ボタンの動作を選択する(システム設定)]→
電源ボタンの定義とパスワード保護の有効化の[現在利用可能でない設定を変更します]をクリック→
シャットダウン設定の「高速スタートアップを有効にする(推奨)」のチェックを外す→
[変更の保存]を押下。
Window用領域の縮め方
[ディスクの管理]→
デフラグ
Windows用領域のサイズ縮小
Ubuntu16.04 のインストールDisk
WebからダウンロードしDVD-Rに書き出しておく。
(レスキューディスクとしても重宝する)
Ubuntu16.04 インストール
キャプチャ画面で示します。(※画像はVirtualBoxでのインストール時のもの。ディアルブート用に模してある)
画面1
画面2
画面3
画面4-1
画面4-2 swap 領域の作成
1.「基本パーティーション」
2.「この領域の終点」
3.「スワップ領域」
4.「OK」ボタン押下。
画面4-1 にて、再度
1.「空き領域」を選択
2.「+」(追加)ボタンを押下
画面4-3
1. 残りの全容量
2.「基本パーティーション」
3.「ext4ジャーナリングファイルシステム」
4.「/」を選択
5.「OK」ボタン押下
画面4-4
ブートローダをインストールするデバイスを「/dev/sda4」(画面4-3 で作成したパーティーション) を選択し、
「インストール」ボタンを押下
画面5
画面6
画面7
インストールが完了したら再起動。
Windows10 側で、ディアルブート設定
EasyBCD を用いて設定します。
画面1 起動時画面
画面2 Ubuntu 用の Entry 作成する
1. 「Add New Entry」ボタン押下
2. 「Linux/BSD」タグを選択
3. type: に**「GRUB 2」**を選択。(GRUBではない)
4. Name: に「ubuntu1604」を入力
5. Drive:に「Partetin4 」 (Ubuntu をインストールしたパーティーション)を選択
6. 「Add Enty」ボタンを押下
画面3 Entry 確認
- 「View Setting」ボタンを押下
- Entry #2 が追加されている
時刻設定
Windows側の時刻設定をUTC にする。(しないと、WindowsとUbuntuで時刻が9時間ずれる)
管理者権限でコマンドプロンプトを開き、下記のコマンドを実行する。
> reg add HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /v RealTimeIsUniversal /t REG_DWORD /d 1
再起動。
水色背景で ブートOS の選択画面が表示され、Ubuntu16.04 を選択。
Ubuntu 16.04 環境構築
ソフトウェアアップデート
$ sudo apt-get update
$ sudo apt-get upgrade
nvidia driver.
$ sudo add-apt-repository ppa:graphics-drivers/ppa
$ sudo apt-get update
$ sudo apt-get install nvidia-375
$ sudo apt-get install mesa-common-dev
$ sudo apt-get install freeglut3-dev
再起動
cuda
https://developer.nvidia.com/cuda-downloads から cuda-repo-ubuntu1604-8-0-local-ga2_8.0.61-1_amd64.deb をダウンロードする。
$ sudo dpkg -i cuda-repo-ubuntu1604-8-0-local-ga2_8.0.61-1_amd64.deb
$ sudo apt-get update
$ sudo apt-get install cuda
下コマンドでは cuda 7.5 がインストールされる。 8.0を使いたいため、下は行わない。
$ sudo apt install nvidia-cuda-toolkit
cuda インストール先にpath を通す。
~/.profile の末尾に 下行を追加
PATH="$PATH:/usr/local/cuda/bin"
反映させる。
$source ~/.profile
cudnn
https://developer.nvidia.com/rdp/cudnn-download から下記をダウンロード
- cuDNN User Guide
- cuDNN Install Guide (インストール時に目を通す)
- cuDNN v6.0 Runtime Library for Ubuntu16.04 (Deb)
- cuDNN v6.0 Developer Library for Ubuntu16.04 (Deb)
- cuDNN v6.0 Code Samples and User Guide for Ubuntu16.04 (Deb)
$ sudo dpkg -i libcudnn6_6.0.21-1+cuda8.0_amd64.deb
$ sudo dpkg -i libcudnn6-dev_6.0.21-1+cuda8.0_amd64.deb
$ sudo dpkg -i libcudnn6-doc_6.0.21-1+cuda8.0_amd64.deb
OpenBLAS
$ sudo apt-get install libopenblas-base libopenblas-dev
Google Chrome
$ wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add -
$ sudo sh -c 'echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list
$ sudo apt-get update
$ sudo apt-get install libindicator7 libappindicator1
$ sudo apt-get install google-chrome-stable
Google Drive
$ sudo add-apt-repository ppa:alessandro-strada/ppa
$ sudo apt-get update
$ sudo apt-get install google-drive-ocamlfuse
$ google-drive-ocamlfuse
GNOME(Unity)の場合は「自動起動するアプリケーション」 (gnome-session-properties) を起動し、
以下のように追加する(ディレクトリ名は上記設定に合わせる)。
名前 : google-drive-ocamlfuse
コマンド : google-drive-ocamlfuse /home/ユーザ名/GoogleDrive
C/C++
$ sudo apt-get install clang
$ sudo apt-get install gcc-multilib g++-multilib
GStreamer
$ sudo apt-get install libgstreamer-plugins-good1.0-dev
$ sudo apt-get install libgstreamer-plugins-bad1.0-dev
jansson
$ sudo apt-get install libjansson4
$ sudo apt-get install libjansson-dev
$ sudo apt-get install libjansson-doc
curl
$ sudo apt-get install libjansson-dev
ffmpeg
$ sudo apt-get install ffmpeg
openGL
$ sudo apt-get install freeglut3-dev
$ sudo apt-get install libglfw3-dev
$ sudo apt-get install libglfw3-doc
$ sudo apt-get install libglewmx-dev
ランチャ
Ubuntu の ディスクトップの 仮想画面(ワークスペース)数の調整用ツール
ランチャの Ubuntu SoftWare から Unity Tweak Tool をインストール
core 出力
~/.bashrc の最下行に 下記行を追加
ulimit -c unlimited
/etc/sysctl.conf に 下記行を追加
kernel.core_pattern = /dev/shm/core.%p
/etc/default/apport の enabled=1 を enabled=0 に変更
java (eclipse 用)
$ sudo apt-get install default-jre
python 環境
$ sudo apt install python-setuptools
$ sudo easy_install virtualenv
$ sudo easy_install virtualenvwrapper
$ sudo apt-get install build-essential cmake pkg-config
$ sudo apt-get install libjpeg8-dev libtiff5-dev libjasper-dev libpng12-dev
$ sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
$ sudo apt-get install libxvidcore-dev libx264-dev
$ sudo apt-get install libgtk-3-dev
$ sudo apt-get install libatlas-base-dev gfortran
$ sudo apt-get install python3.5-dev
$ cd ~
$ wget https://bootstrap.pypa.io/get-pip.py
$ sudo python3 get-pip.py
$ sudo pip3 install virtualenv virtualenvwrapper
$ sudo rm -rf ~/get-pip.py ~/.cache/pip
$ sudo pip3 install matplotlib
$ sudo pip3 install pandas
$ sudo pip3 install jupyter
virtualenv & virtualenvwrapper
$ export WORKON_HOME=$HOME/.virtualenvs
$ source /usr/local/bin/virtualenvwrapper.sh
$ echo -e "\n# virtualenv and virtualenvwrapper" >> ~/.bashrc
$ echo -e "export PYTHONPATH=/usr/lib/python3/dist-packages/" >> ~/.bashrc
$ echo -e "export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3" >> ~/.bashrc
$ echo -e "export WORKON_HOME=/home/ub/.virtualenvs" >> ~/.bashrc
$ echo -e "source /usr/local/bin/virtualenvwrapper.sh" >> ~/.bashrc
$ source ~/.bashrc
$ mkvirtualenv ml -p python3
OpenCV 3.2
cuda 使用させたいため build する。
依存パッケージ インストール
$ sudo apt-get -y install libopencv-dev build-essential checkinstall cmake pkg-config yasm libjpeg-dev libjasper-dev libavcodec-dev libavformat-dev libswscale-dev libdc1394-22-dev libxine2-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev libv4l-dev python-dev python-numpy libtbb-dev libqt4-dev libgtk2.0-dev libfaac-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libtheora-dev libvorbis-dev libxvidcore-dev x264 v4l-utils ffmpeg cmake qt5-default liblapacke-dev checkinstall
ソース取得
$ cd /tmp
$ wget -O opencv.zip https://github.com/Itseez/opencv/archive/3.2.0.zip
$ wget -O opencv_contrib.zip https://github.com/Itseez/opencv_contrib/archive/3.2.0.zip
展開 (/tmp)
$ unzip opencv-3.2.0.zip
$ unzip opencv_contrib.zip
ビルド用ディレクトリ作成
$ cd /tmp/opencv-3.2.0/
$ mkdir build
(ml)環境 活性化
$ workon ml
cmake オプション指定
(ml)$ cmake -D CMAKE_BUILD_TYPE=RELEAS -D CMAKE_INSTALL_PREFIX=/opt/opencv-3.2.0 -D INSTALL_PYTHON_EXAMPLES=ON -D ENABLE_NEON=OFF -D WITH_TBB=OFF -D BUILD_TBB=OFF -D WITH_QT=ON -D WITH_OPENGL=ON -D WITH_CUBLAS=ON -D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib-3.2.0/modules -D BUILD_opencv_freetype=ON -D PYTHON_EXECUTABLE=~/.virtualenvs/ml/bin/python -D BUILD_EXAMPLES=ON ..
build & install (3時間以上要した)
(ml)$ make -j8
(ml)$ sudo make install
Python用 .so への シンボリックリンク作成
$ cd ~/.virtualenvs/ml/lib/python3.5/site-packages/
$ ln -s /opt/opencv-3.2.0/lib/python3.5/site-packages/cv2.cpython-35m-x86_64-linux-gnu.so cv2.so
プロファイラー gperftools(Google)
$ sudo apt-get install google-perftools
$ sudo apt-get install libgoogle-perftools-dev
$ sudo apt-get install kcachegrind