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
主な手順
- Qemu ソフトウェアをインストールします。
- 仮想ネットワークカードをインストールする
- qemu-img コマンドを使用して、qemu 仮想マシンを作成します。
- qemu-system-aarch64 コマンドを使用して kylin システムをインストールします
- qemu-system-aarch64 コマンドを使用して kylin システムを起動します
- 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 サービスが有効になる - 私の人生は私次第 - ハオ - 博客园