インストール関連記事
インストール関連記事はArch Linuxインストールのページにまとめてあります。それぞれ好みのインストールモードに合わせて参照してください。OSインストール編の最新記事はこちら(2015/2/6)。
はじめに
Arch Linux x86_64をUEFIでインストールする。ブートローダはGummibootを使い、パーティショニングはGPTで行う。インストールするPCの環境は、
MB: ASUS P8Z77-M PRO, (UEFI BIOSのVersion 0801)
CPU: Intel i7-3770S
SSD: Crucial m4 CT512M4SSD2
*現在はUEFIでの起動は使っていない。GRUBや Gummibootを使ってUEFI起動には成功したものの、インストール後のSSDを別のSSDに繋ぎ変えたところ、OSが起動できなくなった。以下の手順で、UEFIで起動できなくなる現象が発生する。
Arch Linuxインストール直後のSSDをつないでいたSATAポートに、別のOSが入っているSSDをつないで起動
-> Arch Linuxインストール直後のSDDに繋ぎ戻して、Arch LinuxをUEFI起動を試みる
-> OSが検出されず起動失敗
以下の手順を踏めば、SSDの繋ぎ変えさえしなければ、とりあえず問題なく使えるはず。
他のディストリビューションとの違い
Arch Linuxのインストールは以下のようにコマンドラインで行うので、始終キーボードの操作になります。UbuntuやFedora、Cent OSとかの、グラフィックなインストールはないので、多少勝手が違います。Ubuntuみたいに「おまかせ設定でインストール」も、もちろんないのでビギ ナーは少し苦労する。isoファイルからイメージディスクを作成する
https://www.archlinux.org/download/のミラーサイトから、archlinux-2014.02.01-dual.isoをダウンロードし、イメージディスクとして書き込む。braseroを使う場合は、「イメージの書き込み」から、「書き込むディスクイメージの選択」でarchlinux-2014.02.01-dual.isoを選んで、書き込めばよい。Arch Linuxのインストール手順
作製したイメージディスクをCDドライブに入れて起動。bios (uefi) からBoot Priorityを、UEFIマークが付いているCDドライブに変更しておく。CDからインストーラが起動するので、Arch Linux archiso x86_64 UEFI CDを選択。Arch Linuxのインストーラがrootで起動する。はじめに、キーボードに合わせて、キーボードレイアウトを選択。デフォルトではusになっている。
# loadkeys jp106
インターネット接続の確立をする。有線でdhcp環境であれば、自動でdhcpcdが起動するので特に設定は不要。www.google.comにpingを打てばインターネット接続ができているか分かる。
ドライブの準備1 (パーティショニング)
以下のような設定でパーティショニングする。UEFIで起動したいので、GPT(gdiskでパーティショニングすればよい)、UEFI System Partition (ESP)の作製がポイント。/dev/sda1: /boot (1 GB, GummibootではUEFI System Partitionとbootパーティション兼用がよい)
/dev/sda2: swap (32 GB, swap)
/dev/sda3: / (64 GB, rootディレクトリ)
/dev/sda4: /home (残りの領域, homeディレクトリ)
コマンドで、
# gdisk /dev/sda Command (? for help): o (新しいパーティションテーブルを作る) Command (? for help): n Partition number : 1 First sector: (デフォルトで2048から始まるようになっているので、何も入力せずにリターン) Last sector: +1G Hex code or GUID: ef00 (UEFI System partition用のパーティションなのでef00にする) Command (? for help): n Partition number: 2 First sector: Last sector: +32G Hex code or GUID: 8200 (swap用は8200) Command (? for help): n Partition number: 3 First sector: Last sector: +64G Hex code or GUID: (デフォルトが8300) Command (? for help): n Partition number: 4 First sector: Last sector: Hex code or GUID: Command (? for help): w Do you want to proceed?: Y
ドライブの準備2(パーティションのフォーマットとマウント)
以下の形式でフォーマットする。/dev/sda1: fat32 (ESP)
/dev/sda2: swap (swap)
/dev/sda3: ext4 (root)
/dev/sda4: ext4 (home)
コマンドで、
# mkfs.fat -F32 /dev/sda1 # mkswap /dev/sda2 # swapon /dev/sda2 # mkfs.ext4 /dev/sda3 # mkfs.ext4 /dev/sda4
フォーマットできたら、以下の通りマウントする。コマンドの順番を変えないように注意する。ESPを/boot以外にマウントしていると、以降色々と面倒な設定があるので、/bootにマウントする。
# mount /dev/sda3 /mnt (ルート用のパーティション(ここではsda3)を、/mntにマウントする) # mkdir /mnt/boot (efiのパーティションのESPは、このディレクトリにマウントする) # mount /dev/sda1 /mnt/boot # mkdir /mnt/home # mount /dev/sda4 /mnt/home
インストール
/etc/pacman.d/mirrorlistでjaistのサーバーを一番上に持ってくる。# vi /etc/pacman.d/mirrorlist
pacstrapで、baseとbase-develをインストール。
# pacstrap /mnt base base-devel
fstabの生成。
# genfstab -U -p /mnt >> /mnt/etc/fstab
chrootする。
# arch-chroot /mnt /bin/bash
localeの設定。/etc/locale.genで、en_US.UTF UTF-8とja_JP.UTF UTF-8のコメントアウトを解除する。
# vi /etc/locale.gen ... #en_SG ISO-8859-1 en_US.UTF-8 UTF-8 ←#を削除。 #en_US ISO-8859-1 ... #ja_JP.EUC-JP EUC-JP ja_JP.UTF-8 UTF-8 ←#を削除。 #ka_GE.UTF-8 UTF-8 ...
locale-genでlocaleを生成。
# locale-gen
locale.confを作成。ただし、システムのインストールが終わって、デスクトップ環境と日本語フォントをインストールしたら、ja_JP.UTF-8に変更する。
# echo LANG=en_US.UTF-8 > /etc/locale.conf # export LANG=en_US.UTF-8
キーマップを変更。
# loadkeys jp106
また、/etc/vconsole.confにも、KEYMAP=jp106と記入しておく。
# vi /etc/vconsole.conf
タイムゾーンの設定。
# ln -s /usr/share/zoneinfo/Asia/Tokyo /etc/localtime # hwclock --systohc --utc
ホストネームの設定
# echo myhostname > /etc/hostname
ネットワーク接続の設定をする。有線でdhcp回線がひとつ繋がっているだけの時は、以下の通り。
# systemctl enable dhcpcd.service
pacmanの設定。必要であれば、/etc/pacman.confの[multilib]とInclude = /etc/pacman.d/mirrorlistのコメントアウトを解除する。そして、pacman -Syでデータベースをアップデート。[multilib] リポジトリを有効にすることで、64ビット環境の Arch Linux で32ビットアプリケーションの動作・ビルドができるようになる。自分は、32ビットアプリケーションを使っていないので、[multilib]はコメントアウトしたままにしている。
# vi /etc/pacman.conf ... [multilib] Include = /etc/pacman.d/mirrorlist ...
# pacman -Sy
ルートパスワードを設定
# passwd
*2014/12/23追記
Intel製のCPUを使っている場合は、Intel のマイクロコードのアップデートを有効にするために、intel-ucodeをインストールする。
# pacman -S intel-ucode
linux 3.17-2および、linux-lts 3.14.21-2のバージョン以降、マイクロコードが、ブートプロセスの初期に読み込まれないと有効にならなくなったためである。
gummibootの場合は、以下で設定する/boot/loader/entries/arch.confの中身にinitrd /intel-ucode.imgを追加する必要があるので、arch.confは以下のようになる。
title Arch Linux linux /vmlinuz-linux initrd /intel-ucode.img initrd /initramfs-linux.img options root=/dev/sdaX rw
AMD CPUの場合は、特にucodeのインストールは必要ないっぽい。ベースシステムのインストールの際、linux-firemwareがインストールされてこのパッケージの中に/usr/lib/firmware/amd-ucode/microcode_amd.bin等が含まれている。
*2014/12/23追記ここまで
ブートローダ(Gummiboot)のインストール
gummiboot パッケージをインストールして、gummiboot install を実行してブートローダを EFI System Partition にインストール。ESPを/boot以外にマウントしていると、以降色々と面倒な設定があるので、/bootにマウントする。
# mount -t efivarfs efivarfs /sys/firmware/efi/efivars (今回の場合は既にマウントは済んでいた) # pacman -S gummiboot # gummiboot install
gummibootにArch Linux のエントリを追加する。/boot/loader/entries/arch.conf を作成し、以下の内容を記述する。
# vi /boot/loader/entries/arch.conf
title Arch Linux linux /vmlinuz-linux initrd /initramfs-linux.img options root=/dev/sdaX rw
設定はこれで終わりなので、再起動する。reboot直後、CDを取り出し、bios (uefi) で、Boot PriorityをUEFIマークのついたSSDに変更しておく。
# exit # umount -R /mnt # reboot
参考:
[1]Beginners' Guide/Installation
[2]http://opamp.hatenablog.jp/entry/2013/10/30/233548
スポンサーリンク
0 件のコメント:
コメントを投稿