QEMU с KVM с разными архитектурами хост / предположение

Вместо использования yast вы можете отредактировать текстовые файлы *.repo ниже /etc/zypp/repos.d/ с помощью текстового редактора.

Вы можете протестировать через

$ zypper ref

Кстати, используйте curl -L ... для следования перенаправлениям.

1
30.01.2017, 01:09
4 ответа

Наивный способ запуска виртуальной машины заключается в интерпретации каждой инструкции. Программное обеспечение виртуальной машины декодирует каждую инструкцию и выполняет ее.

Когда набор инструкций виртуальной машины такой же, как и у хоста, альтернативным методом является простое выполнение инструкций. Лишь некоторые инструкции не могут быть выполнены напрямую, поскольку гость не имеет полного контроля над аппаратным обеспечением. Сложным моментом является доступ к памяти: гость не имеет доступа ко всей памяти, поэтому необходимо выполнить трансляцию адресов. Высокотехнологичные процессоры, такие как x86 CPU с расширением VT-x (Intel) или AMD-V (AMD), или ARM Cortex-A15 и выше (включая Pi 2 и Pi 3), имеют аппаратные функции для выполнения такой трансляции адресов. KVM - это компонент ядра Linux, который использует преимущества этих инструкций, позволяя коду в виртуальной машине выполняться непосредственно родным процессором.

Это не поможет вам, потому что вы не пытаетесь выполнить код ARM на процессоре ARM или x86 на процессоре x86. Вы хотите выполнить код x86 на процессоре ARM. Для этого необходимо программное обеспечение для декодирования и интерпретации инструкций. KVM здесь не поможет.

10
28.01.2020, 02:13

Да, правильно. KVM полагается на поддержку виртуализации ЦП (Intel VT или AMD-V), и поскольку ЦП Raspberry PI 3 ARM не поддерживает эти инструкции, вы не можете использовать KVM.

-2
28.01.2020, 02:13

Вы можете включить kvm в ядре, но без соответствующих расширений процессора модуль не загрузится.

-1
28.01.2020, 02:13

Для ускорения эмуляции (т. Е. Перевода ядра на полную виртуализацию) вам понадобится модуль KVM и соответствующий ЦП для выполнения кода виртуальной машины, по сути, это надстройка к ЦП. {{1} } Есть много способов узнать, поддерживает ли это ваша система: выполнить команду ~ $ lscpu , проверить возможности вашей системы ~ $ virsh features или просто $ cat / proc / cpuinfo . Вам нужны флаги vmx для Intel и svm для AMD.

Теперь процессоры ARM, насколько мне известно, у них нет этой надстройки процессора. Теоретически да, вы могли бы запускать какие-то эмулируемые системы на ЦП ARM без расширений ЦП, но это было бы очень медленно. Что касается Raspberry, я предполагаю, что у вас закончатся ресурсы, прежде чем вы сможете запустить виртуальную машину без KVM-like-for-ARM.

Что касается моего опыта, мне действительно нужно было выполнить некоторый код FreeBSD (PFsense) на устройстве с низким энергопотреблением, но архитектуры ARM не поддерживаются, поэтому вместо этого я выполнил полную виртуализацию на вычислительной карте Intel.

    [root@compute ~]# lscpu 
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                4
On-line CPU(s) list:   0-3
Thread(s) per core:    1
Core(s) per socket:    4
Socket(s):             1
NUMA node(s):          1
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 55
Model name:            Intel(R) Atom(TM) CPU  Z3735F @ 1.33GHz
Stepping:              8
CPU MHz:               666.452
CPU max MHz:           1832.6000
CPU min MHz:           499.8000
BogoMIPS:              2662.40
Virtualization:        VT-x
L1d cache:             24K
L1i cache:             32K
L2 cache:              1024K
NUMA node0 CPU(s):     0-3
Flags:                 fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm sse4_1 sse4_2 movbe popcnt tsc_deadline_timer aes rdrand lahf_lm 3dnowprefetch epb tpr_shadow vnmi flexpriority ept vpid tsc_adjust smep erms dtherm ida arat
-2
28.01.2020, 02:13

Теги

Похожие вопросы