CRUX 3.6.1をインストールする(UEFI編)
2022-01-31
こんにちは。今回のテーマは「CRUX 3.6.1をインストールする(UEFI編)」です。UEFIシステムのマシンにCRUXをインストールしていきます。BIOSマシンへのインストールはCRUX 3.6.1をインストールする(BIOS編)のほうが役立つと思います。
尚、インストール手順に詰まったら公式ハンドブックを参考にしてください。
[adsense02]
メディアの準備
インストールメディアはCRUXの公式サイトからisoファイルをダウンロードします。crux-3.6.1.isoファイルとcrux-3.6.1.md5ファイルを同一ディレクトリ上に配置し以下コマンドを実行してダウンロードしたファイルに誤りがないかチェックします。
md5sum -c crux-3.6.1.md5sum
DVDメディアを作成する場合
お手持ちのバーニングソフトでisoファイルをDVDに焼き込みます。
USBスティックを作成する場合
Linuxで作成する場合はddコマンドで作成します。
dd bs=4M if=[path/to/isofile] of=/dev/sdX status=progress && sync
インストールメディアの起動
用意したDVDもしくはUSBを入れて起動します。UEFI設定にて予め起動ディスクの優先順位をメディアが優先になるように設定しておいてください。起動すると以下のようなGRUB画面が出ます。
“Install/Upgrade CRUX 3.6 (UEFI mode)”を選択してインストールメディアを起動します。起動すると自動でログインしてプロンプトが出ます。
尚、Oracle VirtualBoxでCRUX3.6.1のインストールメディアを起動する場合はCRUX 3.6.1のインストールメディアをEFIモードのVirtualBoxで起動する方法を参考にしてください。
キーボードレイアウトの設定
起動初期はキーボードのレイアウトがUSですので、何かと不便です。以下コマンドで日本語キーボードレイアウトに設定します。
laodkeys jp106
キーボードレイアウトは/usr/share/kbd/keymaps/i386/qwerty/ディレクトリ内にあるファイル名で確認できます。
パーティショニング
まず、パーティショニングはCRUXのインストールメディアで行う必要はありません。他のディストリビューションのLIVEメディアのGParted等のパーティショニングツールで行うこともできます。
UEFIのシステムにインストールする場合はBIOSの場合とは少し異なります。一般的にBIOSの場合はMBRパーティションテーブルを用いることが多いですが、UEFIの場合はGPT(GUID Partition table)を用いるのが一般的です。UEFI + GPTの際のポイントはESP(EFI System Partition)を作成することです。容量は512MiB(537MB)が推奨されていますが(参考)それ以上であれば、他のサイズでも問題ありません。
既存のHDDドライブがどのパーティショニングテーブルかを調べるには以下のコマンドを使います。Disklabel typeがgptとなっていればGPTでパーティションテーブルが作成されています。
fdisk -l /dev/sdX
CRUXのインストールメディアでGPTでパーティショニングできるツールはpartedとfdiskです。cfdiskというパーティショニングツールはパーティショニングテーブルを作成した後でなら使用できます。今回のパーティショニングについてまとめると表のようになります。
項目 | 値 |
---|---|
起動システム | UEFI |
パーティションテーブル | GPT |
ESP | /dev/sda1 |
ルート(/) | /dev/sda2 |
ホーム(/home) | /dev/sda3 |
swap | /dev/sda4 |
fdiskで作成した場合、ESPのタイプはEFI systemにしてください。今回は以下のようなパーティショニングを行いました。
パーティションのフォーマット
パーティションが作成出来たらフォーマットをしておきましょう。今回はルートとホームともにext4でフォーマットします。ESPはFAT32でフォーマットします。
項目 | フォーマット |
---|---|
ESP(/dev/sda1) | FAT-32 |
ルート(/dev/sda2) | ext4 |
ホーム(/dev/sda3) | ext4 |
swap(/dev/sda4) | swap |
mkfs.fat -F32 /dev/sda1
mkfs.ext4 /dev/sda2
mkfs.ext4 /dev/sda3
mkswap /dev/sda4
パーティションのマウント
ではパーティションをマウントしましょう。スワップの読み込みをここで行っても良いです。
mount /dev/sda2 /mnt
mkdir /mnt/home
mount /dev/sda3 /mnt/home
mkdir -p /mnt/boot/efi
mount /dev/sda1 /mnt/boot/efi
swapon /dev/sda4
以下にlsblk
コマンドで出力した画像を添付します。以下のようになります。
システムのインストール
準備が整いました。ではCRUXのシステムを/mntにインストールしていきます。setupコマンドでインストールスクリプトが起動します。
setup
基本的にはここからはインストーラに従って行っていけばOKです。手順を追って説明してきます。 setupコマンド実行すると以下のような画面が出ます。
installを選択します。
システムをインストールするパーティションのマウント箇所を指定します。今回はデフォルトは/mntです。
インストールするパッケージを選択します。coreグループのパッケージは必須です。その他のグループは必要に応じてインストールしてください。今回は最小環境の構築を目指すためcoreのみを選択します。もし最初からGUI環境を構築したい場合はXorgグループの中から必要なものを選んで入れてください。
次に個別にインストールするパッケージを選択する画面に移ります。ここでYesを選ぶとパッケージごとに選択する画面となります。UEFIにインストールする場合の注意点としてはoptリポジトリのefibootmgrにチェックを入れることです。これは後にGRUB2をインストールする際に必要になります。
次にブートローダを選択します。今回はGRUB2-efiを選択します。
GRUB2-efiのインストールに必要なパッケージが表示されますのでOKを押して次に進みます。
いよいよ選択したパッケージをコピーしていきます。ここではYesを押せばスタートします。
しばらく待ちましょう。以下のような画面が出ればパッケージのコピー終了です。OKを押して終了させましょう。
CRUXシステムに入る
お待たせしました。いよいよインストールしたシステム内に入っていきます。ここから先の作業はブートローダであるGRUB2のインストール以外はCRUX 3.6.1をインストールする(BIOS編)と同内容です。
setup-chroot
ルートパスワードの設定
システムに入ったらまずrootパスワードを設定しましょう。
passwd
新たなrootパスワードと確認用のパスワードを入力します。
各種システムの設定
ここではシステムの様々な設定を行っていきます。
fstabの編集
まず起動時にマウントするデバイスの設定をしましょう。設定ファイルは/etc/fstabにあります。エディタはvimが入っていますが、パッケージでnanoを選択していればnanoも使用可能です。
vim /etc/fstab
以下に簡単な設定例を示します。予め設定例が記してありますので、該当部分のコメントアウトを外して記載すれば良いと思います。
fstab設定例
...
# <file systems> <dir> <type> <options> <dump> <pass>
/dev/sda5 / ext4 defaults 0 1
/dev/sda6 /home ext4 defaults 0 0
/dev/sda7 swap swap defaults 0 0
...
rc.confの編集
次に/etc/rc.confを設定しいきましょう。このファイルはフォントやローカルタイム、自動起動するサービスなどのシステムの基本的な設定を記載する場所です。基本的には予め記載されている設定例を編集すればOKです。設定項目は以下です。
項目 | 説明 |
---|---|
FONT | コンソールのフォント |
KEYMAP | コンソール上のキーマップ |
HOSTNAME | 他のマシンから認識されるシステムの名前 |
SYSLOG | 起動時に開始するシステムログサービス |
SERVICE | 自動起動するサービス |
rc.confの設定例
FONT=Lat2-Terminus16
KEYMAP=jp106
TIMEZONE=Asia/Tokyo
HOSTNAME=crux
SYSLOG=sysklogd
SERVICE=(lo net crond)
ネットワークの設定
rc.confのSERVICEの項目でnetを追加すると、/etc/rc.d/netのスクリプトが実行されます。このファイルでネットの接続に関する設定を行っておきましょう。
vim /etc/rc.d/net
TYPEの値を“DHCP”か“static”から選んでください。多くの場合はDHCPを選択しておけば問題なくネットに接続できるとは思いますが、IPの固定化が必要な場合などはSTATICを設定し、IP, デフォルトゲートウェイ等の設定をしてください。尚、デバイスの情報はip link
コマンドで確認できます。
localeの作成
日本語環境を構築する際にja_JP.UTF-8をサポートするように設定していきます。
localedef -f UTF-8 -i ja_JP ja_JP.UTF-8
現時点でシステムがサポートしているlocaleは以下のコマンドで確認できます。
locale -a
Linuxカーネルのビルド・インストール
実はまだ終わらないんです。ここからカーネルのビルドとインストールが始まります。カーネルビルドは難しいイメージをお持ちの方も多いかも知れませんが、マシンの情報を正しく知り、行いたいことを把握すればそこまで難しくはありません。設定項目が多いので、最初から完璧を目指さず、少しずつ望む姿に近づけていく気持ちで取り組めば気も楽になるのではないでしょうか。
デバイスの情報などはlspciコマンドで見ることができます。
以下の手順でビルドします。
cd /usr/src/linux
make menuconfig
make all && make modules_install
無事にビルドが終わったらカーネルをインストールします。/boot/ディレクトリに配置するファイルの名前はgrub-mkconfigコマンドが認識できるように“vmlinuz-”で始始まる名前にしてください。
cp arch/x86/bzImage /boot/vmlinuz-5.x
ブートローダのインストール
UEFIの場合はUEFISTUBを使ってCRUXを起動することもできますが、今回はGRUB2で起動する想定ですので、GRUB2のインストールを進めていきます。
grub-install /boot/efi
grub-mkconfig -o /boot/grub/grub.cfg
余談ですが、GRUB2のインストールコマンドは以下でも上記と同じ結果を得ます。
grub-install target=x86_64-efi efi-directory=/boot/efi
再起動・ログイン
やっと終わりました。再起動してインストールしたシステムを起動しましょう。再起動時にインストールメディアを抜くことを忘れないで下さい。
exit
poweroff # or reboot
カーネルのビルドが成功していれば無事起動すると思います。もしカーネルパニック等で起動できない場合はもう一度インストールメディアでシステムにchrootしてカーネルのビルドに挑戦してください。起動画面は以下のようになります。
再起動したら、rootでログインします。パスワードはインストール時に決めたパスワードです。
ここまででひとまずインストール作業は終了です。お疲れ様でした。
最後に
UEFIシステムへのCRUXのインストール手順を紹介しました。ESPの作成部分とブートローダのインストール部分を覗いてはBIOSマシンへのインストールとほぼ同じ手順で行えます。本記事が何かのお役に立てば幸いです。
[adsense]