Cherry TrailはEFIインストールにしか対応しておらず、デュアルブートに苦しみました。また、安価な機種なのでストレージ容量をどう節約するかに苦労しました。
この手順では、Windows 10とのデュアルブートを行います。また、GUIとなるX Window Systemや日本語ロケールはインストールしません。容量の関係上、英語のシェルのみのインストールを行います。
Arch Linuxのインストール
まず、インストールイメージをダウンロードしてUNetbootinなどでUSBに書き込んでください。パソコンを再起動し、起動時にF2を連打してUSBから起動させます。
Arch Linuxのインストールイメージを起動すると、よくあるディストロとは違いいきなりシェルに放り出されます。
シンプルさという面で言えば特徴がよく出ていて分かりやすいですが、最初は何をすればいいのか戸惑う事は間違いないでしょう。
幸運にも、Arch Linuxの公式Wikiにはインストール方法が細かく書かれています。これを参考にインストールしましょう。
なお、以下で使用するバージョンは2022.11.01です。
キーボード配列の設定
日本語キーボードを読み込みます。これがないと、フラストレーションが溜まりやすくなります。
loadkeys jp106
Wifi設定
iwdでWifiの設定を行い、インターネットに接続します。ドライバは入っているはずです(なければ苦しむ事になります。)
iwctl
(以下はiwctlの対話式インターフェース上のコマンド)
device list (無線LANデバイスの表示。wlan0があることを確認する)
station wlan0 scan (APのスキャン。まだ何も出てこない)
station wlan0 get-networks (APのSSIDの表示)
station wlan0 connect [APのSSID]
(パスワードの入力)
quit
ping 1.1.1.1 (64 bytes form ... と出てきたらCtrl-Cで終了)
パーティションの設定
fdiskを用いてArch Linuxをインストールするパーティションを1つ作成します。必要なサイズは最低2GBですが、GUIが必要ないにしても4GBはなければ後で苦しみます。
対象のディスクがWindowsで埋まっていて、デュアルブートを行いたい場合は事前にWindowsのパーティションの縮小を行っておいてください。標準の”ディスクの管理”ツールでもできますが、できない場合はPartition Masterなどの外部のツールを使ってみてください。(あまり好きではないですが……)
ここで間違うとWindowsや大切なデータを失う事になるので、慎重に行ってください。fdisk上でのパーティションの削除は間違いやすいのでやめたほうが良いです。
fdisk /dev/mmcblk1 (内蔵eMMCを選択)
(以下はfdiskの対話式インターフェース上のコマンド)
p (パーティション表示、リカバリ・EFI・Windowsの順でパーティションがあると仮定)
n (全てEnter)
w (書き込み)
フォーマット&マウント
Arch Linuxをインストールする先のパーティションをext4でフォーマットし、インストール用にマウントします。
mkfs.ext4 /dev/mmcblk1px (最後のxはパーティションの先頭からの番号。上の例で言えば4)
mount /dev/mmcblk1p4 /mnt (/mntはインストール先のルート。)
mount --mkdir /dev/mmcblk1p2 /mnt/efi (EFIパーティションが小さい場合、EFIは/bootにマウントしてはいけない。/efiにマウントする。)
システムのインストールの前に
システムをインストールする前に、pacmanが用いるミラーを日本のものに合わせておいたほうが良い場合があります。自分の環境では、ヨーロッパのミラーが50KB/sほどの速度しか出ず、時間がかかりすぎてしまいました。
ミラーを変更するには、nano /etc/pacman.d/mirrorlist
でミラーの行を変更します。
# Japan
Server = http://ftp.jaist.ac.jp/pub/Linux/ArchLinux/$repo/os/$arch
システムのインストール
pacstrapを用い、対象パーティションにシステムをインストールします。ベースシステムだけではテキストエディタもWifi接続機能もないので、nanoとiwdを追加します。
pacstrap -K /mnt base linux linux-firmware nano iwd
genfstab -U /mnt >> /mnt/etc/fstab
arch-chroot /mnt
(インストール先のシステムにログイン)
ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
hwclock --systohc
echo KEYMAP=jp106 >> /etc/vconsole.conf
echo archlinux >> /etc/hostname
passwd
(rootパスワード入力)
ブートローダーのインストール
EFIに対応したブートローダーをインストールします。GRUBがほとんどの場合最も使いやすいです。
pacman -S grub efibootmgr os-prober
nano /etc/default/grub (GRUBの設定ファイルを編集)
GRUB_DISABLE_OS_PROBERがfalseになっていることを確認
grub-mkconfig -o /boot/grub/grub.cfg
grub-mkconfigでWindowsが検出されない場合は、再起動後もう一度行ってください。
再起動
再起動し、インストール先から起動します。
exit
reboot
ユーザー名はroot、パスワードは先ほど設定したパスワードでログインします。
Wi-fiの設定
もう一度iwdを設定しなおします。
nano /etc/iwd/main.conf
(DHCPクライアントの有効化)
[General]
EnableNetworkConfiguration=true
systemctl enable iwd
systemctl start iwd
iwctl (インストール時と同じ操作)
nano /etc/resolv.conf (ネームサーバの設定)
nameserver 1.1.1.1
systemctl restart systemd-resolved.service
エディターの設定
nano ~/.bashrc (起動時実行スクリプトの編集)
export EDITOR=nano (標準エディターをnanoに変更)
ユーザーを作り、sudoをインストール
Arch Linuxで非rootユーザーを作成するを参考にしました。
useradd -m -g wheel -s /bin/bash [ユーザー名]
passwd [ユーザー名]
pacman -S sudo
nano /etc/sudoers
Defaults env_keep += "HOME" (と)
%wheel ALL=(ALL) ALL (を有効化)
時刻動機を有効化
いわゆるNTPクライアントです。
sudo systemctl enable systemd-timesyncd.service
sudo systemctl start systemd-timesyncd.service
追加で導入するパッケージ
以下のパッケージは便利で、サイズが小さいにもかかわらず標準では入っていません。必要ならインストールしましょう。
unzip htop usbutils w3m lighttpd
SSHは多くの場合あると便利ですが、必須ではありません。
pacman -S openssh
systemctl enable sshd.service
systemctl start sshd.service
wifiドライバーのビルド環境を整える(必要な人だけ)
pacman -S dkms linux-header
GitHubとかにドライバのソースがあったりしますが、gitは大きいので入れませんでした。代わりにcurl -OLを使います。
ソースコードをダウンロードしたら、インストールしてください。