Gentoo実マシン引退へ

Gentoo AMD64の実マシンは,現在,サブWorkstation (Intel Core i7搭載の古いデスクトップ機.以下 “サブWS” )のサブOSの位置づけです.しかし,サブWSのサブOSとしてup-to-dateに保っていくには荷が重いOSです.

そこで,実マシンとしての運用はあきらめて,仮想化してサブWSのメインOS (Manjaro AMD64)で飼うことにします.

サブWSのサブOSにはお手軽簡単で守備範囲の広いDebianを仮想マシンから実マシンに復帰させます.

サブWSのSSDは現在512GBで,それをメインとサブのOSで半分ずつ使っているので,仮想ディスクの変換などをするにはかなり手狭です.

一方,サブサブWSとなった,というか,未だWSとして使えるかの実証実験レベルのステージにあるManjaro ARM64をインストールしたRaspberry Pi 4 Model B (RPi4)には,なりゆき上ですが,1TBのSSDが繋がっていて,持て余しています.

そこで,今回,サブWSの512GBとサブサブWSの1TBのSSDを入れ替えることもします.

手順としては,

  1. サブWSのサブOSであるGentoo AMD64を仮想ディスクにクローニングする(昨夜に済み)
  2. Manjaro ARM64 (RPi4)のSSD(1TB)の中身を空いているHDDにコピーする
  3. サブWSの512GB SSDの中身を1TB SSDにコピー(メイン・サブOS用にそれぞれ約500GBパーティションを切る)
  4. HDDに待避したManjaro ARM64の内容を512GB SSDにコピーして,起動を確認
  5. 1TB SSDをなんやかんやしてManjaro AMD64(メインOS)で起動するようにする
  6. サブOSとして,仮想ディスクイメージのDebianをクローニングして,起動できるようにする
  7. 仮想化したGentoo AMD64が起動するようにする

なかなか難工事になりそうですが,頭の体操になると思います.

追記

念の為,1TB SSDからHDDにコピーしたら,そのHDDからManjaro ARM64が起動できることを確認します.手順を以下のように変更します.

  1. サブWSのサブOSであるGentoo AMD64を仮想ディスクにクローニングする(昨夜に済み)
  2. Manjaro ARM64 (RPi4)のSSD(1TB)の中身を空いているHDDにコピーする
  3. コピーしたHDDから,Manjaro ARM64の起動を確認する(RPi4)
  4. サブWSの512GB SSDの中身を1TB SSDにコピー(メイン・サブOS用にそれぞれ約500GBパーティションを切る)
  5. HDDに待避したManjaro ARM64の内容を512GB SSDにコピーして,起動を確認
  6. 1TB SSDをなんやかんやしてManjaro AMD64(メインOS)で起動するようにする
  7. サブOSとして,仮想ディスクイメージのDebianをクローニングして,起動できるようにする
  8. 仮想化したGentoo AMD64が起動するようにする
忍耐の必要なステージ.他のことをして夢中になると,肝心なことを忘れて手順を間違える危険が大きい(当社実績による)ので,コピーの様子をぼーっと眺めているしかない.

QEMUのコマンドラインに挑戦

下記サイトなどを参考に,こんな感じで,macOSや,Manjaro AMD64で,Raspberry Pi OSのイメージを起動して,updateまでできたのですが,そのあとでブートするとネットが繋がらなくなって,悩んでいるところです.

qemu-system-aarch64  -kernel boot/kernel8.img  \
    -dtb boot/bcm2710-rpi-3-b.dtb  \
    -M raspi3 -m 1024  -serial stdio  \
    -append "rw earlycon=pl011,0x3f201000 console=ttyAMA0 loglevel=8 root=/dev/mmcblk0p2 fsck.repair=yes net.ifnames=0 rootwait memtest=1" \
    -drive file=2021-01-11-raspios-buster-armhf-full.img,format=raw,if=sd  \
    -device usb-kbd  -device usb-mouse \
    -device usb-net,netdev=net0  \
    -netdev user,id=net0,hostfwd=tcp::5555-:22 \
    -no-reboot 

下準備としては,MacでもLinuxマシンでも適当なところに,フォルダーを作り,そこに,Raspberry Piのサイトからインストール用のイメージをダウンロードして,unzipします.微妙にSDイメージのサイズが2のn乗にならないので,qemu-imgでリサイズしました.そして,そのSDイメージのvfat部分をLinuxマシンにマウントして,SDイメージを展開したフォルダー内に “boot” というサブフォルダーを作ってコピーしました.

そこで,上記のqemu-system-aarch64 … を実行しました.

そうそう,libvirtやVirt-Managerとは違って,全部一般ユーザーの権限で作業できます.

Manjaro ARM64では,上記に “-accel kvm” を追加するのでいいと思うのですが,起動すらしてくれません.さらに深く悩み中です.

参考にしたサイト

サブ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はけっこうめんどくさそうです😓).

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のインストーラーも動きますが,インストールするには宇宙的な時間がかかりそうなのでやめておきました.

→ 画像の拡大表示