Linux あれこれ

Linux 関連の備忘録です。

VirtualBox に「Arch Linux」をインストール(改定版)〈H122-4〉

登録日: 2021-07-03 更新日: 2021-07-04

前回、「Xubuntu 20.04.2 LTS」に、ハードウェアの違いを仮想マシンにより吸収できる「VirtualBox」をインストール しました。

そのVirtualBox に「Arch Linux」をインストールしたときの備忘録で、 前回の〈H122-1〉の手順を見直した「改訂版」です。

-

「Arch Linux」は、デスクトップ環境もインストーラもないので、 コマンド入力で、パーティション分割から構築していくことになり、敷居が高い(面倒)です。

まずは、ブラウザやテキストエディタで手順を確認しながらできる「VirtualBox」に「Arch Linux」をインストールしてみました。

-

手持ちのPC だと仮想コンソールが不安定につき、インストールのはじめに「kmscon」に切り替えたかったのですが、工数が増えるので、インストール完了後の再起動で仮想コンソールを「kmscon」に切り替えました。インストール完了後の設定は安心して行えました。

-

-

ホストOS : Xubuntu 20.04.2 LTS

ゲストOS : Arch Linux(2021.07.01 のiso イメージ) ←(作業時のバージョン)

→ローリングリリースにつき、バージョン表記はありません。

-

-

使用したPC は「ASUS Chromebox CN60 」で、プロセッサは第4世代の古い「Intel Celeron 2955U 」です。

-

(注)リンクを戻るときはブラウザの左上の「←」をクリック

-

-


目次

-

「Xubuntu 20.04.2 LTS にVirtualBox をインストール」

「ゲストOS のISO イメージをダウンロード」

「Arch Linux の最小システムをインストール」

「kmscon の設定」

「インストール後の設定」

「コンソールでマウスを使う」

「AUR ヘルパー paru のインストール」

「Xorg のインストールと設定」

「まとめ へ」

-

「目次詳細 へ」

-

-


VirtualBox の「Arch Linux」の画面:

-

「kmscon」に切り替えた仮想コンソールの画面:

→日本語フォントはNoto なのでフォント文字がきれいです。ユーザでログインすると、ls がカラー化されてます。

画面の上下にあるのは「VirtualBox」のメニューバーと状態パネルです。

-

デスクトップ環境は自由に選べますが、手動でインストールが必要:

余計なものを入れずに、好みのデスクトップ環境をインストールするベースにできるのが利点。 デスクトップ環境を入れてしまえば、他のディストリビューションと変わらない使い勝手で、 余計なものがないので軽量です。

-

-


--- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - -

-

現時点のバージョンを表示:

-

Arch Linux はローリングリリースにつき更新されて行くので、現時点のバージョンを表示しておきます:

2021-07-03 現在:

$ cat /etc/os-release
NAME="Arch Linux"
PRETTY_NAME="Arch Linux"
ID=arch
BUILD_ID=rolling
ANSI_COLOR="38;2;23;147;209"
HOME_URL="https://www.archlinux.org/"
DOCUMENTATION_URL="https://wiki.archlinux.org/"
SUPPORT_URL="https://bbs.archlinux.org/"
BUG_REPORT_URL="https://bugs.archlinux.org/"
LOGO=archlinux

$ uname -r 
5.12.14-arch1-1

→Arch Linux には、Manjaro Linux にある「/etc/lsb-release」は提供されていません。

-

ちなみに、下記のファイルはあります:

$ cat /etc/arch-release
$ 

→空です。 個人で構築していくデスクトップ環境等は異なるので、それらの覚書に使って良いかも。

-

-


Xubuntu について:

-

  • Xubuntu は、Ubuntu の公式フレーバーです。

  • Xubuntu 20.04.2 LTS は Ubuntu 20.04 がベースの、軽量なXfce デスクトップ環境です。

2021-06-29 現在:

$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=20.04
DISTRIB_CODENAME=focal
DISTRIB_DESCRIPTION="Ubuntu 20.04.2 LTS"

$ uname -r
5.8.0-59-generic

-

-


VirtualBox について:

-

-

  • 仮想マシンを使うことで、ハードウェアで問題となりそうなPC でも、最新のLinux ディストリビューションをインストールできる可能性が高くなります。

  • 余計なソフトが一緒に動くので、その分、負荷が大きいことと、メモリとストレージを使います。 システムに余裕がないと厳しく、特にメモリは、ホストOSとゲストOSとで分割して使われるので、メモリ設定の影響が大きいです。

→今回使った「ASUS Chromebox CN60」は、メモリ8GB、M.2 SSD 240GB に増設しています。

-

-


--- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --

-

Arch Linux について:

-

Arch Linux Wiki よりの抜粋:

-

特徴:

  • Arch Linux は、シンプルで無駄の無いシステムを目指しています。

→そのため、インストーラだけでなく、GUI 操作のデスクトップ環境も公式には提供されていません。

  • Arch Linux は、「ローリングリリース」と呼ばれるリリース方式を採用。

  • ソースコードのビルドおよびバイナリパッケージの作成を自動化するArch Build System(ABS)が提供されています。

  • AUR がサポートされていますが、安定動作のため、推奨されていません。

-

-


--- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - ---

-

1. ホストOS 側の確認:

ホストOS : Xubuntu 20.04.2 LTS

$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=20.04
DISTRIB_CODENAME=focal
DISTRIB_DESCRIPTION="Ubuntu 20.04.2 LTS"

$ uname -r
5.8.0-59-generic

-

システム更新で最新にしました:

$ sudo apt update
$ sudo apt upgrade

-

再起動

-

-


--- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - ----

-

2. ホストOS 「Xubuntu 20.04.2 LTS」に「VirtualBox」をインストール:

-

前回の作業 を参照:

-

-


--- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - -----

-

3. 「ゲストOS」のISO イメージをダウンロード:

-

1). 最新のiso をダウンロード:

archlinux/iso/latest

更新がもっとも少ない、提供されてすぐの07-02 02:00 頃にダウンロードしました。

-

2021-07-02 作業時に使ったiso イメージ:

archlinux-2021.07.01-x86_64.iso 2021-07-01 22:51 779M

-

2). チェックサムの確認:

$ cd ~/ダウンロード/
$ sha1sum archlinux-2021.07.01-x86_64.iso
5804cefb2e5e7498cb15f38180cb3ebc094f6955  archlinux-2021.07.01-x86_64.iso

-

-


--- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - ----- -

-

4. 「仮想マシン」の作成:

-

1). システム→「VirtualBox」→「VirtualBox」を起動

VirtualBox マネージャの画面:

→すでに別の仮想マシンを作成して、ゲストOS をインストールしています。

-

2). 右上の「新規」ボタンをクリック

-

3). 名前とオペレーティングシステム:

-

名前:Arch-Linux-Kmscon   ←(好きな英字の名前、フォルダ名になります)
タイプ:Linux
バージョン:「Arch Linux(64bit) 」になっていることを確認

→「次へ」

-

4). メモリサイズ:

