2020年06月02日

「Ubuntu 20.04 LTS 日本語 Remix」に「CUDA 10.0」+「TensorRT 7.0.0」をインストールする

1. 前提となる環境
インストールするコンピュータの仕様は以下のとおり。

--
Dell Inspiron 14 7472 Core i7モデル 18Q42P
OS:Ubuntu 20.04 LTS 日本語 Remix
CPU:インテル Core i7-8550U (4Mキャッシュ、最大4.0GHz)
GPU:NVIDIA GeForce MX150 GDDR5 2GB
メモリー:8GB DDR4 2400MHz(最大16GB)
保存装置:128GB SSD (Windows10 Home 64bit) + 1TB 5400rpm HDD (Ubuntu 20.04 LTS 日本語 Remix)
--

2. 構築すべき「CUDA」環境
Ubuntu 18.04用のファイルを使ってUbuntu 20.04上に「CUDA 10.0」+「TensorRT 7.0.0」環境を構築する。

・Ubuntu 20.04 LTS
・CUDA 10.0
・cuDNN 7.6.5
・NCCL 2.6.4
・TensorRT 7.0.0

3. NVIDIA製GPU「GeForce MX150」ドライバのインストール
今回作業するコンピュータはNVIDIA製GPU「GeForce MX150」を搭載しているので、まずはこのGPUに対応する最新のドライバをインストールします。
じっさいの作業はむずかしくありませんが、基本的な考えかたを学ぶうえで、「Ubuntu 16.04 LTSにNVIDIA製ドライバーをインストールする3つの方法」がたいへん参考になりました。
「Ubuntu 20.04 LTS 日本語 Remix」で「GeForce MX150」用ドライバをインストールするには、「ソフトウェアとアップデート」を起動し、「追加のドライバー」タブを開きます。
すこし時間がかかって、使用できるドライバの一覧が表示されます。
型式が「NVIDIA Corporation: GP108M [GeForce MX150]」と表示されているのを確認して、いくつか選択肢が示されたら基本的に最新のものを選択します。
2020年6月2日現在の最新バージョンは「440」なので、「NVIDIA driver metapackageをnvidia-driver-440から使用します(プロプライエタリ、検証済み)」ボタンにチェックをいれます。
その状態で「変更の適用」をクリックすると、インストール処理がはじまりますが、終わるまでじゃっかん時間がかかります。
インストール処理が終わったら、「閉じる」をクリックして「ソフトウェアとアップデート」ウインドウを閉じてからシステムを再起動すると、標準の「Nouveau」ドライバではなくNVIDIA製「nvidia-440」ドライバで立ちあがります。
ターミナルをひらいて、「$ nvidia-smi」コマンドをたたいてみて、ドライバのバージョンやGPUの型式が正しく表示されることを確認しておきます。

$ nvidia-smi


デスクトップ関連の設定は、「$ nvidia-settings」コマンドを使って、グラフィカルにおこなうことができます。

$ nvidia-settings


設定内容は「⁠~/.nvidia-settings-rc」に保存され、ログインのたびに「/etc/xdg/autostart/nvidia-settings-autostart.desktop」がこの設定内容を読みこんで、反映させる仕組みです。
NVIDIA製「nvidia-440」ドライバのドキュメント類は、「⁠/usr/share/doc/nvidia-driver-440/index.html」に保管されています。
インストールしたNVIDIA製ドライバのバージョンは、以下のコマンドで確認できます。

$ cat /proc/driver/nvidia/version


4. 「CUDA 10.0」インストールまえの準備作業
「CUDA 10.0」をインストールする方法はいくつかありますが、NVIDIAウェブサイト「CUDA Toolkit 10.0 Archive」ページからUbuntu18.04用runファイル「cuda_10.0.130_410.48_linux.run」をダウンロードして、手動で「CUDA 10.0」をインストールすることにしました。
やってみてからの感想ですが、いろいろなところで互換性の問題がおこりやすい「CUDA」関連ライブラリについては、結果的にrunファイルでインストールして手動でバージョンを管理するのが一番いいと思います。
パッケージの競合という問題がないので、複数のバージョンをインストールしたうえで、パスとショートカットでバージョンを切りかえて使う、ということができるのもおおきなメリットといえます。
GPUドライバのみ別途Ubuntuパッケージで管理したうえで、ツールキットをrunファイルからインストールするだけなら、すべての処理をグラフィカルログイン状態で完了でき、システムに致命的なダメージをあたえかねないむずかしいプロセスもありません。

