代码拉取完成,页面将自动刷新
同步操作将从 会飞的小胖/kvmtool 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
Installation instructions for kvmtool
---------------------------------------
==========================================================================
For the impatient:
Just typing "make" should do the trick most of the times.
You will get a binary called "lkvm" which is self-contained.
No extra libraries or files need to be installed.
==========================================================================
"make install" will copy the compiled file into $HOME/bin, this can be
changed by providing "prefix=" on the make command-line. DESTDIR will be
honoured.
Prerequisites
--------------
For compilation you will need a recent GNU tool chain (binutils, gcc, make),
also the standard C library.
For deb based systems:
$ sudo apt-get install build-essential
On x86-64 systems you have to add the 32-bit compat headers:
$ sudo apt-get install libc6-dev-i386
For Fedora based systems:
# yum install glibc-static
For OpenSUSE based systems:
# zypper install glibc-devel-static
Architectures which require device tree (PowerPC, ARM, ARM64) also require
libfdt.
deb: $ sudo apt-get install libfdt-dev
Fedora: # yum install libfdt-devel
OpenSUSE: # zypper install libfdt1-devel
Also see "Cross compiling" below.
Optional libraries
-------------------
By running "make" some checks are invoked that determine the availability
of certain optional libraries. Those are:
- libbfd: enable symbol look-up support in debug mode
- gtk3: enable support for displaying the guest framebuffer in a GTK+-3 window
- vncserver: enable support for exporting the guest framebuffer in a VNC session
- SDL: enable support for displaying the guest framebuffer in a SDL window
- zlib: enable support for compressed QCOW images
- aio: enable support for asynchronous I/O
(Note that a guest framebuffer is currently only supported on x86.)
So for the full glory you would need:
(on a .deb based system):
$ sudo apt-get install binutils-dev libgtk-3-dev libvncserver-dev libsdl2-dev \
zlib1g-dev libaio-dev
(on RPM based systems):
# $TOOL install binutils-devel gtk3-devel libvncserver-devel SDL-devel \
zlib-devel libaio-devel
$TOOL is "yum" for Fedora and "zypper" for OpenSUSE.
Cross compiling
----------------
The Makefile will honour the CROSS_COMPILE environment variable when calling
the compiler and the linker binary. To trigger cross compilation, also set ARCH
to the Linux name of the architecture. Architectures supported:
- i386
- x86_64
- powerpc
- arm
- arm64
- mips
If ARCH is not provided, the target architecture will be automatically
determined by running "uname -m" on your host, resulting in a native build.
To cross-compile to ARM for instance, install a cross-compiler, put the
required libraries in the cross-compiler's SYSROOT and type:
$ make CROSS_COMPILE=arm-linux-gnueabihf- ARCH=arm
Missing libraries when cross-compiling
---------------------------------------
The cross-compiler will look for target libraries in its SYSROOT directory,
so you need to put the header and library files (.so) there.
While most cross compiler packages come with the target's glibc already
installed, optional libraries (or libfdt) maybe not.
On multiarch system you should be able to install those be appending
the architecture name after the package (example for ARM64):
$ sudo apt-get install libfdt-dev:arm64
PowerPC and ARM/ARM64 require libfdt to be installed. If you cannot use
precompiled mulitarch packages, you could either copy the required header and
library files from an installed target system into the SYSROOT (you will need
/usr/include/*fdt*.h and /usr/lib64/libfdt-v.v.v.so and its symlinks), or you
can cross-compile the libfdt library yourself:
$ git clone git://git.kernel.org/pub/scm/utils/dtc/dtc.git
$ cd dtc
$ export CC=${CROSS_COMPILE}gcc
$ TRIPLET=$($CC -dumpmachine)
$ SYSROOT=$($CC -print-sysroot)
$ make libfdt
$ sudo make DESTDIR=$SYSROOT PREFIX=/usr LIBDIR=/usr/lib/$TRIPLET install-lib install-includes
This assumes a multiarch-enabled system, if there is no per-arch directory for
libraries, replace the LIBDIR paths above with LIBDIR=/usr/lib or /usr/lib64.
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。