3031 MB   ←(大きく取りすぎると、 ホストOS が不調になります)

→「次へ」

-

5). ハードディスク:

「仮想ハードディスクを作成する」にチェック ←(つまり、ファイルが使われます)

→「作成」

-

6). ハードディスクのファイルタイプ:

「VDI(VirtualBox Disk Image)」にチェック ←(つまり、VirtualBox 形式)

→「次へ」

-

7). 物理ハードディスクにあるストレージ:

「可変サイズ」にチェック

→「次へ」

-

8). ファイルの場所とサイズ:

仮想ハードディスクとなるファイルが格納される、フォルダの指定:

今回は「/home/ubn/VirtualBox VMs/Arch-Linux-Kmscon.vdi」

→すでに入っている指定のまま、にしました。

-

可変サイズにした場合の、ファイルサイズの上限値:

8.00 GB →「30.00 GB」に変更(10 GB だとシステム更新だけですぐ一杯 になりました)

→「作成」

-

9). 仮想マシンの「Arch-Linu-Kmsconx」が作成されました:

-

  • これが今から使う、仮想マシン(仮想のパソコン)の性能になります。(画像はバージョンアップ後の画像なので仮想マシン名を変更しています)

実際のハードウェアによっての制限はありますが、汎用のドライバーが使われることと、下記のように設定値を後から変更できるのがすごいところ。

-

10). 「ディスプレイ」の設定を変更:

「ディスプレイ」をクリック→「スクリーン」タブ

- ビデオメモリー: 16MB →「128MB」に変更
- グラフィックコントローラー: VMSVGA →「VBoxSVGA」に変更

→「VBoxSVGA」に変更しないと、デスクトップが「真っ暗のまま」起動できないことがありました。 実はライブ立ち上げで、右上にメッセージらしきものが表示されていましたが、警告とは受け取っていませんでした。

-

11). 「システム」の設定を変更:

「システム」をクリック→「マザーボード」タブ

- 「EFI を有効化」にチェック

-

「システム」をクリック→「プロセッサー」タブ

- プロセッサー数 : 1 CPU →「2 CPU」に変更

→使われているプロセッサが持つ、物理的な数と合わせると、速度の向上が期待できます。 使われているプロセッサにより数は違うので注意。

-

→「OK」

-

-


--- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - ----- --

-

5. 「Arch Linux」の最小システムをインストール

-

  • 最小のシステムにして、ログイン画面が表示されるところまでのインストールを行いました。

-

1). 仮想マシンに、「Arch Linux」のライブCD をセット

Oracle VM VirtulBox マネージャー」画面にて、

ストレージにある、 [光学ドライブ] 空 をクリック

→「ディスクファイルを選択…」をクリック

-

→「~/ダウンロード/archlinux-2021.07.01-x86_64.iso」を選んで「開く」

→[光学ドライブ] が「空」だったのが、「archlinux-2021.07.01-x86_64.iso」に変わりました。

-

→「OK」

-

2). 「起動」(緑色の右矢印)ボタン

起動ディスクを指定します。事前に入っているのはマウントしたことのあるドライブなので、ライブCD イメージに変更します。

→「起動」ボタンをクリック

仮想マシンが起動

-

3). ブートローダーのメニュー画面が表示されます

→「Arch Linux install mediam」が選ばれています。

-

4). そのまま待つと、画面真っ暗後にログイン画面になりました

自動で、root でログインされました。パスワードは不要です。

-

プロンプトは「$」でなく管理者権限の「#」です。なので常に「sudo」を付けているのと同じです。

root@archiso ~ # uname -r
5.12.13-arch1-2

-

問題: コンソールで勝手に改行されて表示が送られたり、cat を使うとキーを受け付けなくなります

「Virtual マネージャ」画面のビュー画面だと、改行が繰り返し入力されていることがわかります。

-

参考:

端末の使用

→これによると余計なコードが送られている可能性が高いみたい。

-

ライブCD イメージで立ち上げても、インストール後の立ち上げでも発生します。 不思議と「script」の記録を取り始めると軽減します。

cat、less、more、を使うと固まるので、極力使わないように避けました。GUI の端末アプリだと発生しません。

-


5). 作業記録の開始

script コマンドで、入力したコマンドを記録できます。script コマンドの終了時に「typescript」ファイルに保存されます。

# script
Script started, output log file is 'typescript' .

→作業開始と、記録されるファイル名が表示されました。

作業記録により、インストールで失敗した原因を調べたり、作業手順を見直すのに役立ちます。

文字の属性(色指定などのEsc シーケンス等)が含まれるのでシンプルなテキストではありません。端末上で「cat typescript」とすると、そのままのコンソールの表示を再現できます。

-


6). 日本語キーボードレイアウトに変更:

# loadkeys jp106

→ここでの変更はインストールのときだけ有効です。再起動したら再度設定が必要です。 「@@」を入れてみて有効になったかを確認。

-


7). インターネットに接続していることを確認:

# ping -c 4 archlinux.jp

PING archlinux.jp (160.16.119.98) 56(84) bytes of data.
64 bytes from tk2-235-27344.vs.sakura.ne.jp (160.16.119.98): icmp_seq=1 ttl=63 time=35.8 ms
64 bytes from tk2-235-27344.vs.sakura.ne.jp (160.16.119.98): icmp_seq=2 ttl=63 time=35.4 ms
:

→ネットワーク障害の調査でよく使われるコマンドです。 送信しっ放しはネットワーク使用者の迷惑になるので、4回だけping を送信して相手からの応答を待ちます。 かかった時間が表示されれば OK。

-


8). 接続されているドライブを確認:

# lsblk

NAME  MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
loop0   7:0    0 446.8M  1 loop /run/archiso/sfs/airootfs
sda   8:0    0    30G  0 disk
sr0    11:0    1   774.3M  0 rom  /run/archiso/bootmnt

→sda ドライブがArch Linuxインストールの対象です。loop は無視。sr0 はCD ドライブです。

-


9). ブートモードを確認:

ブートモードはパソコンによって違います。ブートモードによって、ディスクの分割のやり方が変わるので、 UEFI で立ち上がっているかを確認:

# efivar -l

8be4df61-93ca-11d2-aa0d-00e098032b8c-BootOrder
8be4df61-93ca-11d2-aa0d-00e098032b8c-Boot0003
8be4df61-93ca-11d2-aa0d-00e098032b8c-Boot0002
: 

→やばい、やばい、余分な改行が入りましたが、応答が返ってきました。

もし、応答が返ってこなかったら、キーを受け付けないはずです。 そのときは、ホストOS 側の再起動が必要です。Crtl+Alt+F2 として、コンソール画面に入り、ユーザでログイン。

$ reboot

→「efivar」はUEFI についての変数を設定・確認するためのコマンドで、-l オプションで変数一覧を表示します。 つまり、変数名のリストが表示されれば、ブートモードは「UEFI」です。

-


10). パーティションの作成:

# sgdisk --new 1::+512m --typecode 1:ef00 --new 2 /dev/sda

