ページ「「OPEN IPv6 ダイナミック DNS for フレッツ・光ネクスト」の利用/Debian9.9 or Raspbian Stretch」と「ArchLinuxのインストール」の間の差分
Rin-scrooge (トーク | 投稿記録) タグ: モバイルウェブ編集、モバイル編集 |
Rin-scrooge (トーク | 投稿記録) タグ: モバイルウェブ編集、モバイル編集 |
||
1行目: | 1行目: | ||
− | + | = イメージのダウンロード = | |
+ | 先ずは「[https://www.archlinux.jp/ Arch Linux JP Project]」をブラウザで開きます。<br/> | ||
+ | 以下の画面が表示されるので、右上の「ダウンロード」をクリックします。<br/> | ||
+ | [[ファイル:archlinux-install-001.png | 400px]] | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | == | + | 「HTTP で直接ダウンロード (推奨)」の日本のサーバーから適当なサーバーをクリックします。<br/> |
− | + | [[ファイル:archlinux-install-002.png | 400px]] | |
+ | |||
+ | |||
+ | ディレクトリの内容が表示されたら「*.iso」ファイルをクリックして、ダウンロードします。<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/> | ||
+ | [[ファイル:archlinux-install-101.png | 400px]] | ||
+ | |||
+ | |||
+ | 「Security」画面で「Secure Boot Menu」を選択します。<br/> | ||
+ | [[ファイル:archlinux-install-102.png | 400px]] | ||
+ | |||
+ | |||
+ | 「Secure Boot Menu」画面で「Secure Boot」が「Disabled」になっていることを確認します。<br/> | ||
+ | 「Disabled」になっていない場合は、「Disabled」に変更します<br/> | ||
+ | (画面見づらくてスミマセン…)<br/> | ||
+ | [[ファイル:archlinux-install-103.png | 400px]] | ||
+ | |||
+ | |||
+ | == ファーストブートの無効化とブートデバイスの順番 == | ||
+ | ファーストブートとブートデバイスの設定を確認します。<br/> | ||
+ | 画面上部のメニューから「Boot」を選択します。<br/> | ||
+ | 「Boot」画面中程の「Fast Boot」が「Disabled」になっていることを確認します。<br/> | ||
+ | 「Disabled」になっていない場合は、「Disabled」に変更します<br/> | ||
+ | |||
+ | 次に「起動順」の確認です。<br/> | ||
+ | 「Boot」画面下部の「Boot Option Priorities」の順番で、「Boot Option #1」にUSBメモリーが来るように設定します。<br/> | ||
+ | (画面はUSBを刺さずに取ったので、USBメモリが表示されていません…スミマセン)<br/> | ||
+ | [[ファイル:archlinux-install-104.png | 400px]] | ||
+ | |||
+ | |||
+ | == 保存して起動 == | ||
+ | 最後に「F4」キーを押して、保存してメニューを終了させます。 | ||
+ | |||
+ | |||
+ | = USBから起動 = | ||
+ | UEFIのメニューを終了すると、起動が始まります。<br/> | ||
+ | 起動すると、以下の画面が表示されます。<br/> | ||
+ | この画面で「Arch Linux archiso x86_64 UEFI USB」を選択します。<br/> | ||
+ | [[ファイル:archlinux-install-004.png | 400px]] | ||
+ | |||
+ | しばらく真っ黒な画面が続きますが、根気よく待ち続けます…。<br/> | ||
+ | しばらくすると、以下の画面が表示されます。<br/> | ||
+ | [[ファイル:archlinux-install-005.png | 400px]] | ||
+ | |||
+ | この状態はいわゆる「ライブ起動(インストール無しで起動)」の状態です。<br/> | ||
+ | この状態から、インストールしていきます。 | ||
+ | |||
+ | = インストール = | ||
+ | == キーボード設定 == | ||
+ | 今の状態は「英字キーボード」になっています。<br/> | ||
+ | 英字キーボードを使用している人はそのままでも良いですが、日本語キーボードを使用してい人は記号の入力で手間取るので、日本語キーボードに切り替えます。<br/> | ||
+ | 以下のコマンドで選択できるキーボードの一覧を表示することが出来ます…(一覧見たからなんなんだって感じですが…)。 | ||
+ | <syntaxhighlight lang="bash">ls /usr/share/kbd/keymaps/**/*.map.gz</syntaxhighlight> | ||
+ | |||
+ | キーボードのロードは以下のコマンドを実行します。 | ||
+ | <syntaxhighlight lang="bash">loadkeys jp106</syntaxhighlight> | ||
+ | |||
+ | == UEFIかどうか確認 == | ||
+ | LattapnadaはネイティブUEFIなのでこの作業は不要です…。 | ||
+ | <syntaxhighlight lang="bash">ls /sys/firmware/efi/efivars</syntaxhighlight> | ||
+ | このコマンドでnot foundにならなければ「UEFI」で起動されています。 | ||
+ | |||
+ | == パーティション作成 == | ||
+ | 以下の手順はまっさらなHDDにインストールする手順になっちゃってます。<br/> | ||
+ | パーティションが作成済みの場合は、パーティションを削除してから作業してください。<br/> | ||
+ | |||
+ | まず、以下のコマンドでデバイス名を確認します。<br/> | ||
+ | <syntaxhighlight lang="bash">fdisk -l</syntaxhighlight> | ||
+ | |||
+ | |||
+ | こんな感じで、表示されます。(ちょっと表示が違うかもです…) | ||
+ | <syntaxhighlight lang="bash">ディスク /dev/mmcblk0: 64 GiB, 68719476736 バイト, 134217728 セクタ | ||
+ | ディスク型式: HARDDISK | ||
+ | 単位: セクタ (1 * 512 = 512 バイト) | ||
+ | セクタサイズ (論理 / 物理): 512 バイト / 512 バイト | ||
+ | I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト</syntaxhighlight> | ||
+ | 大概「/dev/mmcblk0」になっているかと思います。<br/> | ||
+ | |||
+ | |||
+ | 以下のコマンドで「/dev/mmcblk0」にパーティションを作成していきます。<br/> | ||
+ | <syntaxhighlight lang="bash">fdisk /dev/mmcblk0</syntaxhighlight> | ||
+ | |||
+ | |||
+ | 「fdisk」コマンドは対話型で起動します。<br/> | ||
+ | 操作の一覧は「m」で見ることが出来ます。<br/> | ||
+ | <syntaxhighlight lang="bash">Command (m for help): m | ||
+ | |||
+ | Help: | ||
+ | |||
+ | DOS (MBR) | ||
+ | a toggle a bootable flag | ||
+ | b edit nested BSD disklabel | ||
+ | c toggle the dos compatibility flag | ||
+ | |||
+ | Generic | ||
+ | d delete a partition | ||
+ | F list free unpartitioned space | ||
+ | l list known partition types | ||
+ | n add a new partition | ||
+ | p print the partition table | ||
+ | t change a partition type | ||
+ | v verify the partition table | ||
+ | i print information about a partition | ||
+ | |||
+ | Misc | ||
+ | m print this menu | ||
+ | u change display/entry units | ||
+ | x extra functionality (experts only) | ||
+ | |||
+ | Script | ||
+ | I load disk layout from sfdisk script file | ||
+ | O dump disk layout to sfdisk script file | ||
+ | |||
+ | Save & Exit | ||
+ | w write table to disk and exit | ||
+ | q quit without saving changes | ||
+ | |||
+ | Create a new label | ||
+ | g create a new empty GPT partition table | ||
+ | G create a new empty SGI (IRIX) partition table | ||
+ | o create a new empty DOS partition table | ||
+ | s create a new empty Sun partition table</syntaxhighlight> | ||
+ | |||
+ | |||
+ | |||
+ | 今後主流になる可能性が高いGPTでパーティションテーブルを作成します。<br/> | ||
+ | GPTでパーティションテーブルを作成する場合は「g」を入力します。<br/> | ||
+ | <syntaxhighlight lang="bash">Command (m for help): g | ||
+ | |||
+ | Created a new GPT disklabel (GUID: 2FA51CB3-DEF4-6645-9B9B-26EA9C143903).</syntaxhighlight> | ||
+ | |||
+ | |||
+ | 次にパーティションを作成していきます。<br/> | ||
+ | Windowsの場合はこだわりが無い限り、パーティション分割はしないものですが…<br/> | ||
+ | Linuxでは普通にパーティション分割します。<br/> | ||
+ | |||
+ | 以下のパーティション分割は、初心者向けになっています。<br/> | ||
+ | こだわりがある方は、自由に分割して良いかと思います。<br/> | ||
+ | |||
+ | 今回は以下のパーティション作成します。 | ||
+ | <dl> | ||
+ | <dt>/dev/mmcblk0p1</dt> | ||
+ | <dd>EFI用パーティション(512MByte)</dd> | ||
+ | <dt>/dev/mmcblk0p2</dt> | ||
+ | <dd>システム用パーティション(64GByte - 512MByte - 4GByte)</dd> | ||
+ | <dt>/dev/mmcblk0p3</dt> | ||
+ | <dd>スワップ用パーティション(4GByte)</dd> | ||
+ | </dl> | ||
+ | |||
+ | まず、UEFI用のパーティションを512MByteで作成します。<br/> | ||
+ | パーティションの作成は「n」で行います。 | ||
+ | <syntaxhighlight lang="bash">Command (m for help): n | ||
+ | Partition number (1-128, default 1): | ||
+ | First sector (2048-134217694, default 2048): | ||
+ | Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-134217694, default 134217694): +512M | ||
+ | |||
+ | Created a new partition 2 of type 'Linux filesystem' and of size 512 MiB.</syntaxhighlight> | ||
+ | |||
+ | 次に、システム用パーティションを「残りの容量 - 4GByte」で作成します。 | ||
+ | <syntaxhighlight lang="bash">Command (m for help): n | ||
+ | Partition number (1,3-128, default 2): | ||
+ | First sector (1050624-134217694, default 1050624): | ||
+ | Last sector, +/-sectors or +/-size{K,M,G,T,P} (1050624-134217694, default 134217694): -4G | ||
+ | |||
+ | Created a new partition 1 of type 'Linux filesystem' and of size 59.5 GiB.</syntaxhighlight> | ||
+ | |||
+ | 最後に、スワップ用パーティションを4GByteで作成します。 | ||
+ | <syntaxhighlight lang="bash">Command (m for help): n | ||
+ | Partition number (3-128, default 3): | ||
+ | First sector (125829120-134217694, default 125829120): | ||
+ | Last sector, +/-sectors or +/-size{K,M,G,T,P} (125829120-134217694, default 134217694): | ||
+ | |||
+ | Created a new partition 3 of type 'Linux filesystem' and of size 4 GiB.</syntaxhighlight> | ||
+ | |||
+ | それぞれの目的に合わせてパーティションタイプを設定します。<br/> | ||
+ | 設定できるパーティションタイプは「l」で確認することが出来ます。<br/> | ||
+ | リストから抜ける場合は「q」を押します。<br/> | ||
+ | |||
+ | |||
+ | 「/dev/mmcblk0p1」はUEFI用パーティションなので、「EFI System」を設定します。<br/> | ||
+ | パーティションタイプの設定は「t」で行います。 | ||
+ | <syntaxhighlight lang="bash">Command (m for help): t | ||
+ | Partition number (1-3, default 3): 1 | ||
+ | Partition type (type L to list all types): 1 | ||
+ | |||
+ | Changed type of partition 'Linux filesystem' to 'EFI System'.</syntaxhighlight> | ||
+ | |||
+ | 「/dev/mmcblk0p3」はスワップ用パーティションなので、「Linux swap」を設定します。 | ||
+ | <syntaxhighlight lang="bash">Command (m for help): t | ||
+ | Partition number (1-3, default 3): 3 | ||
+ | Partition type (type L to list all types): 19 | ||
+ | |||
+ | Changed type of partition 'Linux filesystem' to 'Linux swap'.</syntaxhighlight> | ||
+ | |||
+ | 「/dev/mmcblk0p2」を設定していませんが、デフォルトで「Linux File System」なので特に変更しません。 | ||
+ | |||
+ | 最後に、これまで設定した内容をHDDに書き込みます。<br/> | ||
+ | HDDへの書き込みは「w」で行います。 | ||
+ | <syntaxhighlight lang="bash">Command (m for help): w | ||
+ | The partition table has been altered. | ||
+ | Calling ioctl() to re-read partition table. | ||
+ | Syncing disks.</syntaxhighlight> | ||
+ | |||
+ | == フォーマット == | ||
+ | 各パーティションを利用できるようにするために、フォーマットしていきます。<br/> | ||
+ | 使用目的によって、フォーマットのやり方が異なります。 | ||
+ | |||
+ | UEFI領域のフォーマットは、以下のコマンドで、FAT32にフォーマットします。 | ||
+ | <syntaxhighlight lang="bash">mkfs.fat -F32 /dev/mmcblk0p1</syntaxhighlight> | ||
+ | |||
+ | システム領域は以下のコマンドで、ext4にフォーマットします。 | ||
+ | <syntaxhighlight lang="bash">mkfs.ext4 /dev/mmcblk0p2</syntaxhighlight> | ||
+ | |||
+ | スワップ領域は以下のコマンドで、swap領域に設定します。 | ||
+ | <syntaxhighlight lang="bash">mkswap /dev/mmcblk0p3 | ||
+ | swapon /dev/mmcblk0p3</syntaxhighlight> | ||
+ | |||
+ | == マウント == | ||
+ | フォーマットが終わったら、HDDをマウントします。<br/> | ||
+ | ここはAcrhLinuxのインストールガイドに則り、以下のコマンドで「/mnt」にマウントします。 | ||
+ | <syntaxhighlight lang="bash">mount /dev/mmcblk0p2 /mnt</syntaxhighlight> | ||
+ | |||
+ | UEFI領域は「/mnt/boot」にマウントします。 | ||
+ | <syntaxhighlight lang="bash">mkdir /mnt/boot | ||
+ | mount /dev/mmcblk0p1 /mnt/boot</syntaxhighlight> | ||
+ | |||
+ | == システムクロックの設定 == | ||
+ | よくわからないのですが…www<br/> | ||
+ | システムクロックの設定をします。<br/> | ||
+ | (ntpを使用するように設定しているのかな?) | ||
+ | <syntaxhighlight lang="bash">timedatectl set-ntp true</syntaxhighlight> | ||
+ | |||
+ | |||
+ | == ミラーサイトの設定 == | ||
+ | 「/etc/pacman.d/mirrorlist」を編集して、ミラーサイトを設定します。<br/> | ||
+ | どうやらデフォルトで「nano」が入っているようなので、nanoで編集します<br/> | ||
+ | <syntaxhighlight lang="bash">nano /etc/pacman.d/mirrorlist</syntaxhighlight> | ||
+ | |||
+ | すごい量が表示されるかと思います。<br/> | ||
+ | 日本のミラーサイトは3つ登録されていますので、それを最上位(ファイルの先頭)に移動します。<br/> | ||
+ | |||
+ | |||
+ | == プロキシが必要なら設定 == | ||
+ | プロキシ配下でインストールしている場合は、ここでプロキシの設定をしておきます。<br/> | ||
+ | 以下のコマンドで、プロキシの環境変数を設定します。<br/> | ||
+ | <syntaxhighlight lang="bash">export HTTP_PROXY=[userid]:[password]@[host]:[port] | ||
+ | export HTTPS_PROXY=[userid]:[password]@[host]:[port] | ||
+ | export http_proxy=[userid]:[password]@[host]:[port] | ||
+ | export https_proxy=[userid]:[password]@[host]:[port]</syntaxhighlight> | ||
+ | [userid][password][host][port]はそれぞれ、実際の値に置き換えてください。<br/> | ||
+ | パスワードやユーザーIDに「@」が含まれる場合は「%40」に置き換えます。<br/> | ||
+ | (その他記号も置き換える必要があります。詳しくはググってください) | ||
+ | |||
+ | == ベースシステムのインストール == | ||
+ | ようやくインストールです。<br/> | ||
+ | 以下のコマンドを実行して、HDDにArchLinuxをインストールしてください。 | ||
+ | <syntaxhighlight lang="bash">pacstrap /mnt base base-devel</syntaxhighlight> | ||
+ | |||
+ | = システム設定 = | ||
+ | == fstabの作成 == | ||
+ | 以下のコマンドを実行して、システム起動時のパーティションマウントを設定します。 | ||
+ | <syntaxhighlight lang="bash">genfstab -U /mnt >> /mnt/etc/fstab</syntaxhighlight> | ||
+ | この作業で、再起動後「/dev/mmcblk0p2」がルートディレクトリになります。 | ||
+ | |||
+ | == 一時的にルートディレクトリを変更 == | ||
+ | この後の設定のために、ルートディレクトリを変更します。 | ||
+ | <syntaxhighlight lang="bash">arch-chroot /mnt</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」をコメントアウトします。 | ||
+ | <syntaxhighlight lang="bash">nano /etc/locale.gen</syntaxhighlight> | ||
− | + | 編集後、以下のコマンドを実行して、ロケール等を反映します。 | |
− | + | <syntaxhighlight lang="bash">locale-gen | |
− | + | echo LANG=en_US.UTF-8 > /etc/locale.conf | |
+ | echo KEYMAP=jp106 > /etc/vconsole.conf</syntaxhighlight> | ||
− | + | == ホストネームの設定 == | |
+ | 以下のコマンドを実行して、ホストネームを設定します。 | ||
+ | <syntaxhighlight lang="bash">echo [hostname] > /etc/hostname</syntaxhighlight> | ||
+ | [hostname]は実際に合わせて置き換えてください。 | ||
− | + | また、以下の様に「hosts」ファイルを編集します。 | |
− | + | <syntaxhighlight lang="bash">nano /etc/hosts</syntaxhighlight> | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | 内容は以下のとおりです。 | |
+ | <syntaxhighlight lang="bash">127.0.0.1 localhost | ||
+ | ::1 localhost | ||
+ | 127.0.1.1 [hostname].localdomain [hostname]</syntaxhighlight> | ||
− | |||
− | + | == rootパスワードの変更 == | |
+ | rootアカウントのパスワードを変更します。 | ||
+ | <syntaxhighlight lang="bash">passwd</syntaxhighlight> | ||
− | |||
− | |||
− | |||
− | |||
− | + | == マイクロコードのインストール == | |
− | <syntaxhighlight lang="bash"> | + | LattepandはIntelのCPUを使用しているので、以下のコマンドを実行してマイクロコードをインストールします。<br/> |
− | + | 適用は後でします。 | |
+ | <syntaxhighlight lang="bash">pacman -S intel-ucode</syntaxhighlight> | ||
− | + | == GRUBのインストール == | |
− | + | 以下のコマンドを実行して、GRUBブートローダーとEFIブートマネージャーをインストールします。 | |
− | + | <syntaxhighlight lang="bash">pacman -S grub | |
− | + | pacman -S efibootmgr</syntaxhighlight> | |
− | <syntaxhighlight lang="bash"> | ||
− | |||
− | + | また、以下のコマンドでArchLinuxをGRUBに登録します。 | |
− | + | <syntaxhighlight lang="bash">grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=ArchLinux</syntaxhighlight> | |
− | |||
− | |||
− | + | == マイクロコードの適用 == | |
+ | 以下のコマンドを実行して、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/boot | ||
+ | cp /mnt/boot/EFI/ArchLinux/grubx64.efi /mnt/boot/EFI/boot/bootx64,efi</syntaxhighlight> | ||
− | + | == アンマウント == | |
− | <syntaxhighlight lang="bash"> | + | 「fstab」に設定済みなので、再起動後は「/mnt」のマウントが不要になります。<br/> |
− | + | なので、「/mnt」を、以下のコマンドでアンマウントします。<br/> | |
+ | (と言っても、再起動した時点でアンマウントされるのですが…) | ||
+ | <syntaxhighlight lang="bash">umount -R /mnt</syntaxhighlight> | ||
− | + | == 再起動 == | |
− | <syntaxhighlight lang="bash"> | + | USBメモリを外したいので、再起動と言いつつ以下のコマンドでシャットダウンします。 |
+ | <syntaxhighlight lang="bash">shutdown -h now</syntaxhighlight> | ||
− | + | == USBメモリの取り外しと起動 == | |
− | < | + | シャットダウンしたら、USBの取り外します。<br/> |
+ | 電源ボタンを押して、Lattepandaを起動します。 | ||
− | + | == ログイン == | |
− | < | + | ログイン画面が表示されたらログインします。<br/> |
+ | ユーザーIDは「root」で、パスワードはインストールで設定したパスワードです。 | ||
− | + | == ネットワークの有効化 == | |
+ | デフォルトではネットワークが自動で起動しないようになっています。<br/> | ||
+ | ネットワークを自動で有効になるように設定します。<br/> | ||
+ | 先ずは以下のコマンドを実行してNICのデバイス名を取得します。 | ||
+ | <syntaxhighlight lang="bash">ip a</syntaxhighlight> | ||
− | + | こんなふうに表示されるかと思います。 | |
+ | <syntaxhighlight lang="bash">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 | ||
+ | valid_lft forever preferred_lft forever | ||
+ | inet6 ::1/128 scope host | ||
+ | valid_lft forever preferred_lft forever | ||
+ | 2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 | ||
+ | link/ether 08:00:00:00:00:00brd ff:ff:ff:ff:ff:ff | ||
+ | inet 10.0.2.15/24 brd 10.0.2.255 scope global dynamic noprefixroute enp0s3 | ||
+ | valid_lft 82004sec preferred_lft 82004sec | ||
+ | inet6 fe80:0000:0000:0000:0000:0000/64 scope link noprefixroute | ||
+ | valid_lft forever preferred_lft forever</syntaxhighlight> | ||
+ | 「lo」じゃないほうがデバイス名です(この場合「enp0s3」です)。 | ||
− | = | + | NICのデバイス名を取得したら、以下のコマンドを実行します。 |
− | + | <syntaxhighlight lang="bash">systemctl enable dhcpcd@[interface].service</syntaxhighlight> | |
− | + | [interface]をNICのデバイス名に置き換えてください。 | |
= 参考サイト = | = 参考サイト = | ||
− | [https:// | + | [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/> | ||
+ | [https://wiki.archlinux.jp/index.php/%E3%83%91%E3%83%BC%E3%83%86%E3%82%A3%E3%82%B7%E3%83%A7%E3%83%8B%E3%83%B3%E3%82%B0 パーティショニング - ArchWiki]<br/> | ||
+ | [https://qiita.com/honeniq/items/579b36588f3c1061edf5 Arch LinuxをVirtualBox上にインストール - Qiita]<br/> | ||
+ | [https://mattintosh.hatenablog.com/entry/20180308/1520518082 VirtualBox の UEFI で Ubuntu が起動しない - mattintosh note]<br/> | ||
− | [[Category: | + | [[Category:ArchLinux]] |
− | [[Category: | + | [[Category:Lattepanda]] |
− | |||
− |
2019年7月23日 (火) 14:56時点における版
イメージのダウンロード
先ずは「Arch Linux JP Project」をブラウザで開きます。
以下の画面が表示されるので、右上の「ダウンロード」をクリックします。
「HTTP で直接ダウンロード (推奨)」の日本のサーバーから適当なサーバーをクリックします。
ディレクトリの内容が表示されたら「*.iso」ファイルをクリックして、ダウンロードします。
USBの作成
今回はインストールメディアにUSBメモリを使用しました。
- ISOファイルをUSBに展開する
適切な表現かどうかはおいといて…ISOファイルをUSBに展開する。
私の場合、WindowsPCでツールを使用した。ツールは「Rufus」を使用しました。
(手元にツールが無いので説明は割愛します…ググってください…すみません…) - Lattepandaに差し込む
USBポートが3つあるのはありがたい(他2つにはキーボードとマウスをつなぐ)
UEFIの設定確認
インストールを開始する前に、UEFIの設定を確認します。
Latttepamda起動時に「Deleteキー」を連打して、UEFIのメニューに入ります。
セキュアブートの無効化
セキュアブートはLinuxの世界ではまだ一般的では無いと思うので、セキュアブートを使用しない方向でインストールしていきます。
UEFIメニューで「Security」を選択します。
「Security」画面で「Secure Boot Menu」を選択します。
「Secure Boot Menu」画面で「Secure Boot」が「Disabled」になっていることを確認します。
「Disabled」になっていない場合は、「Disabled」に変更します
(画面見づらくてスミマセン…)
ファーストブートの無効化とブートデバイスの順番
ファーストブートとブートデバイスの設定を確認します。
画面上部のメニューから「Boot」を選択します。
「Boot」画面中程の「Fast Boot」が「Disabled」になっていることを確認します。
「Disabled」になっていない場合は、「Disabled」に変更します
次に「起動順」の確認です。
「Boot」画面下部の「Boot Option Priorities」の順番で、「Boot Option #1」にUSBメモリーが来るように設定します。
(画面はUSBを刺さずに取ったので、USBメモリが表示されていません…スミマセン)
保存して起動
最後に「F4」キーを押して、保存してメニューを終了させます。
USBから起動
UEFIのメニューを終了すると、起動が始まります。
起動すると、以下の画面が表示されます。
この画面で「Arch Linux archiso x86_64 UEFI USB」を選択します。
しばらく真っ黒な画面が続きますが、根気よく待ち続けます…。
しばらくすると、以下の画面が表示されます。
この状態はいわゆる「ライブ起動(インストール無しで起動)」の状態です。
この状態から、インストールしていきます。
インストール
キーボード設定
今の状態は「英字キーボード」になっています。
英字キーボードを使用している人はそのままでも良いですが、日本語キーボードを使用してい人は記号の入力で手間取るので、日本語キーボードに切り替えます。
以下のコマンドで選択できるキーボードの一覧を表示することが出来ます…(一覧見たからなんなんだって感じですが…)。
ls /usr/share/kbd/keymaps/**/*.map.gz
キーボードのロードは以下のコマンドを実行します。
loadkeys jp106
UEFIかどうか確認
LattapnadaはネイティブUEFIなのでこの作業は不要です…。
ls /sys/firmware/efi/efivars
このコマンドでnot foundにならなければ「UEFI」で起動されています。
パーティション作成
以下の手順はまっさらなHDDにインストールする手順になっちゃってます。
パーティションが作成済みの場合は、パーティションを削除してから作業してください。
まず、以下のコマンドでデバイス名を確認します。
fdisk -l
こんな感じで、表示されます。(ちょっと表示が違うかもです…)
ディスク /dev/mmcblk0: 64 GiB, 68719476736 バイト, 134217728 セクタ
ディスク型式: HARDDISK
単位: セクタ (1 * 512 = 512 バイト)
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
大概「/dev/mmcblk0」になっているかと思います。
以下のコマンドで「/dev/mmcblk0」にパーティションを作成していきます。
fdisk /dev/mmcblk0
「fdisk」コマンドは対話型で起動します。
操作の一覧は「m」で見ることが出来ます。
Command (m for help): m
Help:
DOS (MBR)
a toggle a bootable flag
b edit nested BSD disklabel
c toggle the dos compatibility flag
Generic
d delete a partition
F list free unpartitioned space
l list known partition types
n add a new partition
p print the partition table
t change a partition type
v verify the partition table
i print information about a partition
Misc
m print this menu
u change display/entry units
x extra functionality (experts only)
Script
I load disk layout from sfdisk script file
O dump disk layout to sfdisk script file
Save & Exit
w write table to disk and exit
q quit without saving changes
Create a new label
g create a new empty GPT partition table
G create a new empty SGI (IRIX) partition table
o create a new empty DOS partition table
s create a new empty Sun partition table
今後主流になる可能性が高いGPTでパーティションテーブルを作成します。
GPTでパーティションテーブルを作成する場合は「g」を入力します。
Command (m for help): g
Created a new GPT disklabel (GUID: 2FA51CB3-DEF4-6645-9B9B-26EA9C143903).
次にパーティションを作成していきます。
Windowsの場合はこだわりが無い限り、パーティション分割はしないものですが…
Linuxでは普通にパーティション分割します。
以下のパーティション分割は、初心者向けになっています。
こだわりがある方は、自由に分割して良いかと思います。
今回は以下のパーティション作成します。
- /dev/mmcblk0p1
- EFI用パーティション(512MByte)
- /dev/mmcblk0p2
- システム用パーティション(64GByte - 512MByte - 4GByte)
- /dev/mmcblk0p3
- スワップ用パーティション(4GByte)
まず、UEFI用のパーティションを512MByteで作成します。
パーティションの作成は「n」で行います。
Command (m for help): n
Partition number (1-128, default 1):
First sector (2048-134217694, default 2048):
Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-134217694, default 134217694): +512M
Created a new partition 2 of type 'Linux filesystem' and of size 512 MiB.
次に、システム用パーティションを「残りの容量 - 4GByte」で作成します。
Command (m for help): n
Partition number (1,3-128, default 2):
First sector (1050624-134217694, default 1050624):
Last sector, +/-sectors or +/-size{K,M,G,T,P} (1050624-134217694, default 134217694): -4G
Created a new partition 1 of type 'Linux filesystem' and of size 59.5 GiB.
最後に、スワップ用パーティションを4GByteで作成します。
Command (m for help): n
Partition number (3-128, default 3):
First sector (125829120-134217694, default 125829120):
Last sector, +/-sectors or +/-size{K,M,G,T,P} (125829120-134217694, default 134217694):
Created a new partition 3 of type 'Linux filesystem' and of size 4 GiB.
それぞれの目的に合わせてパーティションタイプを設定します。
設定できるパーティションタイプは「l」で確認することが出来ます。
リストから抜ける場合は「q」を押します。
「/dev/mmcblk0p1」はUEFI用パーティションなので、「EFI System」を設定します。
パーティションタイプの設定は「t」で行います。
Command (m for help): t
Partition number (1-3, default 3): 1
Partition type (type L to list all types): 1
Changed type of partition 'Linux filesystem' to 'EFI System'.
「/dev/mmcblk0p3」はスワップ用パーティションなので、「Linux swap」を設定します。
Command (m for help): t
Partition number (1-3, default 3): 3
Partition type (type L to list all types): 19
Changed type of partition 'Linux filesystem' to 'Linux swap'.
「/dev/mmcblk0p2」を設定していませんが、デフォルトで「Linux File System」なので特に変更しません。
最後に、これまで設定した内容をHDDに書き込みます。
HDDへの書き込みは「w」で行います。
Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.
フォーマット
各パーティションを利用できるようにするために、フォーマットしていきます。
使用目的によって、フォーマットのやり方が異なります。
UEFI領域のフォーマットは、以下のコマンドで、FAT32にフォーマットします。
mkfs.fat -F32 /dev/mmcblk0p1
システム領域は以下のコマンドで、ext4にフォーマットします。
mkfs.ext4 /dev/mmcblk0p2
スワップ領域は以下のコマンドで、swap領域に設定します。
mkswap /dev/mmcblk0p3
swapon /dev/mmcblk0p3
マウント
フォーマットが終わったら、HDDをマウントします。
ここはAcrhLinuxのインストールガイドに則り、以下のコマンドで「/mnt」にマウントします。
mount /dev/mmcblk0p2 /mnt
UEFI領域は「/mnt/boot」にマウントします。
mkdir /mnt/boot
mount /dev/mmcblk0p1 /mnt/boot
システムクロックの設定
よくわからないのですが…www
システムクロックの設定をします。
(ntpを使用するように設定しているのかな?)
timedatectl set-ntp true
ミラーサイトの設定
「/etc/pacman.d/mirrorlist」を編集して、ミラーサイトを設定します。
どうやらデフォルトで「nano」が入っているようなので、nanoで編集します
nano /etc/pacman.d/mirrorlist
すごい量が表示されるかと思います。
日本のミラーサイトは3つ登録されていますので、それを最上位(ファイルの先頭)に移動します。
プロキシが必要なら設定
プロキシ配下でインストールしている場合は、ここでプロキシの設定をしておきます。
以下のコマンドで、プロキシの環境変数を設定します。
export HTTP_PROXY=[userid]:[password]@[host]:[port]
export HTTPS_PROXY=[userid]:[password]@[host]:[port]
export http_proxy=[userid]:[password]@[host]:[port]
export https_proxy=[userid]:[password]@[host]:[port]
[userid][password][host][port]はそれぞれ、実際の値に置き換えてください。
パスワードやユーザーIDに「@」が含まれる場合は「%40」に置き換えます。
(その他記号も置き換える必要があります。詳しくはググってください)
ベースシステムのインストール
ようやくインストールです。
以下のコマンドを実行して、HDDにArchLinuxをインストールしてください。
pacstrap /mnt base base-devel
システム設定
fstabの作成
以下のコマンドを実行して、システム起動時のパーティションマウントを設定します。
genfstab -U /mnt >> /mnt/etc/fstab
この作業で、再起動後「/dev/mmcblk0p2」がルートディレクトリになります。
一時的にルートディレクトリを変更
この後の設定のために、ルートディレクトリを変更します。
arch-chroot /mnt
タイムゾーンの設定
以下のコマンドを実行して、タイムゾーンを設定します。
ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
hwclock --systohc --utc
ロケールの設定
「/etc/locale.gen」を編集して、利用するロケールを選択します。
「nano」で「/etc/locale.gen」を開いて、「en_US.UTF-8 UTF-8」と「ja_JP.UTF-8 UTF-8」をコメントアウトします。
nano /etc/locale.gen
編集後、以下のコマンドを実行して、ロケール等を反映します。
locale-gen
echo LANG=en_US.UTF-8 > /etc/locale.conf
echo KEYMAP=jp106 > /etc/vconsole.conf
ホストネームの設定
以下のコマンドを実行して、ホストネームを設定します。
echo [hostname] > /etc/hostname
[hostname]は実際に合わせて置き換えてください。
また、以下の様に「hosts」ファイルを編集します。
nano /etc/hosts
内容は以下のとおりです。
127.0.0.1 localhost
::1 localhost
127.0.1.1 [hostname].localdomain [hostname]
rootパスワードの変更
rootアカウントのパスワードを変更します。
passwd
マイクロコードのインストール
LattepandはIntelのCPUを使用しているので、以下のコマンドを実行してマイクロコードをインストールします。
適用は後でします。
pacman -S intel-ucode
GRUBのインストール
以下のコマンドを実行して、GRUBブートローダーとEFIブートマネージャーをインストールします。
pacman -S grub
pacman -S efibootmgr
また、以下のコマンドでArchLinuxをGRUBに登録します。
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=ArchLinux
マイクロコードの適用
以下のコマンドを実行して、GRUBにマイクロコードを適用するように設定します。
grub-mkconfig -o /boot/grub/grub.cfg
chrootから抜ける
chroot内の作業が終わりましたので、以下のコマンドで抜けます。
exit
efiファイルのコピー
今の状態で再起動すると、UEFIのシェルからファイルを選択する羽目になります。
自動でGRUBが起動するように、以下のコマンドを実行してefiファイルをコピーします。
mkdir /mnt/boot/EFI/boot
cp /mnt/boot/EFI/ArchLinux/grubx64.efi /mnt/boot/EFI/boot/bootx64,efi
アンマウント
「fstab」に設定済みなので、再起動後は「/mnt」のマウントが不要になります。
なので、「/mnt」を、以下のコマンドでアンマウントします。
(と言っても、再起動した時点でアンマウントされるのですが…)
umount -R /mnt
再起動
USBメモリを外したいので、再起動と言いつつ以下のコマンドでシャットダウンします。
shutdown -h now
USBメモリの取り外しと起動
シャットダウンしたら、USBの取り外します。
電源ボタンを押して、Lattepandaを起動します。
ログイン
ログイン画面が表示されたらログインします。
ユーザーIDは「root」で、パスワードはインストールで設定したパスワードです。
ネットワークの有効化
デフォルトではネットワークが自動で起動しないようになっています。
ネットワークを自動で有効になるように設定します。
先ずは以下のコマンドを実行してNICのデバイス名を取得します。
ip a
こんなふうに表示されるかと思います。
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
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 08:00:00:00:00:00brd ff:ff:ff:ff:ff:ff
inet 10.0.2.15/24 brd 10.0.2.255 scope global dynamic noprefixroute enp0s3
valid_lft 82004sec preferred_lft 82004sec
inet6 fe80:0000:0000:0000:0000:0000/64 scope link noprefixroute
valid_lft forever preferred_lft forever
「lo」じゃないほうがデバイス名です(この場合「enp0s3」です)。
NICのデバイス名を取得したら、以下のコマンドを実行します。
systemctl enable dhcpcd@[interface].service
[interface]をNICのデバイス名に置き換えてください。
参考サイト
インストールガイド - ArchWiki
ArchLinuxのインストール(3つのブート方式ごとの設定) - Qiita
パーティショニング - ArchWiki
Arch LinuxをVirtualBox上にインストール - Qiita
VirtualBox の UEFI で Ubuntu が起動しない - mattintosh note