ArchLinuxをUSBメモリにインストールする
とりあえず動いた、というレベルの覚え書きです
メインの参考記事:
USB キーに Arch Linux をインストール - ArchWiki
ArchLinuxのインストール(3つのブート方式ごとの設定) - Qiita
インストールメディア用と、インストール先用の、2つのUSBメモリを用意する
公式ページで、isoをダウンロードして、Rufus(DDモード)でUSBメモリに焼く
(dual.isoという、x86_64とi386が両方入ってるisoしかない)
用意した2つのUSBメモリをPCに差して、USBブートする
x86_64を選んで起動
rootでログインした状態で起動される
WiFiを設定
wifi-menuか、wpa_supplicantを使う
ステルスSSIDの場合は、wifi-menuは使えないので、wpa_supplicantを使う
wifi-menuの場合
コマンドを入れた後に画面に従って入力するだけでいい
さらに、固定IPにする場合は、作成したprofileを直接編集する
# nano /etc/netctl/myprofile
IP=dhcpのところを下記に変更
IP=static
Address='192.168.1.2/24'
Gateway='192.168.1.1'
DNS=('192.168.1.1' '8.8.8.8')
# netctl restart myprofile
エラーになってるかを確認できる
# systemctl status netctl@myprofile.service
同じinterfaceを使った別のprofileに切り替えるときは、
そのprofileをstartさせるだけでは自動では切り替わらずにエラーになるので、
現在のprofileをstopさせてから、次のprofileをstartさせる必要がある
参考ページ:
wpa_supplicantの場合
インターフェース名を確認
# iw dev
基本のパラメータを設定
# echo 'ctrl_interface=DIR=/run/wpa_supplicant' > /etc/wpa_supplicant.conf
# wpa_passphrase [ssid] [passphrase] >> /etc/wpa_supplicant.conf
# ip link set [interface] up
# nano /etc/wpa_supplicant.conf
network={}のパラメータとして下記を追加
scan_ssid=1
接続する
# wpa_supplicant -B -D nl80211 -c /etc/wpa_supplicant.conf -i [interface]
# dhcpcd -A [interface]
参考ページ:
Arch Linuxのインストール時にステルスWi-Fiに接続する方法 - ニゴロバ ~明日は256倍がんばります~
インストール先のパーティションを作成する
公式Wikiによれば、swap領域は不要らしいので作らない
(書き込み回数を減らすためでもある)
lsblkで、インストール先のドライブ名を確認する (/dev/sdaXと仮定)
cfdiskで、先頭を/boot用に100MB, Bootableにして、残りを/用(Bootable不要)にする
パーティション作成が終わったら、フォーマットをする
書き込み回数を減らすために、ジャーナリングのないext4でフォーマットする
# mkfs.ext4 -O "^has_journal" /dev/sda1
# mkfs.ext4 -O "^has_journal" /dev/sda2
作ったパーティションをマウントする
# mount /dev/sda2 /mnt
# mkdir /mnt/{boot,etc}
# mount /dev/sda1 /mnt/boot
# genfstab -U -p /mnt >> /mnt/etc/fstab
OS本体をインストールする
# pacman -Syy
# pacstrap /mnt base base-devel
OSの中で、起動とネット接続に必要なパッケージをインストールする
(起動とネット接続さえできれば、残りはOS単独で起動させてからでも作業できる)
# arch-chroot /mnt /bin/bash
# pacman -Syy
# pacman -S grub
# grub-install --recheck /dev/sda
# grub-mkconfig -o /boot/grub/grub.cfg
# nano /etc/mkinitcpio.conf
HOOKのudevのすぐ後に、blockを追加(公式wikiによる情報)
# mkinitcpio -p linux
# pacman -S iw net-tools networkmanager
# exit
パーティションをアンマウントして、シャットダウン(インストール完了)
# umount -R /mnt
# shutdown now
インストールしたOSを起動させて、初期設定をする
インストールメディア用のUSBメモリを抜いて、
インストール先のUSBメモリだけをPCに差して、PCを起動する
rootでパスワードなしでログインできる
WiFiを設定する
profile切り替えができ、かつ自由度が高いので、NetworkManager(nmcli)を使用する
nmcliが使える状態にする
# systemctl enable NetworkManager
# systemctl start NetworkManager
デバイス名とタイプ名を確認
# nmcli d
profileを作成
# nmcli c add type wifi ssid [SSID] ifname [interface] con-name myprofile
パラメータを確認
# nmcli c show myprofile
固定IPを設定(DHCPにする場合はスキップ可)
# nmcli c mod myprofile ipv4.method manual ipv4.addresses "192.168.1.2/24" ipv4.gateway "192.168.1.1" ipv4.dns "192.168.1.1" +ipv4.dns "8.8.8.8"
ステルスSSIDに接続する場合の設定
# nmcli c mod myprofile 802-11-wireless.hidden yes
WPA2-PSKのパスワードの設定(wpa2-pskというパラメータ名はない)
(wifi-secは、802-11-wireless-securityのaliasになっている)
# nmcli c mod myprofile wifi-sec.key-mgmt wpa-psk
# nmcli c mod myprofile wifi-sec.psk [password]
接続する
# nmcli c up myprofile
パラメータの値を削除するときは、""で空の文字列を与える
同じパラメータを+で追加している場合は、-を付けると1つずつ削除できる
ユーザーの設定をする
rootのパスワードを、passwdで変更する
作業用のユーザーを作成する
# groupadd administrators
# useradd -m -g administrators [username]
# passwd [username]
# visudo
% administrators ALL=(ALL) NOPASSWD: ALL
以降は、作業用のユーザーでログインしなおして作業する
SSHを設定する
SSHを入れる(クライアントもサーバーも一緒にインストールされる)
$ sudo pacman -S openssh
設定ファイルを変更する
$ sudo nano /etc/ssh/sshd_config
PermitRootLogin no
PermitEmptyPasswords no
PasswordAuthentication yes
Port [22以外のポート番号](任意)
SSHを使えるようにする
$ sudo systemctl enable sshd
$ sudo systemctl start sshd
その他のパッケージを入れる
Intel CPUのマイクロコードのアップデート
$ sudo pacman -S intel-ucode
おわり!