Port details |
- qemu42 QEMU CPU Emulator - 4.2.X branch
- 4.2.1_1 emulators
=0 4.2.1_1Version of this port present on the latest quarterly branch.
- DEPRECATED: Use emulators/qemu or emulators/qemu-devel
This port expired on: 2022-01-10
- Maintainer: bofh@FreeBSD.org
- Port Added: 2020-09-30 02:05:09
- Last Update: 2022-01-10 09:00:56
- Commit Hash: ff8ff0d
- License: GPLv2
- WWW:
- http://wiki.qemu.org/Main_Page
- Description:
- QEMU is a FAST! processor emulator using dynamic translation to achieve
good emulation speed.
QEMU has two operating modes:
* Full system emulation. In this mode, QEMU emulates a full system
(for example a PC), including a processor and various peripherials.
It can be used to launch different Operating Systems without rebooting
the PC or to debug system code.
* User mode emulation (Linux host only). In this mode, QEMU can launch
Linux processes compiled for one CPU on another CPU. It can be used to
launch the Wine Windows API emulator or to ease cross-compilation and
cross-debugging.
As QEMU requires no host kernel patches to run, it is very safe and easy to use.
WWW: http://wiki.qemu.org/Main_Page
- ¦ ¦ ¦ ¦
- Manual pages:
-
- pkg-plist: as obtained via:
make generate-plist - Dependency lines:
-
- qemu42>0:emulators/qemu42
- No installation instructions:
- This port has been deleted.
- PKGNAME: qemu42
- Flavors: there is no flavor information for this port.
- ONLY_FOR_ARCHS: amd64 i386 powerpc powerpc64 powerpc64le
- distinfo:
- TIMESTAMP = 1594330010
SHA256 (qemu/4.2.1/qemu-4.2.1.tar.xz) = 7e331163b72e7bcf63bd35cb85cba87b48d12fab3f264b94c23f7d3991094207
SIZE (qemu/4.2.1/qemu-4.2.1.tar.xz) = 62225124
No package information for this port in our database- Sometimes this happens. Not all ports have packages. Perhaps there is a build error. Check the fallout link:
- Dependencies
- NOTE: FreshPorts displays only information on required and default dependencies. Optional dependencies are not covered.
- Build dependencies:
-
- sphinx-build : textproc/py-sphinx@py38
- texi2html : textproc/texi2html
- bison : devel/bison
- gmake>=4.3 : devel/gmake
- pkgconf>=1.3.0_1 : devel/pkgconf
- python3.8 : lang/python38
- makeinfo : print/texinfo
- msgfmt : devel/gettext-tools
- sdl2-config : devel/sdl20
- perl5>=5.32.r0<5.33 : lang/perl5.32
- xorgproto>=0 : x11/xorgproto
- pixman-1.pc : x11/pixman
- x11.pc : x11/libX11
- xext.pc : x11/libXext
- x11.pc : x11/libX11
- xext.pc : x11/libXext
- pixman-1.pc : x11/pixman
- x11.pc : x11/libX11
- Runtime dependencies:
-
- pixman-1.pc : x11/pixman
- x11.pc : x11/libX11
- xext.pc : x11/libXext
- x11.pc : x11/libX11
- xext.pc : x11/libXext
- pixman-1.pc : x11/pixman
- x11.pc : x11/libX11
- Library dependencies:
-
- libepoxy.so : graphics/libepoxy
- libfdt.so : sysutils/dtc
- libfontconfig.so : x11-fonts/fontconfig
- libfreetype.so : print/freetype2
- libnettle.so : security/nettle
- libpcre2-8.so : devel/pcre2
- libcurl.so : ftp/curl
- libgnutls.so : security/gnutls
- libxkbcommon.so : x11/libxkbcommon
- libpng.so : graphics/png
- libsasl2.so : security/cyrus-sasl2
- libvdeplug.so : net/vde2
- libharfbuzz.so : print/harfbuzz
- libatk-1.0.so : accessibility/atk
- libcairo.so : graphics/cairo
- libgdk_pixbuf-2.0.so : graphics/gdk-pixbuf2
- libglib-2.0.so : devel/glib20
- libintl.so : devel/gettext-runtime
- libgtk-3.so : x11-toolkits/gtk30
- libxml2.so : textproc/libxml2
- libpango-1.0.so : x11-toolkits/pango
- libvte-2.91.so : x11-toolkits/vte3
- libiconv.so : converters/libiconv
- libintl.so : devel/gettext-runtime
- libGL.so : graphics/libglvnd
- libgbm.so : graphics/mesa-libs
- libjpeg.so : graphics/jpeg-turbo
- libSDL2.so : devel/sdl20
- There are no ports dependent upon this port
Configuration Options:
- ===> The following configuration options are available for qemu42-4.2.1_1:
CAPSTONE=off: Disassembly framework support
CDROM_DMA=on: IDE CDROM DMA
CURL=on: Data transfer support via cURL
DEBUG=off: Build with debugging support
DOCS=on: Build and/or install documentation
GNUTLS=on: gnutls dependency (vnc encryption)
GTK3=on: GTK+ 3 GUI toolkit support
ISCSI=off: libiscsi dependency (iSCSI client for emulated drives)
JPEG=on: jpeg dependency (vnc lossy compression)
OPENGL=on: 2D/3D rendering support via OpenGL
PCAP=on: pcap dependency (networking with bpf)
PNG=on: png dependency (vnc compression)
SAMBA=off: samba dependency (for -smb)
SASL=on: cyrus-sasl dependency (vnc encryption)
STATIC_LINK=off: Statically link the executables
USBREDIR=off: usb device network redirection (experimental!)
VDE=on: vde dependency (for vde networking)
X11=on: X11 (graphics) support
X86_TARGETS=off: Build only x86 system targets
====> Console (text) interface support: you have to select exactly one of them
NCURSES_DEFAULT=on: Depend on ncurses (ports if installed, otherwise base)
NCURSES_BASE=off: Depend on ncurses in base
NCURSES_PORT=off: Depend on devel/ncurses in ports
===> Use 'make config' to modify these settings
- Options name:
- emulators_qemu42
- USES:
- bison compiler:c11 cpe gmake gnome iconv:wchar_t perl5 pkgconfig python:build tar:xz xorg makeinfo gettext gl jpeg ncurses gl sdl xorg
- pkg-message:
- For install:
- FreeBSD host notes
==================
- Needs to set net.link.tap.user_open sysctl in order to use /dev/tap*
networking as non-root. Don't forget to adjust device node permissions in
/etc/devfs.rules.
- slirp (usermode networking) is fixed now in cvs, on FreeSBIE 1.0 guests you
still have to manually do: echo nameserver 10.0.2.3 >/etc/resolv.conf but
i've been told that that's normal. (fixed on FreeSBIE 1.1.) And you have
to wait a bit for dhclient to do its thing; traffic to address 10.0.2.2 is
routed to 127.1 on the host.
- Expect timer problems when guest kernel HZ is > hosts, for example time
sleep 1 takes 49 seconds and booting sleeps for minutes at the acd0 probe
with a FreeSBIE 1.0 guest, thats because its kernel is built with HZ=5000,
and FreeBSD's default is 100... (no longer a problem with FreeSBIE 1.1.)
The linux 2.6 kernel uses 1000 by default btw. (changed to 250 later, and
recent linux kernels now no longer have a fixed HZ, aka `tickless
kernel'...) Enabling /dev/rtc doesn't seem to help either (not included
since it needs a patch to emulators/rtc.)
- Update: the above problem has gotten worse with FreeBSD guests
somewhere before 8.0, mainly since the kernel now usually wants
double or even quadruple number of timer irqs compared to HZ if
it detects an apic (and at least early versions of FreeBSD 8 had
a bug that essentially halved qemu's clock rate too); the only
reason you usually don't see symptoms of this with FreeBSD 8
guests is they automatically reduce their HZ to 100 when running
in a VM while the default for the host kernel is still HZ=1000.
Workaround: you can disable the apic clock in the guest by setting
hint.apic.0.clock="0"
in loader.conf(5) (or manually at the loader prompt), if that
doesn't work the only things you can do is either reduce the
guest's HZ to, say, 100 by setting e.g.
kern.hz="100"
from the loader as above (which usually is a good idea in a VM
anyway and FreeBSD 8 now does by itself as mentioned), or otherwise
increase the host's HZ to 2000 or even 4000 from the loader in
the same way.
- The -smb option (smb-export local dir to guest using the default
slirp networking) needs the samba port/package installed
in addition to qemu. (SAMBA knob.)
- If you want to use usb devices connected to the host in the guest
yot need either recent 10-current (not tested yet much) or you can
use usbredir over the network (see below); also unless you are
running qemu as root you then need to fix permissions for /dev/ugen*
device nodes: if you are on 5.x or later (devfs) put a rule in
/etc/devfs.rules, activate it in /etc/rc.conf and run /etc/rc.d/devfs
restart. Example devfs.rules:
[ugen_ruleset=20]
add path 'ugen*' mode 660 group operator
corresponding rc.conf line:
devfs_system_ruleset="ugen_ruleset"
- If you want to test the new (in 0.15.0) usb network redirection (USBREDIR
option) see this thread by Hans de Goede <hdegoede <at> redhat.com>:
http://thread.gmane.org/gmane.comp.emulators.qemu/110176/focus=110183
Quote:
Example usage:
1) Start usbredirserver for a usb device:
sudo usbredirserver 045e:0772
2) Start qemu with usb2 support + a chardev talking to usbredirserver +
a usb-redir device using this chardev:
qemu -usb \
-readconfig docs/ich9-ehci-uhci.cfg \
-chardev socket,id=usbredirchardev,host=localhost,port=4000 \
-device usb-redir,chardev=usbredirchardev,id=usbredirdev ...
[you would replace docs/ich9-ehci-uhci.cfg with e.g.
/usr/local/share/doc/qemu/docs/ich9-ehci-uhci.cfg, but turns out
ehci was broken for me here with FreeBSD guests and the previous
qemu version at least, I got:
FETCHENTRY: entry at 22C5484 is of type 2 which is not supported yet
processing error - resetting ehci HC
Assertion failed: (0), function ehci_advance_state, file /data/ports/emulators/qemu-devel/work/qemu-0.15.0/hw/usb-ehci.c, line 2045.
The new qemu version works better tho.]
- Still usb: since the hub is no longer attached to the uchi controller and
the wakeup mechanism, resume interrupt is not implemented yet linux guests
will suspend the bus, i.e. they wont see devices usb_add'ed after its
(linux') uhci module got loaded. Workaround: either add devices before
linux loads the module or rmmod and modprobe it afterwards. [Not sure
if this still applies to the new libusb host code used on recent
10-current.]
- If you get repeated `atapi_poll called!' console messages with FreeBSD
guests or other weird cdrom problems then thats probably because the guest
has atapicam loaded, which for reasons still to be determined has problems
with qemu's now by default enabled cdrom dma. You can build the port with
CDROM_DMA disabled to disable it. [Looks like this is fixed in recent
FreeBSD guest versions.]
- If you build qemu wihout SDL and then get crashes running it try passing it
-nographic. This should probably be default in that case...
- qemu's network boot roms (-boot n) have a bug when bootfiles sizes are a
multiple of blksize, if this affects you (like with FreeBSD's /boot/pxeboot)
you can do like
cp /boot/pxeboot pxeboot-qemu && chmod +w pxeboot-qemu && echo >>pxeboot-qemu
and then use pxeboot-qemu. Actually you need recent btx code
(from after 7.0 was released) because of the real mode boot
problem, so use at least pxeboot from there. And I just did that
for the pxeboot extracted out of
ftp://ftp.freebsd.org/pub/FreeBSD/snapshots/200805/7.0-STABLE-200805-i386-bootonly.iso
and placed it here:
http://people.freebsd.org/~nox/qemu/pxeboot-qemu
- If you use slirp (usernet, the default) and want to mount nfs into the guest
and you are not running qemu as root, then mountd(8) on the exporting box
needs to be run with -n in order to accept requests from ports >= 1024.
- (not FreeBSD-specific:) There have been reports of qcow2 corruption with (at
least) win2k guests on recent kvm (which uses similar qcow2 code than qemu
now, see this thread:
http://lists.gnu.org/archive/html/qemu-devel/2009-02/msg00713.html -
the consensus on that thread seems to be that qcow(2) code has always been
experimental and you should use raw images if you want reliability; raw is
also usually faster.) You should be able to migrate existing images to raw
using qemu-img(1)'s convert function; raw doesn't support advanced features
like snapshots tho. [a few important qcow2 bugfixed have been committed in
the meantime so this _might_ be less of an issue now; and meanwhile there
also is the new qed format - I don't know how stable that one is.]
- (also not FreeBSD-specific:) It is recommended to pass raw images using the
new -drive syntax, specifying format=raw explicitly in order to avoid
malicious guests being able to exploit the format autodetection thats
otherwise getting used. (Not that you should run malicious guests anyway,
but this eleminates at least a known attack vector.)
- qemu now has improved physical cdrom support, but still there is at
least one known problem: you need to have the guest eject the disc if you
want to change it/take it out, or otherwise the guest may continue using
state (like size) of the old disc. (You can also do like `change ide1-cd0
/dev/acd0' in the monitor after taking out the disc if a guest cannot eject
it itself.)
- The default configuration location (qemu-ifup script etc.) has been changed
from /etc to PREFIX/etc (usually /usr/local/etc). Move your files
accordingly.
- The pcap code (-net nic... -net pcap,ifname=...) should work properly now,
with only one exception: Advanced features like TSO used on the host
interface can cause oversize packets which now do get truncated to avoid
confusing/panicing guests but of course still will cause retransmissions.
So if you see slow throughput and `pcap_send: packet size > ..., truncating'
messages on qemu's tty try disabling TSO etc on the host interface at least
while using pcap.
- kqemu is no longer supported in qemu upstream after the 0.11 branch
was created, which means also not in this version. (Linux has moved
on to kvm now for qemu(-like) virtualization needs, so if you want qemu
to go faster and don't want to switch to virtualbox or stick to the older
emulators/qemu port which is at 0.11.1 atm and as such still supports
kqemu you should help getting the FreeBSD kvm port updated and
completed:
http://wiki.freebsd.org/FabioChecconi/PortingLinuxKVMToFreeBSD
)
- Master Sites:
|
Port Moves |
- port deleted on 2022-01-10
REASON: Has expired: Use emulators/qemu or emulators/qemu-devel
|
Number of commits found: 9
Commit History - (may be incomplete: for full details, see links to repositories near top of page) |
Commit | Credits | Log message |
4.2.1_1 10 Jan 2022 09:00:56 |
Rene Ladan (rene) |
cleanup: Remove expired ports:
2022-01-10 emulators/qemu-utils: Use emulators/qemu or emulators/qemu-devel
2022-01-10 emulators/qemu42: Use emulators/qemu or emulators/qemu-devel |
4.2.1_1 06 Dec 2021 01:02:48 |
Muhammad Moinur Rahman (bofh) |
emulators/qemu42: UNBREAK for 13.X and later
- Mark DEPRECATED as there are more recent versions in the tree
- Update pkg-descr as https://oszoo.org no longer hosts qemu images and
is totally an irrelevent site
- Do some housekeeping to remove stage-qa errors |
4.2.1_1 10 Oct 2021 19:44:42 |
Baptiste Daroussin (bapt) |
INSTALLS_ICONS: retire the macro and rework the related dependencies
While here, make sure gtk-update-icon-cache is only on run dependency
where added as a dependency
Enforce gtk3 to depend on gtk-update-icon-cache (previously it was
inheriting the dependency) |
4.2.1_1 12 Sep 2021 21:06:10 |
Piotr Kubaj (pkubaj) |
emulators/qemu42: fix build on powerpc
/wrkdirs/usr/ports/emulators/qemu42/work/qemu-4.2.1/tcg/tcg.c:344:
/wrkdirs/usr/ports/emulators/qemu42/work/qemu-4.2.1/tcg/ppc/tcg-target.inc.c:2290:3:
error: "Unhandled abi" |
4.2.1_1 22 Jun 2021 18:53:08 |
Kevin Bowling (kbowling) |
graphics/mesa-libs: Bump reverse deps for libglvnd
Per discussion with bapt on helping pkg handle the changing of these
deps and avoiding impossible upgrade senarios.
PR: 246767
Reviewed by: manu, bapt
Approved by: x11
Differential Revision: https://reviews.freebsd.org/D30824 |
4.2.1 06 Apr 2021 14:31:07 |
Mathieu Arnold (mat) |
Remove # $FreeBSD$ from Makefiles. |
4.2.1 18 Feb 2021 16:28:31 |
pkubaj |
emulators/qemu42: enable on powerpc64le |
4.2.1 21 Jan 2021 17:03:10 |
jbeich |
emulators/qemu-utils: restore package name after r562222
- Copy dependency trimming from qemu to qemu42
PR: 252498 |
4.2.1 30 Sep 2020 02:04:24 |
bofh |
[NEW] emulators/qemu42: QEMU CPU Emulator - 4.2.X branch
QEMU is a FAST! processor emulator using dynamic translation to achieve
good emulation speed.
QEMU has two operating modes:
* Full system emulation. In this mode, QEMU emulates a full system
(for example a PC), including a processor and various peripherials.
It can be used to launch different Operating Systems without rebooting
the PC or to debug system code.
* User mode emulation (Linux host only). In this mode, QEMU can launch
Linux processes compiled for one CPU on another CPU. It can be used to
launch the Wine Windows API emulator or to ease cross-compilation and
cross-debugging.
As QEMU requires no host kernel patches to run, it is very safe and easy to use.
See also the preconfigured system images on http://oszoo.org/
Many live cd isos also work.
WWW: http://wiki.qemu.org/Main_Page
In preparation of updating emulators/qemu to 5.0.X STABLE branch moving
4.2.X to a new port. |
Number of commits found: 9
|