-
Notifications
You must be signed in to change notification settings - Fork 1
/
SETUP
74 lines (58 loc) · 2.52 KB
/
SETUP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
#################################
# Ktux Developer Setup Document #
#################################
- Prepare environment:
- Install make, gcc, binutils, nasm, g++
- Install Bochs compile dependencies (may vary):
- apt-get install pkg-config libx11-dev libgtk2.0-dev
- Get ktux source
- Cross-compile gcc, binutils:
- Download latest or extract included (TODO) tarballs
- cd $KTUXREPO/env/src/build
- # These are included in the repo now
- #wget http://ftp.gnu.org/gnu/gcc/gcc-6.3.0/gcc-6.3.0.tar.bz2
- #wget http://ftp.gnu.org/gnu/binutils/binutils-2.27.tar.bz2
- tar xvjf gcc-6.3.0.tar.bz2
- tar xvjf binutils-2.27.tar.bz2
- mkdir build-binutils build-gcc
- export PREFIX=`python -c "import os; print os.path.abspath('../..')"` TARGET=i686-elf
- export PATH=$PATH:$PREFIX/bin
- cd build-binutils/
- ../binutils-*/configure --target=$TARGET --prefix=$PREFIX --disable-nls
- make all install
- cd ../build-gcc/
- ../gcc-*/configure --target=$TARGET --prefix=$PREFIX --disable-nls --enable-languages=c --without-headers --with-newlib
- make all-gcc install-gcc
- Compile Bochs
- Download latest Bochs source tarball
- cd $KTUXREPO/env/src/run
- # export PREFIX if necessary
- # Bochs source included in repo
- #wget http://downloads.sourceforge.net/project/bochs/bochs/2.6.8/bochs-2.6.8.tar.gz
- tar xvzf bochs-2.6.8.tar.gz
- cd bochs-*/
- ./configure --prefix=$PREFIX --enable-cdrom --enable-sb16 --enable-ne2000 --enable-pci --enable-clgd54xx --enable-usb --enable-disasm --enable-debugger --enable-debugger-gui --with-x --with-x11 --with-wx --with-rfb --with-nogui
- make all install
- To build Ktux:
- cd $KTUXREPO/src
- make all install
- To run Ktux:
- Bochs config file "bochsrc.txt" should have proper config options
- Invoke bochs binary (ensure PATH is configured similar to above)
- $ cd $KTUXREPO/src
- $ bochs
- Bochs as configure above will launch into debugger, use 'continue' to proceed with execution
#
# Old configure options:
#
# --enable-vbe --enable-apic
#
# - Configure option --enable-vbe is deprecated and should not be used anymore.
# The VBE support is always automatically compiled in, in order to enable
# VBE support the .bochsrc option "vga: extension=" has to be set to "vbe".
# If PCI is present, the "pcivga" device can be assigned to PCI slot.
#
# - Configure option --enable-acpi is deprecated and should not be used anymore.
# The ACPI support is always automatically compiled in if PCI is compiled in.
# The ACPI still could be disabled using .bochsrc 'plugin_ctrl' option.
#