Qemu を使用して Windows 上で Arm プラットフォームをシミュレートし、ローカライズされたオペレーティング システムをインストールします。

Qemu を使用して Windows 上で arm プラットフォームをシミュレートし、ローカライズされた arm オペレーティング システム (Kylin V10) をインストールします。

2022年11月17日

背景紹介

私たちが普段使用している PC は x86 アーキテクチャの Intel CPU が一般的ですが、何らかの理由で Arm ベースのオペレーティング システムを使用する必要がある場合、一部の仮想マシン ソフトウェア (vmware workstation、virtual box など) をインストールすることができません。このタイプの仮想マシン ソフトウェアは、ホストの CPU と同じアーキテクチャを持つシステムにのみインストールできるためです。ただし、qemu ソフトウェアを使用することはできます。これは、arm ベースの仮想マシンをシミュレートできるシミュレーターとして理解できます。Qemu は仮想マシン ソフトウェアと呼ばれることもあります。

この記事では、Windows システムに arm アーキテクチャの kylinV10 システムをインストールするための qemu のインストール方法と使用方法を簡単に紹介します (他の同様のオペレーティング システムも参照できます。インストールに使用される ISO イメージのみが異なります)。arm アーキテクチャは、 x86 アーキテクチャの Windows 上で実行できる仮想マシン。これにより、他の CPU アーキテクチャのオペレーティング システムを Windows 上で開発、コンパイル、問題の検証、その他の操作に使用できます。必要な方のみご参考までに。

ケムとは

QEMU は、オープンソースのエミュレーターおよび仮想マシン モニター (仮想マシン モニター、VMM) です。QEMU は主にユーザーが使用できる 2 つの機能を提供します。1 つは、ホスト アーキテクチャとは異なるコードを実行するユーザー状態シミュレーターとして動的コード変換メカニズムを使用することです2 つ目は、仮想マシン スーパーバイザとして機能し、システム全体をシミュレートし、他の VMM (Xen、KVM など) を使用してハードウェアによって提供される仮想化サポートを使用し、ホストのパフォーマンスに近い仮想マシンを作成することです。

ドキュメンテーション

このインストール後、仮想マシンはタップ モードを使用してインターネットにアクセスするため、起動コマンドとインターネット構成は両方ともタップ モードになります。他のモードを使用する場合、インストールと起動コマンドは若干異なる場合があります。

ホストシステム:windows10、windwos11(本書のホストはwindows11システムを使用しています)

Qemu ソフトウェア: qemu-w64-setup-20220831.exe

Kylin V10 オペレーティング システムのインストール パッケージ: Kylin-Server-10-SP2-aarch64-Release-Build09-20210524.iso (インストール パッケージはメーカーから提供される必要があり、必要な場合はオンラインで見つけることもできます)

Kylin ブート ファイル (EFI ファイル) : qemu-kylin EFI ファイル

仮想ネットワーク カード ソフトウェア: openvpn-connect-3.3.6.2752_signed.msi

主な手順

  1. Qemu ソフトウェアをインストールします。
  2. 仮想ネットワークカードをインストールする
  3. qemu-img コマンドを使用して、qemu 仮想マシンを作成します。
  4. qemu-system-aarch64 コマンドを使用して kylin システムをインストールします
  5. qemu-system-aarch64 コマンドを使用して kylin システムを起動します
  6. Kylin システムのネットワーク構成

qemu ソフトウェアをインストールする

qemuをインストールする

qemu インストール パッケージをダウンロードしたら、ダブルクリックして実行しますが、他のソフトウェアのインストールと同じなので、ここでは繰り返しません。インストール プロセス中にインストール パスを覚えておいてください。これは、後で環境変数を構成するときに使用されます。

環境変数を構成する

[マイ コンピュータ] を右クリックし、[プロパティ] を見つけます。
ここに画像の説明を挿入
次の図に示すように、[設定] インターフェイスが表示されます。
ここに画像の説明を挿入
[システムの詳細設定] をクリックすると、図に示すようにシステム プロパティ インターフェイスが表示されます。下図:
ここに画像の説明を挿入
[環境変数] ボタンをクリックすると、下図に示す環境変数編集インターフェイスが表示されます。cmd を開き
ここに画像の説明を挿入
、qemu-system-aarch64 -version を実行すると、以下に示すようにバージョン情報が表示されます。