NVIDIA CUDA Installation Guide for Linux」ページの指示にしたがって、「CUDA 10.0」をインストールするまえに必要な確認作業、準備作業をおこないます。

「CUDA 10.0」に対応したGPUの確認。
$ lspci | grep -i nvidia
01:00.0 3D controller: NVIDIA Corporation GP108M [GeForce MX150] (rev a1)


Linux OSの対応状況確認。「Ubuntu 20.04 LTS」は対応ディストリビューションのリストにはいっていませんが、このまますすめていきます。
$ uname -m && cat /etc/*release
x86_64
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=20.04
DISTRIB_CODENAME=focal
DISTRIB_DESCRIPTION="Ubuntu 20.04 LTS"
NAME="Ubuntu"
VERSION="20.04 LTS (Focal Fossa)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 20.04 LTS"
VERSION_ID="20.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=focal
UBUNTU_CODENAME=focal


コンパイラの存在およびバージョンを確認。「CUDA 10.0」は「Ubuntu 20.04 LTS」には対応しておらず、「Ubuntu 20.04 LTS」標準の「gcc-9」と の互換性に問題があります。
$ gcc --version
gcc-9 (Ubuntu 9.3.0-10ubuntu2) 9.3.0
Copyright (C) 2019 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.


そのため、あらかじめ互換性のある「gcc-7」をインストールし、「CUDA-10.0」ライブラリのインストール作業および「CUDA-10.0」環境でのビルド作業では優先的に「gcc-7」が使用されるように設定します。

$ sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 90
$ sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-9 90

$ sudo apt-get install gcc-7 g++-7

$ sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 100
$ sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-7 100


こうした「gcc-7」が必要なインストール作業が終わったら、かならず「gcc-7」「g++-7」の優先順位をさげて、自動モードでシステム標準の「gcc-9」「g++-9」が使われるように設定をもどしておきます。

$ sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 70
$ sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-7 70


Linuxカーネルのバージョン確認。
$ uname -r
5.4.0-33-generic


Linuxカーネルのヘッダと開発キットをインストール。
$ sudo apt-get install linux-headers-$(uname -r)


5. 「CUDA 10.0」のインストール
CUDA Toolkit 10.0 Archive」ページで「Linux」「x86_64」「Ubuntu」「18.04」「runfile (local)」を選択し、「Download Installers for Linux Ubuntu 18.04 x86_64」タブを開きます。
「Base Installer」「Patch 1 (Released May 10, 2019)」それぞれの「Download」ボタンを押して、「cuda_10.0.130_410.48_linux.run」「cuda_10.0.130.1_linux.run」をダウンロードします。
ファイルをダウンロードしたディレクトリへ移動し、ベースインストーラのrunファイルに実行権限を付与してから、「sudo」で実行します。
長い使用許諾書を「Enter」キーを押して全部表示してから「accept」し、「Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 410.48?」には、すでに最新ドライバ「440」をインストールしているので「no」と回答します。
「Install the CUDA 10.0 Toolkit?」に「yes」と回答し、「/usr/local/cuda-10.0」にライブラリをインストールのうえ「/usr/local/cuda」からシンボリックリンクをはり、動作確認のためのサンプルファイルは「~/NVIDIA_CUDA-10.0_Samples」にコピーする設定にします。

$ chmod +x cuda_10.0.130_410.48_linux.run
$ sudo ./cuda_10.0.130_410.48_linux.run

Do you accept the previously read EULA?
accept/decline/quit: accept

Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 410.48?
(y)es/(n)o/(q)uit: no

Install the CUDA 10.0 Toolkit?
(y)es/(n)o/(q)uit: yes

Enter Toolkit Location
[ default is /usr/local/cuda-10.0 ]:

Do you want to install a symbolic link at /usr/local/cuda?
(y)es/(n)o/(q)uit: yes

Install the CUDA 10.0 Samples?
(y)es/(n)o/(q)uit: yes

Enter CUDA Samples Location
[ default is /home/username ]:

Installing the CUDA Toolkit in /usr/local/cuda-10.0 ...
Installing the CUDA Samples in /home/username ...
Copying samples to /home/username/NVIDIA_CUDA-10.0_Samples now...
Finished copying samples.

===========
= Summary =
===========

Driver: Not Selected
Toolkit: Installed in /usr/local/cuda-10.0
Samples: Installed in /home/username

Please make sure that
- PATH includes /usr/local/cuda-10.0/bin
- LD_LIBRARY_PATH includes /usr/local/cuda-10.0/lib64, or, add /usr/local/cuda-10.0/lib64 to /etc/ld.so.conf and run ldconfig as root

To uninstall the CUDA Toolkit, run the uninstall script in /usr/local/cuda-10.0/bin

Please see CUDA_Installation_Guide_Linux.pdf in /usr/local/cuda-10.0/doc/pdf for detailed information on setting up CUDA.

***WARNING: Incomplete installation! This installation did not install the CUDA Driver. A driver of version at least 384.00 is required for CUDA 10.0 functionality to work.
To install the driver using this installer, run the following command, replacing with the name of this run file:
sudo .run -silent -driver

Logfile is /tmp/cuda_install_4325.log


ベースインストーラのインストール処理が終わったら、パッチをあてていきます。
「CUDA 10.0 Toolkit」をインストールしたディレクトリ「/usr/local/cuda-10.0」をターゲットに、パッチファイルを実行するだけです。

chmod +x cuda_10.0.130.1_linux.run
$ sudo ./cuda_10.0.130.1_linux.run

Do you accept the previously read EULA?
accept/decline/quit: accept

Enter CUDA Toolkit installation directory
[ default is /usr/local/cuda-10.0 ]:

Installation complete!
Installation directory: /usr/local/cuda-10.0


ここまでの作業が終わったら、「~/.bashrc」に以下二行を追加して、パスをとおしておきます。

export PATH=/usr/local/cuda-10.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-10.0/lib64:${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}


あるいは、以下のようなかたちで「CUDA_HOME」変数を使ってもO.K.です。

# CUDA 10.0 path
export CUDA_HOME="/usr/local/cuda-10.0"
export PATH=$PATH:$CUDA_HOME/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$CUDA_HOME/lib64:/usr/lib/x86_64-linux-gnu/
export CPATH=$CPATH:$CUDA_HOME/include


いったんターミナルを閉じるか、「$ source ~/.bachrc」コマンドを実行して、パスの変更を反映させます。
いくつかライブラリがたりない(「libGLU.so」「libX11.so」「libXi.so」「libXmu.so」「libGL.so」など)ことがあるので、必要な場合はあとで該当パッケージをインストールし、パスのとおった「/usr/lib」からライブラリファイルへシンボリックリンクをはっておけば問題ありません。

$ sudo apt install g++ freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libglu1-mesa libglu1-mesa-dev


ここまででインストール作業は完了です。
以下のコマンドを実行して、インストールした「CUDA 10.0」のバージョンが正しく表示されることを確認します。

$ nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2018 NVIDIA Corporation
Built on Sat_Aug_25_21:08:01_CDT_2018
Cuda compilation tools, release 10.0, V10.0.130


問題なければ、サンプルのビルドを実行します。
$ cd ~/NVIDIA_CUDA-10.0_Samples
$ make


ビルド処理が終わったら、「~/NVIDIA_CUDA-10.0_Samples/bin/x86_64/linux/release/」以下に「deviceQuery」が生成するので、それを実行してみます。

$ ~/NVIDIA_CUDA-10.0_Samples/bin/x86_64/linux/release/deviceQuery


デバイスが検出され、「Result = PASS」と表示されていれば、インストールは正常に完了しています。

NVIDIA公式インストール手順書にも記載がありますが、「CUDA Toolkit 10.0」をrunfileを使ってインストールしたときは、以下のスクリプトを実行することでアンインストールできます。

$ sudo /usr/local/cuda-10.0/bin/uninstall_cuda_10.0.pl


なお、今回のインストール方法では必要ありませんが、NVIDIA製ドライバをrunfileを使ってインストールしたときのアンインストールコマンドは以下のとおりです。

$ sudo /usr/bin/nvidia-uninstall


6. 「cuDNN 7.6.5」のインストール
基本的には、NVIDIA公式の「cuDNN Installation Guide」の指示にしたがって、インストール作業をすすめていきます。
まず「cuDNN Download」ページへいき、必要におうじてログインしたうえで、「I Agree To the Terms of the cuDNN Software License Agreement」にチェックをいれます。
ここで「Download cuDNN」をクリックして、「cuDNN Download」ページへ飛び、「Download cuDNN v7.6.5 (November 5th, 2019), for CUDA 10.0」をクリックしてタブをひらきます。
一覧表のなかから「cuDNN Library for Linux」をクリックして、「cudnn-10.0-linux-x64-v7.6.5.32.tgz」をダウンロードします。
ダウンロードしたディレクトリへ移動してファイルを解凍のうえ、「CUDA 10.0」ライブラリをインストールした「/usr/local/cuda-10.0」ディレクトリ以下に配置し、読み込み権限をあたえておきます。

$ tar -xzvf cudnn-10.0-linux-x64-v7.6.5.32.tgz
cuda/include/cudnn.h
cuda/NVIDIA_SLA_cuDNN_Support.txt
cuda/lib64/libcudnn.so
cuda/lib64/libcudnn.so.7
cuda/lib64/libcudnn.so.7.6.5
cuda/lib64/libcudnn_static.a
$ sudo cp cuda/include/cudnn.h /usr/local/cuda/include
$ sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64
$ sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*


「cuDNN」ライブラリの配置が完了したら、以下のコマンドで正しく配置されているかどうか確認します。

$ cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
#define CUDNN_MAJOR 7
#define CUDNN_MINOR 6
#define CUDNN_PATCHLEVEL 5
--
#define CUDNN_VERSION (CUDNN_MAJOR * 1000 + CUDNN_MINOR * 100 + CUDNN_PATCHLEVEL)

#include "driver_types.h"


インストールしたバージョン「7.6.5」が正しく表示されれば、問題ありません。
最後に、debian package「cuDNN Code Samples and User Guide for Ubuntu18.04 (Deb)」をクリックしてダウンロードした「libcudnn7-doc_7.6.5.32-1+cuda10.0_amd64.deb」からサンプルを抽出、ビルドしてみます。

$ dpkg-deb -x libcudnn7-doc_7.6.5.32-1+cuda10.0_amd64.deb ./
$ cp -r usr/src/cudnn_samples_v7/ ~/
$ cd ~/cudnn_samples_v7/mnistCUDNN
$ make clean && make
$ ./mnistCUDNN

.....
Test passed!


「Test passed!」と表示が出れば、「cuDNN 7.6.5」のインストール作業は完了しています。

7. 「NCCL 2.6.4」のインストール
「NCCL 2.6.4」をインストールするには、NVIDIA公式の「NCCL 2.6.4 Installation Guide」にしたがって、作業をすすめます。

まず「NVIDIA Collective Communications Library (NCCL) Download Page」へいき、必要におうじてログインしたうえで、「I Agree To the Terms of the Software License Agreement」にチェックをいれます。
「Download NCCL v2.6.4, for CUDA 10.0, March 26,2020」をクリックしてタブをひらき、「O/S agnostic local installer」をクリックして、「nccl_2.6.4-1+cuda10.0_x86_64.txz」をダウンロードします。
ダウンロードしたディレクトリに移動したら、ファイルを解凍のうえ、「/usr/local/nccl-2.6」ディレクトリ以下へ配置します。

$ tar xvf nccl_2.6.4-1+cuda10.0_x86_64.txz
nccl_2.6.4-1+cuda10.0_x86_64/include/
nccl_2.6.4-1+cuda10.0_x86_64/include/nccl_net.h
nccl_2.6.4-1+cuda10.0_x86_64/include/nccl.h
nccl_2.6.4-1+cuda10.0_x86_64/lib/
nccl_2.6.4-1+cuda10.0_x86_64/lib/pkgconfig/
nccl_2.6.4-1+cuda10.0_x86_64/lib/pkgconfig/nccl.pc
nccl_2.6.4-1+cuda10.0_x86_64/lib/libnccl.so
nccl_2.6.4-1+cuda10.0_x86_64/lib/libnccl.so.2
nccl_2.6.4-1+cuda10.0_x86_64/lib/libnccl_static.a
nccl_2.6.4-1+cuda10.0_x86_64/lib/libnccl.so.2.6.4
nccl_2.6.4-1+cuda10.0_x86_64/LICENSE.txt
$ sudo cp -r nccl_2.6.4-1+cuda10.0_x86_64 /usr/local/nccl-2.6


最後に、「.bashrc」に以下の行を追加し、「/usr/local/nccl-2.6」へパスをとおしておきます。

export NCCL_ROOT="/usr/local/nccl-2.6"
export CPATH=$CPATH:$NCCL_ROOT/include
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$NCCL_ROOT/lib/
export LIBRARY_PATH=$LIBRARY_PATH:$NCCL_ROOT/lib/


いったんターミナルを閉じるか、「$ source ~/.bachrc」コマンドを実行して、パスの変更を反映させます。

8. 「TensorRT 7.0.0」インストール

NVIDIA TensorRT 7.x Download
」ページへいき、必要におうじてログインしたうえで、「I Agree To the Terms of the Software License Agreement」にチェックをいれます。
「Tar File Install Packages」リストのなかの「TensorRT 7.0.0.11 for Ubuntu 18.04 and CUDA 10.0 tar package」をクリックして、「TensorRT-7.0.0.11.Ubuntu-18.04.x86_64-gnu.cuda-10.0.cudnn7.6.tar.gz」ファイルをダウンロードします。
ダウンロードしたディレクトリへ移動して、ファイルを解凍のうえ、適当なディレクトリ(ここでは「/usr/local/TensorRT-7.0.0」)に配置します。

$ tar xzvf TensorRT-7.0.0.11.Ubuntu-18.04.x86_64-gnu.cuda-10.0.cudnn7.6.tar.gz
$ sudo cp -r TensorRT-7.0.0.11 /usr/local/TensorRT-7.0.0


「.bashrc」に以下の行を追加し、「TensorRT-7.0.0」ディレクトリへパスをとおしておきます。

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/TensorRT-7.0.0/lib


あとは、NVIDIA公式の「TensorRT 7.0.0 Installation Guide」の手順どおり、「Python TensorRT」「Python UFF」「Python graphsurgeon」パッケージをインストールします。
「TensorRT 7.0.0」をインストールしたディレクトリの「samples/sampleMNIST/」へいき、サンプルをmakeしてみます。
「TensorRT 7.0.0」をインストールしたディレクトリの「bin」に「sample_mnist」ができているので、これを実行して「TensorRT 7.0.0」が正しくインストールされていることを確認します。
この生成したサンプルファイルをきちんと動かすためには、あらかじめ「data/mnist/download_pgms.py」を実行しておく必要があるかもしれません。

9. 「CUPTI」パス登録
「CUPTI」は「CUDA 10.0 Toolkit」にふくまれているため、あらためてインストールする必要はありませんが、パスをとおしておく必要はあります。
「.bashrc」に以下の一行を追加し、いったんターミナルを閉じるか「$ source ~/.bachrc」コマンドを実行するかして、パスの変更を反映させます。

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-10.0/extras/CUPTI/lib64


以上で、「Ubuntu 20.04 TLS」上に「CUDA 10.0」+「TensorRT 7.0.0」環境を構築する作業は完了です。
今回は「TensorRT 7.0.0」環境が必要だったため、動作要件となっている「CUDA 10.0」+「cuDNN 7.6.5」環境の構築をめざした記述になっていますが、 より広い意味で現時点で一般性の高い「Ubuntu 20.04 LTS」+「CUDA 10.0」+「cuDNN 7.6.5」+「NCCL 2.6.4」という環境を構築するための手引きとしてもご参照いただければ幸甚です。
上記手順にしたがってインストールすれば、だいたいうまくいくと思いますが、「CUDA」の動作に問題が発生するときは以下のパス設定(上記手順のなかで設定した「CUDA」関連ライブラリに関係する部分のみ)を再確認してみてください。
$ printenv
LD_LIBRARY_PATH=:/usr/local/cuda-10.0/lib64:/usr/local/cuda-10.0/extras/CUPTI/lib64:/usr/local/nccl-2.6/lib/:/usr/local/TensorRT-7.0.0/lib
CPATH=:/usr/local/cuda-10.0/include:/usr/local/nccl-2.6/include
PATH=/usr/local/cuda-10.0/bin



参考ウェブページ一覧表(順不同)
posted by hatakazu at 20:27| Comment(0) | Linuxとか | 更新情報をチェックする

「Ubuntu 20.04 LTS 日本語 Remix」のインストール、Windows10とのデュアルブート化

1. 基本的なOS構成設計
Inspiron14はWindows10プリインストールモデル、記憶領域は「SSD 128GB」+「HDD 1TB」で、最初は以下のようなかたちになっています。

「SSD 128GB」:起動ディスク、Windows Boot Manager -> Windows10起動。
「HDD 1TB」:データ領域。

今回は、「Ubuntu 20.04 LTS 日本語 Remix」をインストールして、「Windows10 Home 64bit」とのデュアルブート環境を構築します。
hatakazuは自宅では基本的にLinuxしか使わないので、デフォルトでUbuntu20.04が立ちあがるかたちにしておき、必要なときだけWindows10を起動できればO.K.です。
そのため、以下のような設計としました。

「SSD 128GB」:Windows Boot Manager -> Windows10起動。
「HDD 1TB」:起動ディスク、GRUB -> Ubuntu20.04起動。Windows10と共有するデータ領域。

GRUB画面でWindows Boot Managerを呼びだすことができるので、Windows10が必要な場合はそこから起動、通常は「Enter」キー押下によって(もしくは一定時間経過後に自動的に)Ubuntu20.04が立ちあがる仕様です。
この設計にしたおおきな理由は、「HDD 1TB」のUbuntu20.04環境が「SSD 128GB」のWindows10環境に依存してないため、Ubuntu20.04がわの設定変更やOS再インストールなどのさいにWindows10がわからなんの制約も受けないことです。
場合によっては、「HDD 1TB」を取りはずしたり交換したりしても、Windows10はまったく問題なく起動するわけです。
その意味で、非常に自由度が高く、hatakazuのようにいろいろ遊んでみたいひとにとっては最適なデュアルブート構成になっていると思います。
あらかじめWindows10上で

・回復ドライブの作成:「コントロールパネル」→「システムとセキュリティ」→「回復ドライブの作成」
・高速スタートアップの無効化:「コントロールパネル」→「ハードウェアとサウンド」→「電源オプション」→「システム設定」から「現在利用可能ではない設定を変更します」をクリック、「高速スタートアップを有効にする」のチェックをはずして設定を保存
・Ubuntu 20.04をインストールするスペースの確保:「コントロールパネル」→「システムとセキュリティ」→「ハードディスクパーティションの作成とフォーマット」

はすませておきます。
記憶装置は「SSD 128GB」+「HDD 1TB」なので、Linuxをインストールする領域として、「HDD 1TB」上におよそ700GBを確保しました。

2. 「Ubuntu 20.04 LTS 日本語 Remix」インストール用USBメモリの作成
Ubuntu Japanese Team」サイトから「Ubuntu Desktop 日本語 Remixのダウンロード」ページへいき、最新の長期サポート版日本語対応バージョン「Ubuntu 20.04 LTS 日本語 Remix」のイメージファイル「ubuntu-ja-20.04-desktop-amd64.iso」を取得します。
イメージファイルをダウンロードしたディレクトリへ移動して、USBメモリを挿入したあと、以下のコマンドでUSBメモリのデバイス名を確認します。

$ sudo fdisk -l


ハードディスク一台の構成であれば、USBメモリは「/dev/sdb」などに割りあてられていることが多いと思います。
USBメモリに余計なパーティションが設定してあると、インストールイメージを書きこむさいに失敗することがあるので、あらかじめパーティション構成を確認しておきます。

$ sudo fdisk /dev/sdb


「d」コマンドで既存パーティションを削除、「n」コマンドで新規パーティションを作成、USBメモリ全体をひとつの基本パーティションにしておきます。
イメージを書きこむためにはddコマンドを使用しますが、「if」オプションで対象となるイメージファイルを、「of」オプションで書きこみ先のデバイスを指定します。

$ sudo dd if=./ubuntu-ja-20.04-desktop-amd64.iso of=/dev/sdb


これで「Ubuntu 20.04 LTS 日本語 Remix」インストール用USBメモリができました。

3. 「Ubuntu 20.04 LTS 日本語 Remix」インストール
コンピュータを再起動して、Dellのロード画面が表示されているあいだに「F2」キーを押し、Setup Utilityを起動します。

・「Secure Boot Enable」項目をひらいて、「Disabled」を選択する。
・「Fastboot」検査をスキップしない設定にする。初期値のままでO.K.だった。
・「CSM」項目が存在しない。存在する場合は有効化しておく必要があると思う。
・「Virtualization」初期値で有効化されていたが、あえて無効化する必要もないので、そのままにした。Winsows10上で「VirtualBox」などの仮想化環境を使う場合は、有効化されていることを確認する。
・「POST Behavior」→「Fn Lock Options」にて、「Fn lock」にチェックをいれて、「Lock Mode Disabled/Standard」を選択する。

ここまでの設定を保存してUSBメモリを挿入のうえInspironを再起動し、「F12」を押下してBoot Menu画面を開いて、挿入したUSBメモリからブートします。
まずUSBイメージのファイルが壊れてないかチェックが走りますが、二度目以降は「Ctrl」+「C」キーを押してスキップすることができます。
表示される画面で「Ubuntuを試す」オプションを選択、デスクトップが表示されるところまでいけば、Ubuntu20.04がこのコンピュータ上で問題なく動作することが確認できたということです。
デスクトップ上にある「Ubuntu 20.04 のインストール」アイコンをダブルクリックして、インストールを開始します。
インストール手順は、たいていのLinuxディストリビューションでだいたいおなじような流れになっていますが、Ubuntu20.04の場合はとくにかんたんです。
ただし、Windows10とのデュアルブートにする場合は、「インストールの種類」画面ですこし気をつけないといけません。
「それ以外」ボタンにチェックをいれて「続ける」をクリック、パーティション設定画面へすすみます。
Ubuntu20.04をインストールする領域として「HDD 1TB」上におよそ700GBを確保したので、そのうち15GBていどを「swap area」に、残りをすべて「/」に割り当てることにします。
そしてブートローダは「HDD 1TB」のMBRにインストール、Setup Utilityで優先起動ドライブに設定して最初にGRUBが起動するようにし、必要なときだけGRUBからWindows Boot Managerを選択して「SSD 128GB」のWindows10を起動する設計でした。
そのため、「インストールの種類」画面では、最終的に以下のようなパーティション構成になります。

/dev/sda1 ntfs 300GBくらい(Ubuntu20.04とWindows10で共有するデータ領域)
/dev/sda2 ext4 / 680GBくらい
/dev/sda3 swap 15GBくらい

ブートローダをインストールするデバイス
/dev/sda


Windows10がプリインストールされている「SSD 128GB」は、「/dev/sdc」として認識されていますが、これにはまったくさわらずそのままにしておきます。
「インストール」をクリックすると、タイムゾーンやキーボードやユーザの設定をへて、インストールがはじまります。
インストールが終わったら、インストールメディアを抜いてから再起動するように指示されるので、UBSメモリを取りはずしてから「Enter」キーを押下してコンピュータをリブートさせます。
起動時に「F2」キーを押してSetup Utility画面を開き、「HDD 1TB」を優先起動するよう指定します。
それによってまずGRUB画面が開くようになるので、GRUB画面でUbuntu20.04(デフォルト)とWindows10(Windows Boot Managerを指定)を選択起動できる、設計どおりの仕様を実現したことになります。
Ubuntu20.04を起動、オープニング画面で登録したユーザを選んで設定したパスワードを入力すれば、Ubuntu20.04のデスクトップがあらわれるはずです。

4. 「Ubuntu 20.04 LTS 日本語 Remix」インストール後の設定
「Ubuntu 20.04 LTS 日本語 Remix」をインストールしたあと、hatakazuの使用形態にあわせて環境をととのえた部分を、以下に列挙しておきます。

・時刻設定
Windows10とのデュアルブート環境では、標準ではUCTとなるUbuntu20.04の時計を、Windows10とおなじ現地時間に設定する必要があります。
UCTのままだと、Windows10とUbuntu20.04をいったりきたりするたびに、時計がどんどんずれていってしまうからです。
以下のコマンドを実行することで、「/etc/adjtime」が作成されて、Ubuntu20.04を現地時間で動かすことができます。
UCTにもどすときは、最後の「1」を「0」にして、おなじコマンドを実行すればO.K.です。

$ sudo timedatectl set-local-rtc 1


・ターミナル
「Ctrl」+「Alt」+「T」で端末が開くので、ランチャにあらわれたアイコンを右クリックして、ランチャに固定しておきます。

・スーパーユーザのパスワード設定
以下のコマンドを実行し、必要になる場合にそなえて、あらかじめスーパーユーザのパスワードを設定しておきます。

$ sudo passwd root


・設定画面
dock位置変更、アイコンサイズ変更、タッチパッドのエッジスクロール有効化、など必要におうじて。

・Javaランタイムのインストール
せっかくなので、ランタイムをふくむ「Java Development Kit」をまるごとインストールしておきます。
Java SE Development Kit 14 Downloads」ページから「jdk-14.0.1_linux-x64_bin.tar.gz」をダウンロード、解凍して「/usr/lib/jdk-14.0.1」に設置します。

$ tar xzvf jdk-14.0.1_linux-x64_bin.tar.gz
$ sudo cp -r jdk-14.0.1 /usr/lib/jdk-14.0.1


そのあと、エディタで「~/.bashrc」に以下二行を追記して、パスをとおしておきます。

export JAVA_HOME=/usr/lib/jdk-14.0.1
export PATH=$PATH:$JAVA_HOME/bin


「$ java -version」コマンドを実行して、バージョン情報が正しく表示されれば、パスの設定はO.K.です。

・「google-chrome-stable」インストール
パソコン版Chrome」サイトで「Chromeをダウンロード」ボタンを押し、「64 bit .deb (Debian / Ubuntu 版)」を選択してから、「同意してインストール」ボタンを押します。
「google-chrome-stable_current_amd64.deb」ファイルをダウンロードしたら、ダウンロードしたフォルダへ移動して、以下のコマンドを入力してインストールします。
ターミナルから「google-chrome-stable」コマンドで起動できるようになるので、ランチャにあらわれたアイコンを右クリックして、ランチャに固定しておきます。

$ sudo apt install ./google-chrome-stable_current_amd64.deb


--別法--
$ sudo sh -c 'echo "deb http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list'
$ sudo wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add -
$ sudo apt update
$ sudo apt install google-chrome-stable

--

「google-chrome-stable」を起動したときに、「NSS」の更新を要求するエラーメッセージが出た場合、要求されたパッケージをインストールすれば起動できるようになります。

$ sudo apt install libnss3


・「exfat」フォーマット対応
exfat形式のデバイス(SDカードなど)をあつかえるよう、必要なパッケージをインストールしておきます。

$ sudo apt install exfat-fuse exfat-utils


たとえばSDカードのデバイス名が「/dev/sd」だとしたら、「mkfs.exfat /dev/sd」コマンドで、SDカードをexfat形式でフォーマットできるようになります。

・「MTP」対応
Android端末とのMTP接続には、MTP関連のファイルをまとめてインストールします。

$ sudo apt install mtpfs mtp-tools gmtp


・「7z」対応
このごろサイズの大きいファイルを配布するのに、「7z」形式が増えてきているので、それに対応する「p7zip」パッケージをインストールします。
これにより、「$ p7zip -d xxxxx.7z」コマンドで「7z」形式のファイルを解凍できるようになります。

$ sudo apt install p7zip p7zip-full


・パッケージ管理ソフト「synaptic」
以下のコマンドでインストール、「$ synaptic」コマンドで起動して、これもランチャに固定しておきます。

$ sudo apt install synaptic


・音楽管理ソフト「gtkpod」
初代iPod Shuffleに音楽ファイルを転送するため、「gtkpod」をインストールします。

$ sudo apt install gtkpod


初代iPod Shuffleが自動的に認識されないときは、「synaptic」を起動して、初代iPod Shuffleの認識を妨げている「libgpod-common」を削除してやればO.K.です。
iPodが認識されているのに「gtkpod」にロードできない場合は、一度iPod内のファイルをすべて削除してから「gtkpod」へつなぎ、「Tools」 -> 「Create iPod's Directories...」でiPod内のディレクトリを再構築する必要があるかもしれません。

・組版環境「texlive」および楽譜組版パッケージ「MusiXTeX」

$ sudo apt install texlive-lang-japanese texlive-music


・エディタ「emacs」

$ sudo apt install emacs emacs-mozc


・「emacs」で使うフォント

$ sudo apt install fonts-takao-gothic fonts-takao-mincho fonts-takao-pgothic
$ sudo rm /etc/fonts/conf.d/65-fonts-takao-*


・「skype」インストール

skypeをダウンロード」ページの「デスクトップ用skype」から「Skype for Linux DEBをダウンロード」を選択し、Ubuntu用インストールファイル「skypeforlinux-64.deb」を取得して、aptコマンドでインストールします。
インストール後は「skypeforlinux」コマンドで起動できます。
「Ubuntu Software」からインストールできる「skype」アプリケーションは、現時点で日本語でのチャットができないようなので、上記インストールを実行するのがおすすめです。

$ sudo apt install ./skypeforlinux-64.deb



参考ウェブページ一覧表(順不同)

http://www.dell.com/support/home/jp/ja/jpdhs1/product-support/product/inspiron-14-7472-laptop/diagnose
http://www.dell.com/support/manuals/jp/ja/jpbsd1/inspiron-14-7472-laptop/inspiron-14-7472-servicemanual/inspiron-14-7000-サービスマニュアル
https://itsfoss.com/install-ubuntu-1404-dual-boot-mode-windows-8-81-uefi/
https://www.g104robo.com/entry/ubuntu-dualboot-win10-uefi
https://hnakamur.github.io/blog/2018/03/23/ubuntu-17.10-windows10-dual-boot/
posted by hatakazu at 19:24| Comment(0) | Linuxとか | 更新情報をチェックする