Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

ERROR: Couldn't find a working QEMU executable

Tags:

path

qemu

xv6

I am following MIT operating system engineering lectures.. I have installed Qemu and ran it successfully, I can use these commands within that folder "make clean" "make" and "make qemu" . There is also a separate folder for Labs... according to instruction we have to use "make" command in labs folder but when i use make command in lab folder i get the following error

*** Error: Couldn't find a working QEMU executable.
*** Is the directory containing the qemu binary in your PATH
*** or have you tried setting the QEMU variable in conf/env.mk?
***
***
*** Error: Couldn't find a working QEMU executable.
*** Is the directory containing the qemu binary in your PATH
*** or have you tried setting the QEMU variable in conf/env.mk?
***
+ as kern/entry.S
+ cc kern/entrypgdir.c
+ cc kern/init.c
+ cc kern/console.c
+ cc kern/monitor.c
+ cc kern/printf.c
+ cc kern/kdebug.c
+ cc lib/printfmt.c
+ cc lib/readline.c
+ cc lib/string.c
+ ld obj/kern/kernel
+ as boot/boot.S
+ cc -Os boot/main.c
+ ld boot/boot
boot block is 390 bytes (max 510)
+ mk obj/kern/kernel.img

I read somewhere that I am supposed to set the path in conf/env.mk file I have located the conf/env.mk file but I am not sure how to set the PATH. the contents of conf/env.mk file is as following:

# env.mk - configuration variables for the JOS lab

# '$(V)' controls whether the lab makefiles print verbose commands (the
# actual shell commands run by Make), as well as the "overview" commands
# (such as '+ cc lib/readline.c').
#
# For overview commands only, the line should read 'V = @'.
# For overview and verbose commands, the line should read 'V ='.
V = @

# If your system-standard GNU toolchain is ELF-compatible, then comment
# out the following line to use those tools (as opposed to the i386-jos-elf
# tools that the 6.828 make system looks for by default).
#
# GCCPREFIX=''

# If the makefile cannot find your QEMU binary, uncomment the
# following line and set it to the full path to QEMU.
#
# QEMU=

I am using ubuntu 16.04 Thanks in Advance!!

like image 801
Muhammad Sufyan Raza Avatar asked Jun 08 '19 15:06

Muhammad Sufyan Raza


1 Answers

To run guests with more than 2 GB of RAM, you must have a 64-bit host system.

Before continuing with the installation, make sure your Ubuntu host machine supports KVM virtualization. The system should have either an Intel processor with the VT-x (vmx), or an AMD processor with the AMD-V (svm) technology support.

Run the following grep command to verify that your processor supports hardware virtualization:

grep -Eoc '(vmx|svm)' /proc/cpuinfo

If the CPU supports hardware virtualization, the command will output a number greater than zero, which is the number of the CPU cores. Otherwise, if the output is 0 it means that the CPU doesn’t support hardware virtualization.

Run the following command to install KVM and additional virtualization management packages:

sudo apt install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils virtinst virt-manager
  • qemu-kvm - software that provides hardware emulation for the KVM hypervisor.
  • libvirt-daemon-system - configuration files to run the libvirt daemon as a system service.
  • libvirt-clients - software for managing virtualization platforms.
  • bridge-utils - a set of command-line tools for configuring ethernet bridges.
  • virtinst - a set of command-line tools for creating virtual machines.
  • virt-manager - an easy-to-use GUI interface and supporting command-line utilities for managing virtual machines through libvirt.

Once the packages are installed, the libvirt daemon will start automatically. You can verify it by typing:

sudo systemctl is-active libvirtd

Output: active

To be able to create and manage virtual machines, you’ll need to add your user to the “libvirt” and “kvm” groups. To do that, enter:

sudo usermod -aG libvirt $USER
sudo usermod -aG kvm $USER
like image 166
Amin Baqershahi Avatar answered Oct 05 '22 02:10

Amin Baqershahi