# mkfs.ext4 /dev/sda2
# mkfs.vfat -F32 /dev/sda1

-


11). デバイスパーティションを表示:

# lsblk

NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
loop0    7:0    0 638.7M  1 loop /run/archiso/sfs/airootfs
sda    8:0    0    30G  0 disk
├─sda1 8:1    0   512M  0 part
└─sda2 8:2    0  29.5G  0 part
sr0     11:0    1   774.3M  0 rom  /run/archiso/bootmnt

-


12). ルートファイルシステムをマウント:

# mount /dev/sda2 /mnt

マウントするディレクトリーは、/mntにします。 /mntは、インストールメディアからブートしたArch Linuxによりすでに作成されたディレクトリーです。 マウント完了後の/mntの下は空になります。

-


13). /mnt/boot/ を作成:

# mkdir /mnt/boot

-


14). EFI システムパーティションを/mnt/boot にマウント:

# mount /dev/sda1 /mnt/boot

→マウントするディレクトリーは、/mnt/boot/ です。

-


15). マウントされたか確認:

# mount | grep /mnt

/dev/sda2 on /mnt type ext4 (rw,realtime)
/dev/sda1 on /mnt/boot type vfat (rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,utf8,errors=remount-ro)

→mountコマンドを引数なしで実行すると、現在マウントされているファイルシステムパーティションなど)が一覧表示されます。

  • sda2 が/mnt、sda1 が/mnt/boot にマウントされていることを確認

-


16). ミラーリストの設定:

-

現在、mirrorlist には日本のサーバが登録されていません。ただし、登録しても現在はエラーが多発しており、登録は後回しにしました。更新のダウンロードが速くならないだけで支障はありません。

-


17). pacstrap コマンドにてパッケージのインストールを実行:

  • pacstrap コマンドは、Arch Linux のインストール時に使われるパッケージ管理ツールです。

  • パッケージグループに含まれるパッケージ:

Package Groups Overview

-

最小限+α のパッケージをインストール:
# pacstrap /mnt base linux linux-firmware intel-ucode base-devel glibc lib32-glibc netctl dhcpcd net-tools dosfstools nano vi vim kmscon noto-fonts-cjk

説明:

- intel-ucode : Intel Haswell と Broadwell プロセッサを使っている場合は、システムを安定させるためにマイクロコードのアップデートが行われるようにします。

- base-devel glibc lib32-glibc : pacman コマンドでAUR パッケージやABS を扱えるようにしました。

- netctl : 有線ネットワークの設定に必要

- dhcpcd : DHCP ネットワークの名前解決に必要

- dosfstools : ファイルシステム

- nano vi vim : 設定ファイルの編集にエディタが必要

- kmscon : 仮想コンソール代替アプリ

- noto-fonts-cjk : 日本語フォント

→2つに分離したらグループがない方でエラーしました。分離せずひとつにまとめるのが良さそう。

-


18). genfstabの実行

pacstrap は、実行時に表題だけの空の/mnt/etc/fstabを作成します。

/mnt/etc/fstab は後でarch-chroot するときに/etc/fstab となります。 ただし、このままでは何も設定されておらず、Arch Linux は正常にブートできません。

-

Arch Linuxのインストール時はgenfstab コマンドで、/mnt 以下にマウントされたファイルシステムを反映し、fstab ファイルを作成できます。

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

-


19). 実行後の/mnt/etc/fstab の例:

確認するときは、nano で確認:

$ nano /mnt/etc/fstab

# Static information about the filesystems.
# See fstab(5) for details.

# <file system> <dir> <type> <options> <dump> <pass>
# /dev/sda2
UUID=c00d997e-3b71-4e59-89fc-aa47d478cd33   /           ext4        rw,relatime,data=ordered    0 1

# /dev/sda1
UUID=2A0A-CBEA          /boot       vfat        rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro   0 2

→Ctrl+X で閉じます。

→genfstab の-U オプションは、パーティションを/dev/sda1 のようなデバイス名ではなく、UUID=2A0A-CBEA のようなUUID で指定することを意味します。

/dev/sda1 などのデバイス名だと、新しい周辺機器の接続などにより、別のパーティションやデバイスに代わってしまい、ブートできないトラブルが発生することがあります。UUID でパーティションを指定することでそのようなトラブルを防げます。

-


20). chroot の実行:

root@archiso ~ # arch-chroot /mnt
[root@archiso /] # 

arch-chroot を実行してchroot し、/(ルートディレクトリー)を/mnt にします。

chroot により、/mnt、すなわちドライブにインストールされた設定が用いられるようになります。

一方で、今まで使っていたインストールメディアのプログラムやデータにはアクセスできなくなります。 例えば、ここまで使ってきたpacstrapやgenfstab、arch-chrootはドライブにはインストールされていないため、使えなくなります。

-


21). Initramfs の設定:

[root@archiso /] # mkinitcpio -p linux
:
==> Image generation successful

-


22). ブートローダーの設定:

Linux をブートするためには、ブートローダーの設定が必要です。

ブートモードがUEFI なので、systemd に含まれるsystemd-boot を用いてブートローダーを設定しました。

-

(1). systemd-bootのインストール

bootctl は、systemd-boot を用いたブートローダー管理に用いるコマンドです。

systemd-boot のブートローダーをEFI システムパーティションにインストール:

# bootctl install

Created "/boot/EFI".
Created "/boot/EFI/systemd".
Created "/boot/EFI/BOOT".
Created "/boot/loader".
Created "/boot/loader/entries".
Copied "/usr/lib/systemd/boot/efi/systemd-bootx64.efi" to "/boot/EFI/systemd/systemd-bootx64.efi".
Copied "/usr/lib/systemd/boot/efi/systemd-bootx64.efi" to "/boot/EFI/BOOT/BOOTX64.EFI".
Created EFI boot entry "Linux Boot Manager".

-

(2). ローダーの設定

systemd-boot を用いる場合、/boot/loader/loader.conf ファイルでローダーを設定します。

ローダーでは、ブート時に表示されるブートメニュー画面について設定します。

/boot/loader/loader.conf の編集:

# exit
# nano /mnt/boot/loader/loader.conf

default arch
timeout 3
editor  no

nano コマンドが使えるように、chroot から抜けています。

→デフォルトで選択されるローダーエントリーを「arch」にしたので、 ブート時に、対応するローダーエントリーファイル「arch.conf」が「/boot/loader/entries」ディレクトリに必要になります。

timeout は、ブートメニュー画面が表示される秒数を指定します。timeout=0 とすると、Space キーを押さないとブートメニュー画面が表示されなくなります。

editor は、ブートメニュー画面でカーネルパラメーターの編集ができるかどうかを指定します。 セキュリティのため、editor=no が強く推奨されています。

-

(3). ローダーエントリの追加

ローダーの設定に対応するローダーエントリーファイル「/boot/loader/entries/arch.conf」を作成します。

