drag n drop

調べたことを書きます

ArchLinuxをUSBメモリにインストールする

とりあえず動いた、というレベルの覚え書きです

 

メインの参考記事:

2015-12-29 - ちりあくた

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させる必要がある

 

参考ページ:

ネットワーク設定 - ArchWiki

 

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

 

おわり!