ArchLinux32をインストール&設定

2020年4月4日

ArchLinux32の設定 ディストリビューション

32bit用 Arch Linux 32 インストールをインストールします。
軽量なデスクトップ環境LXQtをインストールして、ブラウザでYoutubeの動画を見れるような環境を整えます。ネットワークは無線LAN(WiFi)で接続、有線LANは使用しません。

今回の方法は、他のパーティションのDebianを起動してその端末内でインストール作業を行います。Debianが起動しているため、ブラウザで必要な情報を調べながらインストールを進められます。 

参考: https://wiki.archlinux.jp/index.php/%E6%97%A2%E5%AD%98%E3%81%AE_Linux_%E3%81%8B%E3%82%89%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB#.E6.96.B9.E6.B3.95_B:_LiveCD_.E3.82.A4.E3.83.A1.E3.83.BC.E3.82.B8.E3.82.92.E4.BD.BF.E3.81.86

Debianのパッケージにある arch-install-scripts をインストール

$ sudo apt install arch-install-scripts

この中に genfstab や arch-chroot 等が入っている。

isoファイルをダウンロード

https://www.archlinux32.org/download/
国旗のアイコンのあるところへスクロールして、どれかからダウンロードする。
archlinux-202*.**.**-dual.iso

ホスト(Debian)でGparted等を使用してインストール先のパーティションを作成しておく。

ファイルマネージャーでダウンロードした iso をマウントして、airootfs.sfs を探す。(使用しているファイルマネージャーにマウント機能がない場合は、端末で mountコマンドを使用する)

arch/i686/airootfs.sfs を展開する

$ sudo unsquashfs /media/user/ARCH_202***/arch/i686/airootfs.sfs
Parallel unsquashfs: Using 1 processor
57756 inodes (63242 blocks) to write

[=============================================================-] 63242/63242 100%

created 48658 files
created 4313 directories
created 6633 symlinks
created 0 devices
created 0 fifos

カレントディレクトリに ディレクトリ squashfs-root が出来る。

Debian環境から Arch環境に入る(chroot)

$ sudo mount --bind squashfs-root squashfs-root
$ sudo arch-chroot squashfs-root

# pacman-key --init
# pacman-key --populate archlinux32

次のエラーがでる場合は、--populate archlinux ではなく上記のように --populate archlinux32 となっているか確認する。
error: failed to commit transaction (invalid or corrupted package (PGP signature))
Errors occurred, no packages were upgraded.

インストール先のパーティションをマウント

# mount /dev/sda13 /mnt
# pacman -Syy
# pacstrap /mnt base linux linux-firmware

==> Starting build: 5.5.8-arch1-1.0
  -> Running build hook: [base]
  -> Running build hook: [udev]
  -> Running build hook: [modconf]
  -> Running build hook: [block]
==> WARNING: Possibly missing firmware for module: aic94xx
==> WARNING: Possibly missing firmware for module: wd719x
  -> Running build hook: [filesystems]
  -> Running build hook: [keyboard]
  -> Running build hook: [fsck]
cp: cannot stat '(builtin)': No such file or directory
==> Generating module dependencies
==> Creating gzip-compressed initcpio image: /boot/initramfs-linux-fallback.img
==> WARNING: errors were encountered during the build. The image may not be complete.
error: command failed to execute correctly

errorが出るが先に進む

fstabを作成する

# genfstab -U /mnt >> /mnt/etc/fstab

新しくインストールしたシステムに chroot する

# arch-chroot /mnt
# PS1="[\u@\h \W]($?)\$ "
# ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
# hwclock --systohc
# passwd

/etc/locale.gen を編集
使用するロケール en_US.UTF-8 UTF-8 と ja_JP.UTF-8 UTF-8 をアンコメント
# locale-gen

/etc/locale.conf を作成
LANG=en_US.UTF-8

/etc/vconsole.conf を作成
KEYMAP=jp106

/etc/hostname
arch32

/etc/hosts
127.0.0.1    localhost
::1        localhost
127.0.1.1    arch32.localdomain    arch32

ツールをインストール

# pacman -S man-db man-pages nano bash-completion gedit
# pacman-key --populate archlinux32

WiFi 関係

# pacman -S ipw2200-fw
注: ハードウェアによってパッケージが異なる

# pacman -S networkmanager network-manager-applet
# systemctl enable NetworkManager.service

grub作成

# pacman -S grub
# grub-install /dev/sda13 --recheck --force

# pacman -S intel-ucode
# grub-mkconfig -o /boot/grub/grub.cfg

sudo関係

# pacman -S sudo
追加 Defaults timestamp_timeout=3600
アンコメント %wheel ALL=(ALL) ALL

ユーザーを作成

# useradd -m -G wheel user-name
# passwd user-name

X と デスクトップ環境

# pacman -S xorg-server xorg-apps xf86-video-intel
# pacman -S lxqt sddm oxygen-icons xscreensaver
# systemctl enable sddm

アイコンはサイズや好みで選択する。ディスク使用量を減らすには oxygen-icons ではなく adwaita-icon-theme にする。(GTK3と兼用)

フォントと日本語入力

↓どれかファイルサイズを考慮して好みで選ぶ
# pacman -S otf-ipaexfont
# pacman -S ipa-fonts  # グループ
# pacman -S adobe-source-han-sans-jp-fonts

# pacman -S fcitx-mozc fcitx-im fcitx-configtool

# nano /etc/locale.conf
ja_JP.UTF-8

chrootから出てumount

# exit
# umount -R /mnt
# exit

$ sudo umount -R squashfs-root

インストール終了。

再起動して grub から arch を起動する

デスクトップ環境にログインして設定を行う。

まずWi-Fiに接続する。

ディスク容量を確認

Filesystem     1M-blocks  Used Available Use% Mounted on
/dev/sda13          4801  4272       266  95% /

5GBでは少なかった。

Pacmanミラーリストを最新にする

https://wiki.archlinux.jp/index.php/Reflector

sudo pacman -S reflector

同期が一番新しい10つのミラーを取り出して、速度でソートし、/etc/pacman.d/mirrorlist ファイルを上書きします:

sudo reflector --verbose --latest 10 --sort rate --save /etc/pacman.d/mirrorlist

LXQt関係の推奨パッケージをインストール

これらはなくても使用できるが便利になる。
sudo pacman -S libsysstat
sudo pacman -S libstatgrab
sudo pacman -S gvfs
sudo pacman -S pavucontrol-qt
sudo pacman -S gnome-keyring

sudo pacman -S gvfs-mtp   # gvfs-mtpは不要だと思う

ブラウザをインストール

sudo pacman -S firefox 

日本語関係

~/.xprofile を編集
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS=@im=fcitx

再ログインする。
これでインストール終了。

fcitxでエラーが出る

fcitxインストールでエラーが出るが、今のところ解消できない。
日本語入力に関してはほぼ問題なく使えている。

$ sudo pacman -S fcitx-gtk3
resolving dependencies...
looking for conflicting packages...
:: fcitx-gtk3 and fcitx are in conflict. Remove fcitx? [y/N]
error: unresolvable package conflicts detected
error: failed to prepare transaction (conflicting dependencies)
:: fcitx-gtk3 and fcitx are in conflict
```
conflict ???
これについては未解決