Manjaro: hibernationに関するエラー

サブWS (Workstation)のメインOSである,Manjaro x86_64の起動時(たぶんgrubがkernelをロードした時)に,ハイバーネーション用のUUIDなんたらのディバイスが見つからないというエラーメッセージが出ます.

たしかに,ログインの後blkidで表示しても,その指し示されたUUIDのディバイスはありません.

別にそれで不具合が生じているわけでなく,ブートに要する時間が遅くなっている感じもありません.

このManjaroは,現在は実マシンで動いていますが,もともと実マシンにインストールしたのではなく,仮想マシンを構築して,少々評価した後に,実マシンにクローニングしたもので,そのあたりがこのエラーの根源かと思います.

仮想マシンとして構築するときは, ほとんどの設定はお仕着せのままで,多分知らずにハイバネーション用のパーティションが仮想ディスクに切られたのだと思います.しかし,実マシンに移行する際,実際のディスク(SSD)のパーティションの切り直しは避けたので,ハイバネーション用のパーティションをManjaro用に作らなかったのです.

ざっと検索して,

superuser: How do I fix Manjaro error hibernation device not found on boot?

この記事を参考に,/etc/default/grubから,エラーの対象になるUUID以下を削除して,mkinitcpioと,grub-mkconfigを実行しましたが,今度は,そもそもハイバーネーションのディバイスがないというエラーに変わっただけで,エラーは出ています.

あ,こちらが正解ですね.mkinitcpioの設定をいじらないといけないようです.

以上まとめますと,

  1. /etc/mkinitcpio.conf のHOOKから,resumeを削除する
  2. ls /etc/mkinitcpio.d から,最新のLinuxバージョンを調べる(ここでは linux59.presetだったとする)
  3. root権限で, mkinitcpio -p linux59 を実行
  4. 要るのか要らないのかわからないけど, grub-mkconfig -o /etc/grub/grub.cfg もやっとく😥

つい最近,Gentooに代わってメインOSに昇格しました😓

サブWSもManjaroに

結局,LinuxのリアルマシンであるWorkstation (WS),あるいは,AMD64 (x86_64) WSとして2番めの使用頻度のマシンのdual boot設定のうちの第一のOSをManjaro x86_64にしました.

理由は,各種ソフト(OS,システム関係,アプリ)が最新に近いこと,ハードの能力をかなり引き出していると感じていること,QEMU/KVMをかなり守備範囲広くインストールできること,システムのインストールや,その後のupdateや追加が楽であることなどです.

簡単で,最新で,速い,といったところでしょうか

しかし,残念ながら,x86_64下でのRaspberry Piのエミュレーションはまだうまくいっていません.

ここまでは.Arch Linuxのおかげ.
Manjaroの一番の売り.
Distroの提供するパッケージとして.
個人の感想です.

QEMU/KVMその後2

Raspberry Pi 4 Model BのQEMUは,AMD64 (x86_64)のDebianを動かすことができます.ただし,遅すぎで全く実用になりませんが.

Raspberry Pi 4 Model Bで動いているManjaro aarch64版で動いているQEMU/Virt-Managerで起動中のAMD64版のDebian(拡大イメージ).

本当は,その逆(AMD64のマシンで,Raspberry Piのエミュレーション)をしたいのですが,今AMD64のマシンにインストールしてある実マシンは,SlackwareとGentooで,いずれもQEMU/KVMとlibvirt, Virt-Managerはインストールしてありますが,いろいろ制約があって,手詰まりになり,さらに燃え尽きてしまった次第です.

一番簡単なのは,Manjaro x86_64版を実マシンにインストールすることかなと考えています(Arch Linuxはけっこうめんどくさそうです😓).

QEMU/KVMその後

Distroによったり,MacPortsやHomeBrewそれぞれで,QEMUやlibvirtのconfigureの仕方が違って,できることにかなりの差があります.

出来上がりとして,一番守備範囲が広いのは,Manjaro (aarch64)です.しかし,安定版じゃないみたいで,仮想マシンを作ってちゃんと動くのは,i386とx86_64だけで,Raspberry Pi 3をエミュレートする設定はできるんですが,動いてくれません.

Manjaro AMD64版(または,Arch Linux AMD64版)なら,いろいろできて安定と思われますが,第2 workstationにインストールするためには,既にインストールしてあるDebianかGentooを消すか引っ越すかして空きを作らないといけません.

一番安定して動いてくれるGentooでは,今のところx86_64の仮想マシンしか作れません.これは,なんかフラグかなんかで他のエミュレーターを増やせると思うので,調べてみます.

macOSの取り組みでは,MacPortではvirtqemudとvirtnetworkdができないので,仮想マシンが動きません(当社調べ).そこで,HomeBrewに乗り換え,virtqemud他,libvirtのmodularデーモンがひととおりできましたが,Virt-managerでマシンを作ることができませんでした.

で,このへんで燃え尽きてしまいました😥 現在手持ちのハードウェアで一番ハイスペックなMac miniでQEMUを動かしたかったのですが諦めます.

AMD64のGentooで,Raspberry Piのエミュレーションができないかくらいに縮小して取り組んでみます.

要UEFI firmware

なんだかわかりませんが,Manjaro (Arch Linux) で,Raspbery Pi OSのSDカードのイメージから起動するためには,UEFIのfirmwareが必要で,そのためには,OVMFとかが必要なようです.しかし,aarch64版はないようです😥

したがって,Raspberry Pi 4 model BのManjaroで動かす仮想マシンは,x86 PCのBIOS形式のブートしか使えない,ということのようです.

AMD64 Gentooでも,この情報をもとに,edk2-ovmfをインストールしてみましたが,RPi3の仮想マシンを設定しようとしても,UEFIは見つからないというエラーが出ます.

ただし,ものすごく遅い😥
設定不可能😓

Manjaro (5) 中間報告

もう試さないと言いながら,AMD64 (x86_64)の仮想マシンをもう一度仕立ててみようとしました.あまり行きつ戻りつしないように気をつけたのですが,Mozcのインストールはできて動きましたが(fcitx5-mozc),キー配列がうまく合わず,かな入力で一部の文字が入らず,使い物になりませんでした.

なにかの設定を間違えているとは思うのですが,これ以上は 追求しないことにします.

しかし,ManjaroというかArch Linuxはすごいですね.Gentoo PRi4のWikiの「何でもできる」を信じて着手したものの実はなんにもできず困り果てたのとは違い,Manjaroでは,AMD64 でできることはARM64 (aarch64)でもたいていできます(当社調べ).Mozcはもとより,Firefox, Thunderbirdもちゃんとフルスペックのものが動くし,なんたって,KVM/QEMU, libvirt, Virt-Mangerも動きます.しかも,AMD64のエミュレーションもできます.ちゃんと,Freedosを起動できました.

もちろん,Raspberry Pi 4 Model B (RPi4)には,Raspberry Pi OSがありますが,Plasma (KDE)を使いたい人には,Manjaro ARM64 は,一度試す価値があるんじゃないでしょうか.

Manjaro AMD64のインストーラーも動きますが,インストールするには宇宙的な時間がかかりそうなのでやめておきました.

→ 画像の拡大表示