qemu-system-aarch64 -version
QEMU emulator version 7.1.0 (v7.1.0-11925-g4ec481870e-dirty)
Copyright (c) 2003-2022 Fabrice Bellard and the QEMU Project developers

仮想ネットワークカードをインストールする

openvpnをインストールする

ダウンロードした openvpn-connect-3.3.6.2752_signed.msi ソフトウェアをダブルクリックします。他のソフトウェアをインストールするのと同じように、段階的にインストールできます。

注: このソフトウェアをインストールする必要はありません。仮想ネットワーク カードを作成できる限り、他の vpn ソフトウェアもインストールできます。

ネットワークカード名の変更

インストールが完了すると、次の図に示すように、新しいネットワーク カードがネットワーク接続インターフェイスに追加されたことがわかります。 注:
ここに画像の説明を挿入
大きな赤いボックス内のネットワーク カードは新しく追加され、黄色のボックス内の名前はbox is moded by me. It might not be the name after openven. 以下にネットワークカードの名前を変更する操作を説明します。小さな赤いボックス内のネットワーク カードの種類が「TAP-Windows アダプター」であるかどうかに注目してください。この種類のネットワーク カードが見つかった場合、それは新しく追加されたネットワーク カードです。また、接続状態も未接続状態ですが、仮想マシンを起動すると通常の状態に変わりますので注意してください。赤いボックスの下の「イーサネット」は、私のコンピュータの実際の物理ネットワーク カードです。

新しく追加したネットワーク カードを右クリックし、次の図に示すように、ネットワーク カードの名前を変更します:
ここに画像の説明を挿入
注: ここでは、tap0 に変更しましたが、他の名前も使用できます。tapXX に変更することをお勧めします。中国名を使わないこと。

物理NICを共有するネットワーク

次の図に示すように、ローカル物理 NIC を右クリックします。
ここに画像の説明を挿入

[プロパティ] ボタンをクリックし、次の図に示すように、ポップアップ インターフェイスで [共有] オプションを選択します。 [
ここに画像の説明を挿入
このコンピュータのインターネット接続を介した他のネットワークの接続を許可する] チェック ボックスをオンにし、新しく追加された「ホーム ネットワーク接続」の項目 ネットワーク カード (および名前変更後の名前) で、「他のネットワーク ユーザーに共有インターネット接続の制御または無効化を許可する」を選択し、確認します。

qemu仮想マシンを作成する

次のように、cmd インターフェイスを開き、仮想マシンのディレクトリを作成し、qemu-img.exe コマンドを使用して仮想マシンを作成します。

C:\Users\>mkdir D:\virtual-machines\qemu\kylinV10
C:\Users\>D:
D:\>cd D:\virtual-machines\qemu\kylinV10
D:\virtual-machines\qemu\kylinV10>qemu-img.exe create -f qcow2 kylindisk.qcow2 120G
Formatting 'kylindisk.qcow2', fmt=qcow2 cluster_size=65536 extended_l2=off compression_type=zlib size=128849018880 lazy_refcounts=off refcount_bits=16

: 画像サイズは必要に応じて変更できます。

指定したディレクトリに kylindisk.qcow2 ファイルが存在します。

 D:\virtual-machines\qemu\kylinV10 的目录

2022/11/16  15:45    <DIR>          .
2022/11/16  15:31    <DIR>          ..
2022/11/16  15:43           198,656 kylindisk.qcow2
2022/11/10  13:07         2,097,152 QEMU_Kylin_EFI.fd
               2 个文件      2,295,808 字节
               2 个目录 318,376,022,016 可用字节

キリンシステムをインストールする

以前にダウンロードした EFI ファイルを、作成したミラー ディレクトリにコピーします (コピーはできません。-bios オプションを使用して指定します。コピーは、後でファイルを見つけやすく、ファイルが誤って削除されるのを防ぐためのものです)。

cmd インターフェイスで、qemu-system-aarch64.exe コマンドを使用して、Kylin オペレーティング システムをインストールします。