title でOS(Linuxディストリビューション)などの名前、linuxlinux ファイル、initrd で起動時に用いられるRAM ディスクファイルを指定し、さらにoptions でルートファイルシステム/dev/sda2 を指定します。linuxファイル、RAMディスクファイル、ルートファイルシステムの設定は、Linuxをブートするために必須です。

linux ファイルとRAM ディスクは、pacstrap の実行のなかでlinux パッケージがインストールされるときに、/boot ディレクトリに作成されます。また、ローダーエントリーファイルでは /boot は / と記述します。

-

1. 実在するlinux ファイルのパスを、sed で/boot から/ に置換し、ローダーエントリーファイルに入力:
# arch-chroot /mnt
[root@archiso /]# ls /boot/vmlinuz-linux | sed s~/boot~~ >/boot/loader/entries/arch.conf

-

2. 実在するRAMディスクファイルのパスを、sedで/bootから/に置換し、ローダーエントリーファイルに追加:
[root@archiso /]# ls /boot/initramfs-linux.img | sed s~/boot~~ >>/boot/loader/entries/arch.conf

optionsでのルートファイルシステム/dev/sda2の指定では、/etc/fstabと同様の理由でUUIDを用います。 /dev/sda2のUUIDをローダーエントリーファイルに入力します。

-

3. blkidは、ドライブなどのデバイス情報をさまざまな形式で出力します

-o exportは行ごとに「<設定項目>=<設定値>」の出力形式を指定するオプションです。 blkidコマンドではほかの情報も出力されるので、パイプとgrepで絞り込みます。 ^UUIDは、行の先頭が「UUID」ではじまることをあらわす正規表現です。

[root@archiso /]# blkid -o export /dev/sda2 | grep ^UUID >>/boot/loader/entries/arch.conf

これらの操作で「/boot/loader/entries/arch.conf」に使う値が入力されます。

UUIDは、/etc/fstabのルートファイルシステムに指定したのと同じ値です。

-

(4). 「/boot/loader/entries/arch.conf」の修正:

実際に使える設定ファイルの形式に修正します。 title の行を追加するとともに、入力されている内容がlinux、initrd、options の設定値になるように編集し、保存します。 options でのルートファイルシステムの指定では、パーティションを読み書き可能な状態にすることを表すrw を追加します。 インテルプロセッサ固有のアップデートのintel-ucode も追記しました。

[root@archiso /]# exit
# nano /mnt/boot/loader/entries/arch.conf

→もしかしたら、nano はインストールしたので、exit しなくても使えるようになっているかも。

/vmlinuz-linux
/initramfs-linux.img
UUID=c00d997e-3b71-4e59-89fc-aa47d478cd33

↓ 修正

title   Arch Linux
linux   /vmlinuz-linux
initrd  /intel-ucode.img
initrd  /initramfs-linux.img
options root=UUID=c00d997e-3b71-4e59-89fc-aa47d478cd33 rw

→ほとんどの行の修正が必要です。 「rw」をつけるのを忘れないこと。

-

(5). bootctl list コマンドでローダーとローダーエントリーの設定が正しく反映されているかを確認:

ただし、linux やinitrd のファイルやoptions のUUID が実在するかはチェックされません。

# arch-chroot /mnt

[root@archiso /]# bootctl list

Boot Loader Entries:
        title: Arch Linux (default)
           id: arch.conf
       source: /boot/loader/entries/arch.conf
        linux: /vmlinuz-linux
       initrd: /intel-ucode.img
                 /initramfs-linux.img
      options: root=UUID=c00d997e-3b71-4e59-89fc-aa47d478cd33 rw
:

ブートローダーメニューの一番上のメニューのみ抜粋しています。それ以降にも複数のメニュー項目があります。

-


23). タイムゾーンの設定

シンボリックリンクを作成

[root@archiso /]# ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
[root@archiso /]# ls -l /etc/localtime
lrwxrwxrwx 1 root root 30 Jun 30 11:25 /etc/locltime ->  /usr/share/zoneinfo/Asia/Tokyo

-


24). ロケールの設定

-

(1). 英語、および日本語の2つをコメントアウト:

/etc/locale.gen の最後に下記を追記:

[root@archiso /]# echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen
[root@archiso /]# echo "ja_JP.UTF-8 UTF-8" >> /etc/locale.gen

-

(2). ロケールの作成:
[root@archiso /]# locale-gen
Generating locales...
  en_US.UTF-8... done
  ja_JP.UTF-8... done
Generatrion complete.

-

(3). 環境変数LANG も設定:
[root@archiso /]# echo LANG=ja_JP.UTF-8 >> /etc/locale.conf

ここでは確認しません:

$ cat /etc/locale.conf
LANG=ja_JP.UTF-8
LC_ADDRESS=ja_JP.UTF-8
LC_IDENTIFICATION=ja_JP.UTF-8
LC_MEASUREMENT=ja_JP.UTF-8
LC_MONETARY=ja_JP.UTF-8
LC_NAME=ja_JP.UTF-8
LC_NUMERIC=ja_JP.UTF-8
LC_PAPER=ja_JP.UTF-8
LC_TELEPHONE=ja_JP.UTF-8
LC_TIME=ja_JP.UTF-8

→[LANG=ja_JP.UTF-8] があれば OK

-


25). コンソールキーマップとフォントの設定

[root@archiso /]# echo KEYMAP=jp106 >> /etc/vconsole.conf
[root@archiso /]# echo FONT= >> /etc/vconsole.conf
[root@archiso /]# echo FONT_MAP= >> /etc/vconsole.conf

ここでは確認しません:

$ cat /etc/vconsole.conf
KEYMAP=jp106
FONT=
FONT_MAP=

-


26). ホスト名を /etc/hostname に記述:

[root@archiso /]# echo ubn-box >> /etc/hostname

→ここでは、ホスト名(コンピュータ名)を「ubn-box」にしました。

ここでは確認しません:

$ cat /etc/hostname
ubn-box

-


27). 同じホスト名を /etc/hosts にも記述:

[root@archiso /]# echo "# Host addresses" >> /etc/hosts
[root@archiso /]# echo "127.0.0.1  localhost" >> /etc/hosts
[root@archiso /]# echo "127.0.1.1  ubn-box" >> /etc/hosts
[root@archiso /]# echo "::1          localhost ip6-localhost ip6-loopback" >> /etc/hosts
[root@archiso /]# echo "ff02::1  ip6-allnodes" >> /etc/hosts
[root@archiso /]# echo "ff02::2  ip6-allrouters" >> /etc/hosts

→例として、ホスト名(コンピュータ名)を「ubn-box」にしています。

ここでは確認しません:

$ cat /etc/hosts

-


28). DHCP自動起動設定

  • 再起動後もDHCP によってIP アドレスを取得するようになります。
[root@archiso /]# systemctl enable dhcpcd
Created symlink /etc/systemd/system/multi-user.target.wants/dhcpcd.service → /usr/lib/systemd/system/dhcpcd.service.

→これをやっておかないと、リポジトリのURL の名前解決ができないので、pacman コマンドが使えません(同期がとれません)。

-


29). 「kmscon」の設定:

