インストール関連記事
インストール関連記事はArch Linuxインストールのページにまとめてあります。それぞれ好みのインストールモードに合わせて参照してください。OSインストール編の最新記事はこちら(2015/2/6)。
はじめに
Arch Linux x86_64をUEFIでインストールする。ブートローダはGRUBを使い、パーティショニングは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を選んで、書き込めばよい。インストール
作製したイメージディスクを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: UEFI System Partition (512 MB)
/dev/sda2: swap (32 GB)
/dev/sda3: /boot (512 MB)
/dev/sda4: / (残りの領域)
コマンドで、
# gdisk /dev/sda Command (? for help): o (新しいパーティションテーブルを作る) Command (? for help): n Partition number : 1 First sector: (デフォルトで2048から始まるようになっているので、何も入力せずにリターン) Last sector: +512M 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: +512M 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
/dev/sda2: swap
/dev/sda3: ext4
/dev/sda4: ext4
コマンドで、
# mkfs.fat -F32 /dev/sda1 # mkswap /dev/sda2 # swapon /dev/sda2 # mkfs.ext4 /dev/sda3 # mkfs.ext4 /dev/sda4
フォーマットできたら、以下の通りマウントする。順番を変えないように注意する。
# mount /dev/sda4 /mnt (ルートパーティション(ここではsda4)を、/mntにマウントする) # mkdir /mnt/boot # mount /dev/sda3 /mnt/boot # mkdir /mnt/boot/efi (efiのパーティションのESPは、このディレクトリにマウントする) # mount /dev/sda1 /mnt/boot/efi
ドライブにインストール
/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
/mntに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を作成。ただし、システムのインストールが終わって、Xと日本語フォントをインストールしたら、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のバージョン以降、マイクロコードが、ブートプロセスの初期に読み込まれないと有効にならなくなったためである。intel-ucodeをインストールしておけば、以下のgrub-mkconfigを実行すると、ブート時にintel-ucode.imgを読み込む設定が自動的に加わる。
AMD CPUの場合は、特にucodeのインストールは必要ないっぽい。ベースシステムのインストールの際、linux-firemwareがインストールされてこのパッケージの中に/usr/lib/firmware/amd-ucode/microcode_amd.bin等が含まれている。
*2014/12/23追記ここまで
grub-installする前に/boot/efiにEFIディレクトリを作成しておく
# mkdir /boot/efi/EFI
ブートローダ(GRUB)のインストール
# mount -t efivarfs efivarfs /sys/firmware/efi/efivars (今回の場合は既にマウントは済んでいた) # pacman -S grub efibootmgr # grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=arch_grub --boot-directory=/boot/efi/EFI --recheck --debug
grub.cfgを作成。
# pacman -S os-prober (複数OSのデュアルブートをするときは、os-proberをインストールすると、インストール済みのOSが自動検出される。) # grub-mkconfig -o /boot/efi/EFI/grub/grub.cfg (ここのディレクトリを間違えるとOSが起動されない。一度ミスってしまった。)
設定はこれで終わりなので、再起動する。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 件のコメント:
コメントを投稿