D:\virtual-machines\qemu\kylinV10>qemu-system-aarch64.exe -m 8192 
-cpu cortex-a72 -smp 8,sockets=4,cores=2 -M virt 
-bios D:\virtual-machines\qemu\kylinV10\QEMU_Kylin_EFI.fd 
-device VGA -device nec-usb-xhci -device usb-mouse -device usb-kbd 
-drive if=none,file=D:\virtual-machines\qemu\kylinV10\kylindisk.qcow2,id=hd0 
-device virtio-blk-device,drive=hd0 
-drive if=none,file=D:\softwares\Kylin-Server-10-SP2-aarch64-Release-Build09-20210524.iso,id=cdrom,media=cdrom 
-device virtio-scsi-device -device scsi-cd,drive=cdrom 
-net nic -net tap,ifname=tap0

注: 注: コマンドを実行するときは改行を削除してください。-net Tap, ifname=tap0 で、tap0 を前の手順で自分で変更したネットワーク カードの名前に変更してください。-bios パラメータを独自のパスに置き換えてください。-drive if-none,file=xxx ご自身で作成したミラーパスに置き換えてください。-drive if=none,file=xxx/Kylin-Server-10-SP2-aarch64-Release-Build09-20210524.iso 独自のミラー パスに置き換えてください。

主なパラメータは次のとおりです。

-m 虚拟机内存的大小,单位是MB
-cpu cpu类型,可以使用qemu-system-aarch64 -M help命令查看支持的类型。
-bios 引导文件的路径

このとき、次の図に示すように、グラフィカル インターフェイスが起動します。
ここに画像の説明を挿入
選択後、次の図に示すように、オペレーティング システムのインストール インターフェイスに入ります。
ここに画像の説明を挿入
他の Linux システムのインストールと同様に、段階的に構成できます。ニーズに応じてステップを進めます。機能が多すぎるとインストールに時間がかかる可能性があるため、必要なコンポーネントのみを選択して、できるだけ小さくインストールすることをお勧めします。

キリンシステムを起動します

cmd インターフェイスで、qemu-system-aarch64.exe コマンドを使用して Kirin オペレーティング システムを起動します。

D:\virtual-machines\qemu\kylinV10>qemu-system-aarch64.exe -m 8192 
-cpu cortex-a72 -smp 8,sockets=4,cores=2 -M virt 
-bios D:\virtual-machines\qemu\kylinV10\QEMU_Kylin_EFI.fd 
-device VGA -device nec-usb-xhci -device usb-mouse -device usb-kbd 
-drive if=none,file=D:\virtual-machines\qemu\kylinV10\kylindisk.qcow2,id=hd0 
-device virtio-blk-device,drive=hd0 
-device virtio-scsi-device -net nic -net tap,ifname=tap0

注: コマンドを実行するときは、改行文字を削除してください。-net Tap, ifname=tap0 で、tap0 を前の手順で自分で変更したネットワーク カードの名前に変更してください。-bios パラメータを独自のパスに置き換えてください。-drive if-none,file=xxx ご自身で作成したミラーパスに置き換えてください。

今後開始する際に便利なように、このコマンドをバット ファイルとして保存し、ダブルクリックして実行できます。

kylin システムでネットワークを構成する

以下の図に示すように、ホスト マシンで新しく追加された Tap0 ネットワーク カードの IP アドレスを確認し、ネットワーク カードを右クリックして、[ステータス] > [詳細] を選択します。 Tap0 ネットワークの IP アドレスが表示されます。ホスト マシンが
ここに画像の説明を挿入
ネットワークを共有した後、アドレスは 192.168.137.1 に変更されます。これは、仮想マシン システムのネットワークのゲートウェイ アドレスであり、マスクは仮想マシン システムのネットワークのサブネット マスクです。kylinV10 仮想マシンに入った後、コマンド ラインまたはグラフィカル インターフェイスを介してネットワーク アドレスを構成できます。この実験では、kylinV10 仮想マシンの IP アドレスを 192.168.137.101、マスクを 255.255.255.0、およびゲートウェイを 192.68.137.1 に設定します。DNS は 114.114.114.114 です。独自の環境は、ニーズに応じて変更できます。