-

(1). root で kmscon コンソールにログインしたいので、pam_securetty モジュールを無効にします:
[root@archiso /]# nano /etc/pam.d/login

↓ 下記の行をコメント化

#auth       required     pam_securetty.so

-

ここでは確認しません:
$ cat /etc/pam.d/login
#%PAM-1.0

#auth       required     pam_securetty.so
auth       requisite    pam_nologin.so
auth       include      system-local-login
account    include      system-local-login
session    include      system-local-login
password   include      system-local-login

-

(2). 日本語キーボードにつき、/etc/kmscon/kmscon.conf にレイアウトを設定:

-

フォルダを作成:
[root@archiso /]# mkdir /etc/kmscon

-

kmscon.conf を作成:
[root@archiso /]# nano /etc/kmscon/kmscon.conf

↓ 下記を入力:

xkb-layout=jp

-

ここでは確認しません:
$ cat /etc/kmscon/kmscon.conf
xkb-layout=jp

→再起動にて反映されます。

-


30). 仮想コンソール「tty1」で kmscon を使うように切替:

[root@archiso /]# systemctl disable getty@tty1.service
[root@archiso /]# systemctl enable kmsconvt@tty1.service

-


31). root ユーザーのパスワード設定

[root@archiso /]# passwd

New password:
Retype new Password:

passwd: Password updated successfully

→同じパスワードを2回入力して、設定します。 再起動後に、このパスワードでroot ユーザとしてログインします。

-


32). 設定が完了したら、exit コマンドでchroot を終了:

[root@archiso /]# exit

-


33). 作業記録の終了

script コマンドで作業を記録していた場合は、exit コマンドで終了しておきます。

# exit

Script done, file is typescript

-


34). 作業記録ファイルのドライブへのコピー

記録していたファイルを退避しておかないと、再起動したときに作業記録はなくなります。

# cp typescript /mnt/root/install.log

→ドライブの/root ディレクトリに、任意のファイル名の「install.log」として保存しました。

→複数回のライブCD イメージでのインストール作業をしたときは、ファイル名に番号を付けておくと上書きされません。

-

今回は、ここで余分な改行により、ホストOS でもキーを受け付けなくなりました。

マウスは動きますが、クリックはできません。 Ctrl+Alt+F2 にて、ホストOS をコンソール画面に切り替えて、ユーザでログイン。

$ shutdown -h now

-


35). 正常な場合は、アンマウントして、コンピュータをシャットダウン

# umount -R /mnt
# shutdown -h now

-


36). 「VirtualBox」の仮想マシンの電源が落ちたら、ライブCD の取外し

Oracle VM VirtulBox マネージャー」画面にて、

ストレージにある、 [光学ドライブ] archlinux-2021.06.01-x86_64.iso をクリック

→「仮想ドライブからディスクを除去」をクリック

→ [光学ドライブ] 空 に変わりました。

-


37). 「起動」ボタンをクリック

インストールに成功していれば、Arch Linux のログイン画面が表示されます。

-

-


--- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - ----- ---

-

6. 仮想コンソールにて、ログイン画面が表示

-

→インストール完了後、最初のコマンド画面を「仮想コンソール」と言い、 「Arch Linux」のログイン画面となります。(以前は最初に「(tty1)」と表示されていました)

デフォルトの仮想コンソールでは問題が多かったのですが、「kmscon」に切り替えたことにより解消しています。

-

デフォルトの仮想コンソール:

# tty
/dev/tty1

切り替えた「kmscon」:

# tty
/dev/pts/0

-

1). 問題: スクロールバーがないので表示をさかのぼれません

→「kmscon」に切り替えたことで、Shift+PageUp および、Shift+PageDown、 もしくは、Shift+「↑」および、Shift+「↓」で画面のスクロールができます。

-

2). 問題: 「仮想コンソール」が不安定で、ホストOS まで操作できなくなります

仮想コンソール画面にて勝手に改行が入力されます。頻度が多いときは、ホストOS もキーを付け付けなくなります。

特にcat (less、more 等)を使うと発生しやすいです。 ライブUSB メモリで立ち上げたときも同じで、cat が使えないのでインストール作業に支障が出ます。 ちなみに、インストール作業をスクリプト化してリモートで投入しようとしたら接続時に固まりました。

→「kmscon」に切り替えたことで、解消しました。

-

3). 問題: 仮想コンソールで日本語が文字化け

以前はマルチバイトに未対応で、日本語が豆腐文字になっていました。

→「kmscon」に切り替えたことで、解消しました。

-

4). 「kmscon」での新たな問題: pacman のシステム更新の画面が行ズレを起こします

pacman では、重ね表示を使って動的な表示がされますが、うまく重ならないみたい。CR でなくCR+LF になってしまっているようです。それはpacman で「kmscon」が検証されることがないからで、逆に「kmscon」が完全互換の表示ではないということ。

-

-


--- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - ----- ----

-

7. インストール後の確認

-

1). ホスト名が設定されているかの確認:

ubn-box login:

→プロンプトが「archlinux login:」の場合は、まだホスト名(コンピュータ名)が設定されていません。

-

2). 「ルートのパスワード」と「日本語キーボードの設定」の確認:

ubn-box  login: root
Password:
Last login: Thu Jul   1 00:21:44 on pts/0
[root@ubn-box ~]#

→ユーザはまだ作成していないので、root でログインします。パスワードは設定済みです。

ログインできたら、試しに「@@」を入力してみます。

-

3). 「ロケールの設定」の確認:

# locale

LANG=ja_JP.UTF-8
LC_CTYPE="ja_JP.UTF-8"
LC_NUMERIC="ja_JP.UTF-8"
LC_TIME="ja_JP.UTF-8"
LC_COLLATE="ja_JP.UTF-8"
LC_MONETARY=ja_JP.UTF-8
LC_MESSAGES="ja_JP.UTF-8"
LC_PAPER="ja_JP.UTF-8"
LC_NAME="ja_JP.UTF-8"
LC_ADDRESS="ja_JP.UTF-8"
LC_TELEPHONE="ja_JP.UTF-8"
LC_MEASUREMENT="ja_JP.UTF-8"
LC_IDENTIFICATION="ja_JP.UTF-8"
LC_ALL=

-

4). 「タイムゾーンの設定」の確認:

#date
2021年  7月  3日 土曜日  00:38:22 JST

→「JST」になっています。タイムゾーンの設定はOK。

日本語フォントも表示されています。

-

5). インターネットに接続していることを確認:

# ping -c 4 archlinux.jp

PING archlinux.jp (160.16.119.98) 56(84) bytes of data.
64 バイト応答 送信元 tk2-235-27344.vs.sakura.ne.jp (160.16.119.98): icmp_seq=1 ttl=63 時間=36.4ミリ秒
64 バイト応答 送信元 tk2-235-27344.vs.sakura.ne.jp (160.16.119.98): icmp_seq=2 ttl=63 時間=34.6ミリ秒
:

→ネットワーク障害の調査でよく使われるコマンドです。 4回だけping を送信して相手からの応答を待ち、かかった時間が表示されれば OK。 これができないと、pacman コマンドが使えません。

-

-


--- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - ----- -----

-

8. インストール後の設定

-


1). ミラーリストの設定:

日本のミラーを登録してもエラーが多発してスキップされるので、コメントとしての登録だけにしました。 速度が稼げるだけなので支障はありません。

-

(1). ミラーリスト設定ファイル/etc/pacman.d/mirrorlist を編集。

現在、mirrorlist には日本のサーバが登録されていません。

日本のサーバを手入力で追加します:

# nano /etc/pacman.d/mirrorlist

↓ 下記の2行を先頭に追加:

#Server = https://ftp.jaist.ac.jp/pub/Linux/ArchLinux/$repo/os/$arch
#Server = http://ftp.tsukuba.wide.ad.jp/Linux/archlinux/$repo/os/$arch

→当分はエラーしそうなので、コメント化しました。

-

修正手順:

ミラー一覧の先頭行にカーソルを持っていき、Ctrl+K

その行でCtrl+U を3回、先頭行が2行になります。

上の行を日本のミラーに修正(http: もあるし、大文字小文字にも注意)

Ctrl+O (保存)

Enter

Ctrl+X (終了)

-

(2). multilib リポジトリの有効化:

Arch Linux 64ビット(x86_64)をインストールした場合は、 Multilib リポジトリを有効にして、32ビット(i686)アプリケーションの実行・ビルドができるようにするのがオススメです。

# nano /etc/pacman.conf

↓ 下記の2行のコメントを外します:

[multilib]
Include = /etc/pacman.d/mirrorlist

-

(3). ついでに、カラー化も有効にしました

↓ 下記の行のコメントを外します:

Color

Ctrl+O (保存)

Enter

Ctrl+X (終了)

-

(4). 強制的に pacman の全てのパッケージリストを同期:
# pacman -Syy

-

(5). 更新
# pacman -Syu

→ローリングリリースを保つためには、全体の同期を保つために、 ミラーリストを修正したら、必ずペアで実施。

pacman での更新画面の表示が乱れています。改行がうまく働かず重なりがズレていて、きれいに表示しきれません。 動作に支障はなし。

-

(6). 試しに、英語で更新
# LANG=C pacman -Syu

→原本自体がズレています。日本語化とは関係なし。「kmscon」アプリの問題みたい?

-

2). 日本語フォントのアンチエアリング

「kmscon」の設定の残りの処理です。ただし、こちらの作業をしなくても表示はきれいなので作業しなくても良さそう。

-

(1). フォントのstring 名の確認:
$ fc-list | grep "Mono CJK JP"
/usr/share/fonts/opentype/noto/NotoSansCJK-Bold.ttc: Noto Sans Mono CJK JP:style=Bold
/usr/share/fonts/opentype/noto/NotoSansCJK-Regular.ttc: Noto Sans Mono CJK JP:style=Regular

$ fc-match
NotoSansCJK-Regular.ttc: "Noto Sans CJK JP" "Regular"

-

(2).「kmscon」の設定ファイル「99-kmscon.conf」を作成:

CJK 文字のレンダリングのために、適切な CJK フォントにマップするよう fontconfig を設定。

[root@archiso /]# ls /etc/fonts/conf.d/
[root@archiso /]# nano /etc/fonts/conf.d/99-kmscon.conf

↓ 下記を入力:

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<match>
  <test name="family">
    <string>monospace</string>
  </test>
  <edit name="family" mode="prepend" binding="strong">
    <string>Noto Sans Mono CJK JP</string>
    <string>Noto Sans CJK JP</string>
  </edit>
</match>
</fontconfig>

-

3). ユーザの作成

-

# useradd -m -g users -G wheel -s /bin/bash ubn

# passwd ubn

# reboot

-

再起動されました

カーソルが縦長です。

-

4). sudo のインストール:

-

root でログイン

-

# pacman -S sudo

-

ユーザでsudo を使えるように設定:

/etc/sudoers の直接編集はリスクが高いので、専用のコマンドで編集します。

-

# visudo

→vi が起動されます。(vim では起動されません) 最終行にて、「End」で行末にカーソルを持っていきます。

「a」

改行を2つ入力してから、下記を入力:

ubn ALL=(ALL)   ALL

Defaults   editor=/usr/bin/nano

→sudo をユーザで使えるようにして、編集で使うエディタを「nano」に変更しました。

-

もし、vim にしたいときは:

Defaults   editor=/usr/bin/vim

→矢印キーはコマンドモード以外では使わない方が迷いません。Esc を押してから使います。

間違った行は、Esc 「dd」で削除。

Esc 「:w」  保存

Esc 「:q」  終了

-

再起動:

# reboot

-

再起動されたら、ユーザでログイン

$ sudo ls -a
[sudo] パスワード
.    ..    .bash_history    .bash_logout    .bash_profile    .bashrc

-


5). 個人用のフォルダを生成(デスクトップ、ダウンロード、音楽 …):

-

(1). 「xdg-user-dirs」ツールをインストール:
$ sudo pacman -S xdg-user-dirs

-

(2). ホームフォルダを生成:

-

英語のフォルダ名にしたいとき:
$ cd
$ LANG=C xdg-user-dirs-update
$ ls -a

-

日本語のフォルダ名にしたいとき:
$ cd
$ xdg-user-dirs-update
$ ls -a

-

誤って日本語にしたので、英語名にしたいとき:

→操作注意。ホームフォルダに何もデータを入れていないこと。今までのデータや設定が消えます。 フォルダを消さずに実行すると、英語と日本語のフォルダができます。

$ cd
$ sudo rm -r *
$ LANG=C xdg-user-dirs-update --force
$ ls

-

-


--- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - ----- ----- -

-

9. コンソールでマウスを使う:

参考:

コンソールマウスサポート

GPM (General Purpose Mouse) は Linux の仮想コンソールでのマウスサポートを提供するデーモンです。

-

1). 「gpm」がインストールされているか確認:

$ pacman -Ss gpm
core/gpm 1.20.7.r38.ge82d1a6-3 [インストール済み]
    A mouse server for the console and xterm
multilib/lib32-gpm 1.20.7-2
    A mouse server for the console and xterm (32 bit)

-

2). gpm を使うにはマウスのタイプの設定が必要です

-

「-t」で指定する、マウスのタイプの一覧:

余計な改行が発生しないように、nano で確認するためファイル出力

$ sudo gpm -m /dev/input/mice -t help >mouse-type-help.txt

-

3). systemd のgpm サービスでは、デフォルトで「USB マウス」(imps2) が定義されてました:

余計な改行が発生しないようにnano で確認

$ nano /usr/lib/systemd/system/gpm.service
:
[Service]
Type=forking
ExecStart=/usr/bin/gpm -m /dev/input/mice -t imps2

→デフォルトでUSB マウス(imps2) が定義されており、何もしなくてもマウスが使えました。

-

4). gpm はデーモンなので、起動や停止は「systemctl」を使います

