== イメージのダウンロード ==
先ずは「[https://www.archlinux.jp/ Arch Linux JP Project]」をブラウザで開きます。<br/>
以下の画面が表示されるので、右上の「ダウンロード」をクリックします。<br/>
[[ファイル:archlinux-install-003.png | 400px]]
== USBの作成 ==
今回はインストールメディアにUSBメモリを使用しました。
# ISOファイルをUSBに展開する<br/>適切な表現かどうかはおいといて…ISOファイルをUSBに展開する。<br/>私の場合、WindowsPCでツールを使用した。ツールは「Rufus」を使用しました。<br/>(手元にツールが無いので説明は割愛します…ググってください…すみません…)<br/><br/>
# Lattepandaに差し込む<br/>USBポートが3つあるのはありがたい(他2つにはキーボードとマウスをつなぐ)
== UEFIの設定確認 ==
インストールを開始する前に、UEFIの設定を確認します。<br/>
Latttepamda起動時に「Deleteキー」を連打して、UEFIのメニューに入ります。<br/>
=== セキュアブートの無効化 ===
セキュアブートはLinuxの世界ではまだ一般的では無いと思うので、セキュアブートを使用しない方向でインストールしていきます。<br/>
UEFIメニューで「Security」を選択します。<br/>
=== ファーストブートの無効化とブートデバイスの順番 ===
ファーストブートとブートデバイスの設定を確認します。<br/>
画面上部のメニューから「Boot」を選択します。<br/>
=== 保存して起動 ===
最後に「F4」キーを押して、保存してメニューを終了させます。
== USBから起動 ==
UEFIのメニューを終了すると、起動が始まります。<br/>
起動すると、以下の画面が表示されます。<br/>
この状態から、インストールしていきます。
== インストール ===== キーボード設定 ===
今の状態は「英字キーボード」になっています。<br/>
英字キーボードを使用している人はそのままでも良いですが、日本語キーボードを使用してい人は記号の入力で手間取るので、日本語キーボードに切り替えます。<br/>
<syntaxhighlight lang="bash">loadkeys jp106</syntaxhighlight>
=== UEFIかどうか確認 ===
LattapnadaはネイティブUEFIなのでこの作業は不要です…。
<syntaxhighlight lang="bash">ls /sys/firmware/efi/efivars</syntaxhighlight>
このコマンドでnot foundにならなければ「UEFI」で起動されています。
=== パーティション作成 ===
以下の手順はまっさらなHDDにインストールする手順になっちゃってます。<br/>
パーティションが作成済みの場合は、パーティションを削除してから作業してください。<br/>
こんな感じで、表示されます。(ちょっと表示が違うかもです…)
<syntaxhighlight lang="bashtext">ディスク /dev/mmcblk0: 64 GiB, 68719476736 バイト, 134217728 セクタ
ディスク型式: HARDDISK
単位: セクタ (1 * 512 = 512 バイト)
「fdisk」コマンドは対話型で起動します。<br/>
操作の一覧は「m」で見ることが出来ます。<br/>
<syntaxhighlight lang="bashtext">Command (m for help): m
Help:
今後主流になる可能性が高いGPTでパーティションテーブルを作成します。<br/>
GPTでパーティションテーブルを作成する場合は「g」を入力します。<br/>
<syntaxhighlight lang="bashtext">Command (m for help): g
Created a new GPT disklabel (GUID: 2FA51CB3-DEF4-6645-9B9B-26EA9C143903).</syntaxhighlight>
まず、UEFI用のパーティションを512MByteで作成します。<br/>
パーティションの作成は「n」で行います。
<syntaxhighlight lang="bashtext">Command (m for help): n
Partition number (1-128, default 1):
First sector (2048-134217694, default 2048):
次に、システム用パーティションを「残りの容量 - 4GByte」で作成します。
<syntaxhighlight lang="bashtext">Command (m for help): n
Partition number (1,3-128, default 2):
First sector (1050624-134217694, default 1050624):
最後に、スワップ用パーティションを4GByteで作成します。
<syntaxhighlight lang="bashtext">Command (m for help): n
Partition number (3-128, default 3):
First sector (125829120-134217694, default 125829120):
「/dev/mmcblk0p1」はUEFI用パーティションなので、「EFI System」を設定します。<br/>
パーティションタイプの設定は「t」で行います。
<syntaxhighlight lang="bashtext">Command (m for help): t
Partition number (1-3, default 3): 1
Partition type (type L to list all types): 1
「/dev/mmcblk0p3」はスワップ用パーティションなので、「Linux swap」を設定します。
<syntaxhighlight lang="bashtext">Command (m for help): t
Partition number (1-3, default 3): 3
Partition type (type L to list all types): 19
最後に、これまで設定した内容をHDDに書き込みます。<br/>
HDDへの書き込みは「w」で行います。
<syntaxhighlight lang="bashtext">Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.</syntaxhighlight>
=== フォーマット ===
各パーティションを利用できるようにするために、フォーマットしていきます。<br/>
使用目的によって、フォーマットのやり方が異なります。
swapon /dev/mmcblk0p3</syntaxhighlight>
=== マウント ===
フォーマットが終わったら、HDDをマウントします。<br/>
ここはAcrhLinuxのインストールガイドに則り、以下のコマンドで「/mnt」にマウントします。
mount /dev/mmcblk0p1 /mnt/boot</syntaxhighlight>
=== システムクロックの設定 ===
よくわからないのですが…www<br/>
システムクロックの設定をします。<br/>
=== ミラーサイトの設定 ===
「/etc/pacman.d/mirrorlist」を編集して、ミラーサイトを設定します。<br/>
どうやらデフォルトで「nano」が入っているようなので、nanoで編集します<br/>
=== プロキシが必要なら設定 ===
プロキシ配下でインストールしている場合は、ここでプロキシの設定をしておきます。<br/>
以下のコマンドで、プロキシの環境変数を設定します。<br/>
(その他記号も置き換える必要があります。詳しくはググってください)
=== ベースシステムのインストール ===
ようやくインストールです。<br/>
以下のコマンドを実行して、HDDにArchLinuxをインストールしてください。
<syntaxhighlight lang="bash">pacstrap /mnt base baselinux linux-develfirmware</syntaxhighlight>
==== エラーになった場合 ====リポジトリのキーが古い場合、pacstrapでエラーになることがあります。<br/>(特に古いisoを使用している場合だと思います) その場合以下のコマンドを実行して、リポジトリのキーを最新化してからpacstrapしてみてください。<syntaxhighlight lang="bash">pacman -Sy archlinux-keyring</syntaxhighlight> == システム設定 ===== fstabの作成 ===
以下のコマンドを実行して、システム起動時のパーティションマウントを設定します。
<syntaxhighlight lang="bash">genfstab -U /mnt >> /mnt/etc/fstab</syntaxhighlight>
この作業で、再起動後「/dev/mmcblk0p2」がルートディレクトリになります。
=== 一時的にルートディレクトリを変更 ===
この後の設定のために、ルートディレクトリを変更します。
<syntaxhighlight lang="bash">arch-chroot /mnt</syntaxhighlight>
=== エディタのインストール ===以下のコマンドを実行して、エディタをインストールします。<syntaxhighlight lang="bash">pacman -S nano</syntaxhighlight> === タイムゾーンの設定 ===
以下のコマンドを実行して、タイムゾーンを設定します。
<syntaxhighlight lang="bash">ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
hwclock --systohc --utc</syntaxhighlight>
=== ロケールの設定 ===
「/etc/locale.gen」を編集して、利用するロケールを選択します。<br/>
「nano」で「/etc/locale.gen」を開いて、「en_US.UTF-8 UTF-8」と「ja_JP.UTF-8 UTF-8」をコメントアウトします。
echo KEYMAP=jp106 > /etc/vconsole.conf</syntaxhighlight>
=== ホストネームの設定 ===
以下のコマンドを実行して、ホストネームを設定します。
<syntaxhighlight lang="bash">echo [hostname] > /etc/hostname</syntaxhighlight>
内容は以下のとおりです。
<syntaxhighlight lang="bashtext">127.0.0.1 localhost
::1 localhost
127.0.1.1 [hostname].localdomain [hostname]</syntaxhighlight>
=== rootパスワードの変更 ===
rootアカウントのパスワードを変更します。
<syntaxhighlight lang="bash">passwd</syntaxhighlight>
=== マイクロコードのインストール ===
LattepandはIntelのCPUを使用しているので、以下のコマンドを実行してマイクロコードをインストールします。<br/>
<syntaxhighlight lang="bash">pacman -S intel-ucode</syntaxhighlight>
=== GRUBのインストール ===
以下のコマンドを実行して、GRUBブートローダーとEFIブートマネージャーをインストールします。
<syntaxhighlight lang="bash">pacman -S grub
<syntaxhighlight lang="bash">grub-mkconfig -o /boot/grub/grub.cfg</syntaxhighlight>
=== chrootから抜ける ===
chroot内の作業が終わりましたので、以下のコマンドで抜けます。
<syntaxhighlight lang="bash">exit</syntaxhighlight>
== efiファイルのコピー =アンマウント =今の状態で再起動すると、UEFIのシェルからファイルを選択する羽目になります。<br/>自動でGRUBが起動するように、以下のコマンドを実行してefiファイルをコピーします。<syntaxhighlight lang="bash">mkdir /mnt/boot/EFI/bootcp /mnt/boot/EFI/ArchLinux/grubx64.efi /mnt/boot/EFI/boot/bootx64,efi</syntaxhighlight> == アンマウント ==
「fstab」に設定済みなので、再起動後は「/mnt」のマウントが不要になります。<br/>
なので、「/mnt」を、以下のコマンドでアンマウントします。<br/>
<syntaxhighlight lang="bash">umount -R /mnt</syntaxhighlight>
=== 再起動 ===
USBメモリを外したいので、再起動と言いつつ以下のコマンドでシャットダウンします。
<syntaxhighlight lang="bash">shutdown -h now</syntaxhighlight>
=== USBメモリの取り外しと起動 ===
シャットダウンしたら、USBの取り外します。<br/>
電源ボタンを押して、Lattepandaを起動します。
=== ログイン ===
ログイン画面が表示されたらログインします。<br/>
ユーザーIDは「root」で、パスワードはインストールで設定したパスワードです。
=== ネットワークの有効化 ===
デフォルトではネットワークが自動で起動しないようになっています。<br/>
ネットワークを自動で有効になるように設定します。<br/>
こんなふうに表示されるかと思います。
<syntaxhighlight lang="bashtext">1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: enp0s3enp0s20u4: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 0800:00e0:004c:0036:00be:00brd 7f brd ff:ff:ff:ff:ff:ff inet 10192.0168.256.1511/24 brd 10192.0168.211.255 scope global enp0s20u4 valid_lft forever preferred_lft forever inet6 xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx/64 scope global dynamic noprefixroute enp0s3mngtmpaddr valid_lft 82004sec 86391sec preferred_lft 82004sec14391sec inet6 fe80:0000:00002e0:00004cff:0000fe36:0000be7f/64 scope link noprefixroute valid_lft forever preferred_lft forever3: wlan0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000 link/ether 18:bb:26:a9:a1:0e brd ff:ff:ff:ff:ff:ff</syntaxhighlight>「lo」じゃないほうがデバイス名です(この場合「enp0s20u4」です)。 そしたら以下のコマンドで、定義ファイルを作成します。<syntaxhighlight lang="bash">nano /etc/systemd/network/enp0s20u4.network</syntaxhighlight> ファイルの中身は以下のとおりです。 【DHCPの場合】<syntaxhighlight lang="text">[Match]Name=enp0s20u4 [Network]DHCP=ipv4DNS=8.8.8.8DNS=8.8.4.4</syntaxhighlight> 【固定IPの場合】<syntaxhighlight lang="text">[Match]Name=enp0s20u4 [Network]Address=192.168.56.11/24Gateway=192.168.56.1DNS=8.8.8.8DNS=8.8.4.4</syntaxhighlight> systemd-networkdは「/etc/resolv.conf」を書き直しせず、「/run/systemd/resolve/resolv.con」を書き直します。<br/>なので、「/etc/resolv.conf」をリネームして、「/etc」に「/run/systemd/resolve/resolv.con」のシンボリックリンクを張ります。<br/>コマンドは以下の通りです。<syntaxhighlight lang="bash">ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf</syntaxhighlight>「lo」じゃないほうがデバイス名です(この場合「enp0s3」です)。
NICのデバイス名を取得したら、以下のコマンドを実行します。設定が完了したらsystemd-networkdとsystemd-resolvedを起動&有効化します。<syntaxhighlight lang="bash">systemctl start systemd-networkdsystemctl start systemd-resolvedsystemctl enable systemd-networkdsystemctl enable dhcpcd@[interface].servicesystemd-resolved</syntaxhighlight>[interface]をNICのデバイス名に置き換えてください。
== 参考サイト ==
[https://wiki.archlinux.jp/index.php/%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%82%AC%E3%82%A4%E3%83%89 インストールガイド - ArchWiki]<br/>
[https://qiita.com/Gen_Arch/items/da296b7cbe5d87abc5a4 ArchLinuxのインストール(3つのブート方式ごとの設定) - Qiita]<br/>