SSH接続をセットアップする

kylinV10でsshdサービスを開く

kylinV10 システムをインストールすると、SSH 接続がデフォルトで有効になります。有効になっていない場合は、まず ssh がインストールされているかどうかを確認します。

yum list installed | grep openssh
[root@localhost ~]# yum list installed | grep openssh
openssh.aarch64                             8.2p1-9.p03.ky10                @anaconda        
openssh-clients.aarch64                     8.2p1-9.p03.ky10                @anaconda        
openssh-server.aarch64                      8.2p1-9.p03.ky10                @anaconda

上記の表示があれば、openssh がインストールされていることを意味します。そうでない場合は、次のコマンドを実行して openssh をインストールします。

yum install openssh

systemctl status sshd コマンドを実行して、sshd サービスが有効になっているかどうかを確認します。

[root@localhost ~]# systemctl status sshd
● sshd.service - OpenSSH server daemon
   Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; vendor preset: enabled)
   Active: active (running) since Wed 2022-11-16 18:55:19 CST; 16h ago
     Docs: man:sshd(8)
           man:sshd_config(5)
 Main PID: 1303 (sshd)
    Tasks: 1
   Memory: 24.2M
   CGroup: /system.slice/sshd.service
           └─1303 sshd: /usr/sbin/sshd -D [listener] 0 of 10-100 startups

上記の表示が表示されれば、sshdサービスが有効になっています。有効になっていない場合は、次のコマンドを使用して ssh サービスを有効にします。

systemctl start sshd

systemctl is-enabled sshd を使用して、sshd が起動するように設定されているかどうかを確認します

[root@localhost ~]# systemctl is-enabled sshd
enabled

「無効」が表示されている場合は、次のコマンドを使用して起動時に ssh が開始されるように設定します。

systemctl enable sshd

Windowsでssh経由でkylinV10に接続します

現在の Windows システムで ssh 経由で kylinV10 に接続したいだけの場合は、ssh user@ip のみが必要です。IPアドレスはkylinv10で設定したIPアドレスです。この環境では 192.168.137.101 を使用しており、ssh [email protected] で直接接続できます。

他のマシン上で SSH 経由で kylinV10 にアクセスしたい場合は、現在の Windows システムでポート マッピングを設定する必要があります。具体的な方法はインターネットで検索することができます。

グラフィカルデスクトップを無効にする

インストール時にグラフィカル インターフェイスを選択しなかった場合は、この手順を無視してかまいません。

systemctl isolate graphical.target 切换为图形模式

systemctl isolate multi-user.target 切换为命令行模式

systemctl set-default graphical.target  设置图形界面为默认模式

systemctl set-default multi-user.target 设置命令行模式为默认模式

systemctl set-default multi-user.target を実行してシステムを再起動するだけです。

よくある問題

qemu 仮想マシンを再起動した後、外部ネットワークに接続できなくなります

この問題は、Windows ネットワーク共有が原因である可能性があります。ホスト マシンの物理ネットワーク カードを右クリックし、[プロパティ] ボタンをクリックし、ポップアップ インターフェイスで [共有] オプションを選択し、最初に共有をキャンセルして、[OK] をクリックします。そして再度共有を選択します。

参考

Windows Server2008 に qemu をインストールして arm アーキテクチャ CPU をシミュレートし、Galaxy Kirin v4 をインストールします

デスクトップ Galaxy Kirin V10 キャラクター インターフェイス モードとグラフィカル インターフェイス モードの切り替え - Xinchuang Technology Alliance

Galaxy Kirin サーバー オペレーティング システム V10 SP1 で SSH サービスが有効になる - 私の人生は私次第 - ハオ - 博客园

qemu-system-ARCH を使用した仮想マシンの実行 | 仮想化ガイド | SUSE Linux Enterprise Server 15 SP3

Galaxy Kirin サーバー オペレーティング システム V10 SP1 で SSH サービスが有効になる - 私の人生は私次第 - ハオ - 博客园

おすすめ

転載: blog.csdn.net/EmptyStupid/article/details/127949231