-

(1). gpm の状態確認:
$ systemctl status gpm.service

-

(2). gpm の有効化:
# systemctl enable gpm.service

-

(3). gpm の開始:
# systemctl start gpm.service

-

(4). gpm の停止:
# systemctl stop gpm.service

-

5). マウスを使うときは、仮想コンソールをgetty に切替:

残念ながら、「kmscon」で「gpm」は使えません。 ホストOS でマウスカーソルが消えてしまうことがあったので、元の仮想コンソールに戻して使うようにしています:

# systemctl disable kmsconvt@tty1.service
# systemctl enable getty@tty1.service
# systemctl start getty@tty1.service

-

gpm の開始:
# systemctl start gpm.service

→点滅する「_」マウスカーソル以外に、マウスの動きに合わせて動く縦長の「■」マウスカーソルが現れます。

マウスを使っての貼付けが可能です。マウスの左ボタンを押しながら範囲選択を行い、 右クリック、または中央ボタンでその内容を現在のカーソル位置に貼り付けます。

ウィンドウの位置をモニタ画面の右寄りにしていると、マウスの動きでウィンドウ外にマウスが出て、マウス操作できなくなります。

一度、ウィンドウを左に移動、マウスをウィンドウの右側から、ウィンドウに入れて操作すると、マウスの位置の同期が取れます。

-

6). nano でマウスを使ってみました

→ありがたみは少ないです。

-

(1). マウスの操作をマニュアルで確認
$ man nano
:
-m, --mouse

→和訳:

マウスのサポートを有効にします。 マウスはXWindow System(デスクトップ環境)で動作、または、gpm の実行中はコンソール画面で動作します。

マウスクリックでマウスカーソルを置いて、ダブルクリックでマークを設定し、ショートカットを実行できます。

Shift キーを押しながらドラッグすると、テキストを選択できます。

-

(2). 日本語のままで起動:
$ cd
$ nano -m test.txt

-

「kmscon」ではないので、メニューバー、および編集画面の日本語が豆腐文字になります。

-

(3). 英語で起動:
$ LANG=C nano -m test.txt

-

メニューバーは英語になりました。編集画面の日本語の部分は豆腐文字でなく、Esc シーケンスみたいに表示されるので非常に見にくく、使いづらいです。

-

(4). nano でファイルを編集するなら、マウスは使わず「kmscon」にて日本語で使うのがオススメ

-

-

7). 「kmscon」にて日本語で使う

gpm は、停止しておけば、無効化しなくても良さそう。

-

gpm を停止:
$ sudo systemctl stop gpm.service

-

仮想コンソールをkmscon に切替:
$ sudo systemctl disable getty@tty1.service
$ sudo systemctl enable kmsconvt@tty1.service
$ sudo systemctl start kmsconvt@tty1.service

→「kmscon」がコンソールとして認識されないのが問題みたい。

-

8). 参考: サービスに定義されている内容:

-

(1). getty サービス:
$ nano /usr/lib/systemd/system/getty@.service
:
[Service]
ExecStart=-/sbin/agetty -o '-p -- \\u' --noclear %I $TERM
Type=idle
:

→Ctrl+X で表示を終了

-

(2). kmsconvt サービス:
$ nano /usr/lib/systemd/system/kmsconvt@.service
:
[Service]
ExecStart=/use/bin/kmscon "--vt=%I" --seats=seat0 --no-switchvt
:

→Ctrl+X で表示を終了

-

-


--- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - ----- ----- --

-

10. AUR ヘルパー「paru」のインストール

-

AUR(Arch User Repository)リポジトリの管理を行える「AURヘルパー」アプリの中のひとつです。 「paru」は「yay」のフォークで、Go 言語からRust 言語に書き直されました。 pacman に近い操作につき、すぐに移行できます。

すでにyay を入れていたらparu をインストール。システム更新後にyay を削除すれば移行できます。

-

参考: Rust 言語

プログラミング言語Rustのススメ

【入門】Rustとは?言語の3つの特徴やインストール方法について解説

抜粋:

C やC++ の代わりとなる言語です。

既存の多くの言語が抱える「null」、「メモリ管理」、「データ競合」の3つの問題が発生し得ない構文でコンパルが通らないので、バグが少ないプログラミングができます。それらの問題を抱えていた開発者には人気があります。習得は難しいですが、将来性があります。Firefox の開発にも使われているようです。

-

1). git のインストール:

$ sudo pacman -S git

-

2). paru のクローン:

$ cd
$ mkdir Git
$ cd ~/Git/

$ git clone https://aur.archlinux.org/paru.git
$ cd paru
$ ls -a
.    ..    .SRCINFO    .git    PKGBUILD

-

3). ビルド、インストール:

$ makepkg -si

-

4). インストールできたことの確認:

$ which paru
/usr/bin/paru

$ paru --version
paru v1.7.3 - libalpm v13.0.0

-

5). paru でシステム更新:

$ paru

-

→上側のpacman からの表示は、CR がCR+LF になっているのか、重なり方がズレてしまい表示が乱れています。(kmscon での「pacman」の表示の問題)

下側の paru からの表示では、国際化はまだで、日本語に翻訳されていません。

-

確認:

$ paru -Ss paru

-

-


--- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - ----- ----- ---

-

11. Xorg のインストールと設定

-

参考:

Installation of graphical environment and video driver in Arch Linux

  • Xorg の設定が済めば、任意のデスクトップ環境をインストールできます。

-


1). Xorg のインストール

-

$ sudo pacman -S xorg-server xorg-xinit

-

