We detected you are likely not from a Russian-speaking region. Would you like to switch to the international version of the site?

  Назад к списку статей

Эмуляция полноценного Linux-ядра в Termux через QEMU/KVM с поддержкой аппаратного ускорения

Подробное руководство по эмуляции полноценного Linux-ядра в Termux с использованием QEMU/KVM и аппаратного ускорения для повышения производительности. Узнайте, как настроить и использовать виртуальную машину Linux на вашем Android-устройстве.

Termux – мощная среда эмуляции Linux для Android, предоставляющая доступ к пакетному менеджеру и обширному набору утилит командной строки. В то время как Termux сам по себе не является полноценным Linux-ядро, он позволяет нам эмулировать его с использованием QEMU. В данной статье мы рассмотрим, как настроить эмуляцию полноценного Linux-ядра в Termux с использованием QEMU/KVM и аппаратного ускорения, что значительно повысит производительность виртуальной машины.

Необходимые условия

  • Устройство Android с поддержкой аппаратной виртуализации (KVM). Большинство современных устройств поддерживают KVM, но для проверки можно использовать команду egrep -c '(vmx|svm)' /proc/cpuinfo в Termux. Если вывод показывает число больше 0, KVM поддерживается.
  • Установленный Termux.
  • Достаточно свободного места на устройстве для образа Linux.

Установка необходимых пакетов

Первым шагом является установка необходимых пакетов в Termux. Выполните следующие команды:

pkg update && pkg upgrade
pkg install qemu-system-x86_64 qemu-utils proot busybox wget

qemu-system-x86_64 – эмулятор QEMU для архитектуры x86_64. qemu-utils содержит утилиты для работы с образами дисков. proot предоставляет chroot-подобную среду, улучшая изоляцию. busybox предоставляет множество утилит Linux в небольшом исполняемом файле. wget – утилита для скачивания файлов.

Загрузка образа Linux

Вам потребуется образ Linux для эмуляции. Рекомендуется использовать дистрибутивы, оптимизированные для виртуализации, такие как Debian или Alpine Linux. Пример загрузки минимального образа Debian:

wget https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/debian-12.5.0-amd64-netinst.iso

Вы можете выбрать другой дистрибутив и образ в зависимости от ваших потребностей.

Создание виртуального диска

Создайте виртуальный диск, на который будет установлен Linux:

qemu-img create -f qcow2 disk.img 10G

Эта команда создаст файл disk.img размером 10 ГБ в формате qcow2. Формат qcow2 обеспечивает сжатие и оптимизацию хранения.

Установка Linux в виртуальную машину

Теперь установим Linux на виртуальный диск. Используйте следующую команду (замените путь к ISO-образу, если необходимо):

qemu-system-x86_64 -m 2048 -cdrom debian-12.5.0-amd64-netinst.iso -drive file=disk.img,format=qcow2 -boot d -netdev user,id=net0 -device virtio-net-pci,netdev=net0 -enable-kvm

Разберем параметры:

  • -m 2048: Выделяет 2048 МБ оперативной памяти для виртуальной машины.
  • -cdrom debian-12.5.0-amd64-netinst.iso: Указывает ISO-образ для загрузки.
  • -drive file=disk.img,format=qcow2: Указывает виртуальный диск.
  • -boot d: Загрузка с CD-ROM.
  • -netdev user,id=net0: Настраивает сетевое подключение через пользовательский режим.
  • -device virtio-net-pci,netdev=net0: Добавляет сетевую карту virtio.
  • -enable-kvm: Включает аппаратное ускорение KVM.

После запуска команды откроется окно эмулятора. Следуйте инструкциям на экране для установки Debian (или выбранного вами дистрибутива) на виртуальный диск.

Запуск установленной системы

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

qemu-system-x86_64 -m 2048 -drive file=disk.img,format=qcow2 -boot c -netdev user,id=net0 -device virtio-net-pci,netdev=net0 -enable-kvm

-boot c указывает на загрузку с жесткого диска.

Настройка сети (опционально)

Для более удобной работы с виртуальной машиной, можно настроить сетевое подключение, используя VPN для создания локальной сети. Это позволит вам получить доступ к виртуальной машине с вашего хост-устройства (Android) и наоборот. Использование VPN в данном контексте предназначено исключительно для организации локальной сети и не подразумевает обход каких-либо блокировок или нарушение законодательства.

Заключение

В этой статье мы рассмотрели, как эмулировать полноценное Linux-ядро в Termux с использованием QEMU/KVM и аппаратного ускорения. Этот подход позволяет запускать Linux-приложения и инструменты прямо на вашем Android-устройстве, открывая широкие возможности для разработки, тестирования и системного администрирования.

Если вам требуется более продвинутая настройка, помощь в оптимизации производительности или консультации по вопросам безопасности, обращайтесь в РыбинскЛАБ. Мы предоставляем широкий спектр услуг в области информационной безопасности и системного администрирования.

* Текст статьи подготовлен и структурирован с использованием технологий искусственного интеллекта. Проверен и доработан перед публикацией.

Нужна помощь с настройкой Termux, Linux и серверов?

Я оказываю ИТ-услуги: настройка серверов, автоматизация, безопасность, помощь с Linux и инфраструктурой. Материалы сайта — только в ознакомительных и образовательных целях.

Связаться со мной
Поддержать проект