Make the kernel dir overridable.
[v86d.git] / README
blob63b490e97b4cdf507ab521bdf3b9a60b62d1de65
1 v86d -- A x86 Emulation Daemon
2 ------------------------------
4 1. Purpose
5 ----------
6 v86d provides a backend for kernel drivers that need to execute
7 x86 BIOS code. The code is executed in a controlled environment
8 and the results are passed back to the kernel via the netlink
9 interface.
11 2. Configuration
12 ----------------
14 2.1. The C library
15 ------------------
16 v86d can be compiled against two different C libraries: glibc
17 and klibc, glibc being the default.
19 Compiling against glibc will result in a dynamically linked
20 executable that is not suitable for inclusion in initrds.
22 Compiling against klibc will result in a relatively small,
23 statically linked binary, which can be included in an initrd.
25 To compile v86d against klibc, run ./configure --with-klibc
26 after making sure that a recent (1.4 or newer) version of
27 klibc is installed on your system.
29 2.2. The emulator backend
30 -------------------------
31 On x86, the code that v86d executes can be run either in
32 a fully software-emulated environment (x86emu) or a virtualized
33 environment (vm86) supported by the CPU. On other arches
34 or 64-bit systems, the code is always run by x86emu.
36 To choose the x86emu backend on a x86 system, run ./configure
37 --with-x86emu.
39 3. Installation & Usage
40 -----------------------
41 To configure, build and install v86d with the default settings,
42 run:
44  # ./configure --default
45  # make
46  # make install
48 v86d isn't meant to be used in an interactive way. It should
49 be started and called by the kernel. If you want to see it in
50 action, build and load the uvesafb kernel module.
52 If you want to include v86d into an initramfs image,
53 misc/initramfs provides a minimal config parsable by
54 gen_init_cpio.