▷ yay -Ss xorg | grep インストール済み
community/xf86-video-qxl-debian 0.1.5+git20200331-1 (167.9 KiB 432.7 KiB) [xorg-drivers] (インストール済み)
extra/xorgproto 2021.3-1 (241.7 KiB 1.4 MiB) (インストール済み)
extra/xorg-xwininfo 1.1.5-2 (23.8 KiB 52.2 KiB) [xorg-apps xorg] (インストール済み)
extra/xorg-xset 1.2.4-2 (19.4 KiB 39.8 KiB) [xorg-apps xorg] (インストール済み)
extra/xorg-xrdb 1.2.0-2 (19.9 KiB 40.6 KiB) [xorg-apps xorg] (インストール済み)
extra/xorg-xrandr 1.5.1-2 (36.8 KiB 69.4 KiB) [xorg-apps xorg] (インストール済み)
extra/xorg-xprop 1.2.5-1 (26.3 KiB 55.9 KiB) [xorg-apps xorg] (インストール済み)
extra/xorg-xmodmap 1.0.10-2 (22.5 KiB 49.1 KiB) [xorg-apps xorg] (インストール済み)
extra/xorg-xkill 1.0.5-2 (9.5 KiB 16.6 KiB) [xorg-apps xorg] (インストール済み)
extra/xorg-xkbcomp 1.4.5-1 (91.5 KiB 221.9 KiB) [xorg-apps xorg] (インストール済み)
extra/xorg-xinput 1.6.3-2 (28.1 KiB 63.8 KiB) [xorg-apps xorg] (インストール済み)
extra/xorg-xinit 1.4.1-3 (17.3 KiB 35.4 KiB) (インストール済み)
extra/xorg-xhost 1.0.8-2 (11.7 KiB 23.6 KiB) [xorg-apps xorg] (インストール済み)
extra/xorg-xdpyinfo 1.3.2-4 (16.0 KiB 33.0 KiB) [xorg-apps xorg] (インストール済み)
extra/xorg-xbacklight 1.2.3-2 (8.9 KiB 16.1 KiB) [xorg-apps xorg] (インストール済み)
extra/xorg-xauth 1.1-2 (25.5 KiB 55.9 KiB) [xorg-apps xorg] (インストール済み)
extra/xorg-setxkbmap 1.3.2-2 (13.9 KiB 29.1 KiB) [xorg-apps xorg] (インストール済み)
extra/xorg-server-xephyr 1.20.11-1 (914.4 KiB 2.2 MiB) [xorg] (インストール済み)
extra/xorg-server-common 1.20.11-1 (28.0 KiB 127.2 KiB) [xorg] (インストール済み)
extra/xorg-server 1.20.11-1 (1.4 MiB 3.7 MiB) [xorg] (インストール済み)
extra/xorg-mkfontscale 1.2.1-2 (24.3 KiB 51.6 KiB) [xorg-apps xorg] (インストール済み)
extra/xorg-fonts-type1 7.7-6 (1.3 MiB 2.7 MiB) (インストール済み)
extra/xorg-fonts-encodings 1.0.5-2 (567.0 KiB 625.4 KiB) [xorg-fonts xorg] (インストール済み)
extra/xorg-fonts-alias-75dpi 1.0.4-1 (2.9 KiB 3.4 KiB) (インストール済み)
extra/xorg-fonts-alias-100dpi 1.0.4-1 (2.9 KiB 3.5 KiB) (インストール済み)
extra/xorg-fonts-75dpi 1.0.3-7 (10.3 MiB 10.6 MiB) [xorg] (インストール済み)
extra/xorg-fonts-100dpi 1.0.3-7 (11.9 MiB 12.2 MiB) [xorg] (インストール済み)
extra/xf86-video-voodoo 1.2.5-11 (14.8 KiB 30.6 KiB) [xorg-drivers] (インストール済み)
extra/xf86-video-vmware 13.3.0-2 (78.9 KiB 192.9 KiB) [xorg-drivers] (インストール済み)
extra/xf86-video-vesa 2.5.0-1 (15.8 KiB 33.2 KiB) [xorg-drivers xorg] (インストール済み)
extra/xf86-video-openchrome 0.6.0-4 (141.0 KiB 482.6 KiB) [xorg-drivers] (インストール済み)
extra/xf86-video-nouveau 1.0.17-1 (92.5 KiB 222.8 KiB) [xorg-drivers] (インストール済み)
extra/xf86-video-intel 1:2.99.917+916+g31486f40-1 (721.2 KiB 2.2 MiB) [xorg-drivers] (インストール済み)
extra/xf86-video-fbdev 0.5.0-2 (13.3 KiB 29.3 KiB) [xorg-drivers] (インストール済み)
extra/xf86-video-dummy 0.3.8-4 (9.2 KiB 22.8 KiB) [xorg-drivers] (インストール済み)
extra/xf86-video-ati 1:19.1.0-2 (162.5 KiB 516.1 KiB) [xorg-drivers] (インストール済み)
extra/xf86-video-amdgpu 19.1.0-2 (71.3 KiB 165.7 KiB) [xorg-drivers] (インストール済み)
extra/xf86-input-void 1.4.1-5 (7.1 KiB 17.7 KiB) [xorg-drivers] (インストール済み)
extra/xf86-input-vmmouse 13.1.0-5 (14.2 KiB 40.5 KiB) [xorg-drivers] (インストール済み)
extra/xf86-input-synaptics 1.9.1-2 (57.6 KiB 137.5 KiB) [xorg-drivers] (インストール済み)
extra/xf86-input-libinput 1.0.1-1 (37.4 KiB 90.8 KiB) [xorg-drivers] (インストール済み)
extra/xf86-input-evdev 2.10.6-2 (34.4 KiB 75.1 KiB) [xorg-drivers] (インストール済み)

-


2). ビデオドライバをインストール

-

使うべきビデオドライバがわからない場合は、vesa が無難:
$ sudo pacman -S xf86-video-vesa

→このドライバーでは、3D サポートやハードウェアアクセラレーションは提供されていません。

-

オープンソースのビデオドライバーの一覧から探せます:
$ sudo pacman -Ss xf86-video

→一覧から、ビデオカードに適したドライバを見つけてください。

-

Intel の場合:
$ sudo pacman -S xf86-video-intel
:

→注意書きが表示されました。

-


3). グラフィカル環境のテスト

-

(1). X11のデフォルト環境をインストール:
$ sudo pacman -S xorg-twm xorg-xclock xterm

-

再起動

$ sudo reboot

-

(2). X11 環境を実行:

-

ユーザでログイン:
$ startx

エラー発生:

/Xorg.wrap: Only console users are allowed to run the X server

→/Xorg.wrap:コンソールユーザーのみがXサーバーを実行できます

-

ユーザでログインして、Xサーバーを実行できるようにする場合:

設定ファイルを変更してもよいですが、今回はやりません:

sudo nano /etc/X11/Xwrapper.config

↓ 下記の行を修正:

allowed_users = console

-

Xサーバーを起動できるユーザーを指定できます:

rootonly : root のみを許可
console : ユーザでログインしたら、物理コンソールのみを許可(デフォルト)
anybody : 誰でも許可

-

もしくは、管理者権限で実行します:

$ sudo startx

→起動できました。

-

root でログイン:
# startx

→うまく行けば、グラフィカル環境(twm)が表示されます:

-

デスクトップ環境(twm)から抜けるには:
# pkill X

-


4). X11 環境のテストがうまく行ったら、インストールするデスクトップ環境を選びます:

-

参考:

-

-

-

次回の「デスクトップ環境のインストール」に続く

-

-


まとめ

ASUS Chromebox CN60 ではインテル プロセッサの「Haswell」が使われています。 古いことで、Linux カーネルで内臓のディスプレイドライバーがサポートされていません。

自分のPC ではカーネルが「5.8」だとアプリで問題が出ることがありました。「Manjaro 20.2.1」では「OS のインストーラ」が使えなくなりました。「今すぐインストール」をクリックしても、インストール中になりません。

-

対策として、ベースとなった「Arch Linux」にトライしました。 VirtualBox に「Arch Linux」をインストール。VirtualBox なので、ホストOS で検索しながら試行錯誤できました。

仮想コンソールが不安定なので、「kmscon」を使いました。 完全な代替えにならないのが惜しいところです。

-

-


-

-

-

    目次

-

「投稿の先頭 へ」

-

-


-

「この目次 の先頭へ」

「本編の目次 に戻る」

-