|
@@ -15,39 +15,24 @@ but it doesn't seem to quite work.)
|
15
|
15
|
To get bochs running is fairly simple:
|
16
|
16
|
|
17
|
17
|
1. Get the bochs source code:
|
18
|
|
- a) cvs -d:pserver:anonymous:@cvs.sourceforge.net:/cvsroot/bochs login
|
19
|
|
- b) cvs -d:pserver:anonymous:@cvs.sourceforge.net:/cvsroot/bochs co bochs
|
|
18
|
+ cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/bochs login
|
|
19
|
+ cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/bochs co bochs
|
20
|
20
|
|
21
|
21
|
2. Configure bochs with
|
22
|
|
- ./configure --enable-all-optimisations --enable-pci \
|
23
|
|
- --enable-ne2000 --enable-pnic
|
24
|
|
- Other potentially useful configure options:
|
25
|
|
- --prefix=/usr
|
26
|
|
- to force use of standard file locations
|
27
|
|
- --enable-debugger
|
28
|
|
- to enable the internal debugger
|
|
22
|
+ pushd bochs
|
|
23
|
+ ./configure --enable-all-optimisations --enable-pci --enable-pnic
|
|
24
|
+ --enable-debugger --enable-magic-breakpoints --enable-disasm
|
|
25
|
+ popd
|
29
|
26
|
|
30
|
27
|
3. Build bochs:
|
31
|
|
- make
|
|
28
|
+ make -C bochs
|
32
|
29
|
|
33
|
|
-4. Configure Etherboot with CONFIG_PCI_DIRECT: add the line
|
34
|
|
- CFLAGS += -DCONFIG_PCI_DIRECT
|
35
|
|
- to the end of src/arch/i386/Config.
|
36
|
|
-
|
37
|
|
-5. Build bin/pnic.zrom:
|
38
|
|
- make bin/pnic.zrom
|
39
|
|
-
|
40
|
|
-6. Load the TUN/TAP kernel module:
|
|
30
|
+4. Set up a TAP virtual network device:
|
41
|
31
|
modprobe tun
|
42
|
|
- You should see the device /dev/net/tun is created automatically if
|
43
|
|
- you're using devfs, otherwise you may have to create it by hand with:
|
44
|
|
- mknod /dev/net/tun c 10 200
|
45
|
|
-
|
46
|
|
-7. Grant yourself write access to /dev/net/tun:
|
47
|
|
- su -c 'chown <your user id> /dev/net/tun'
|
48
|
|
- The alternative to this is to run Bochs as root. Don't do that.
|
|
32
|
+ tunctl -u <username> -t tap0
|
|
33
|
+ ifconfig tap0 up 10.254.254.2 netmask 255.255.255.0
|
49
|
34
|
|
50
|
|
-8. Add the following fragment to /etc/dhcpd.conf:
|
|
35
|
+5. Add the following fragment to /etc/dhcpd.conf:
|
51
|
36
|
subnet 10.254.254.0 netmask 255.255.255.252 {
|
52
|
37
|
range dynamic-bootp 10.254.254.1 10.254.254.1;
|
53
|
38
|
}
|
|
@@ -57,39 +42,21 @@ To get bochs running is fairly simple:
|
57
|
42
|
machine you are using for running Bochs. If not, then you're on
|
58
|
43
|
your own.
|
59
|
44
|
|
60
|
|
-9. Change back to this directory and run bochs from your Bochs source tree:
|
61
|
|
- cd /path/to/Etherboot/contrib/bochs
|
62
|
|
- /path/to/bochs/source/tree/bochs
|
63
|
|
-
|
64
|
|
-10. Select option 5 (Begin simulation). You will be prompted for your
|
65
|
|
- root password. This is required in order to configure the tun1
|
66
|
|
- network interface and to restart the DHCP server.
|
67
|
|
-
|
68
|
|
-11. You should see Bochs start up and attempt to boot from the network,
|
69
|
|
- with a screen that looks like:
|
70
|
|
-
|
71
|
|
-VGA BIOS - Version 2.40
|
72
|
|
-Copyright (C) 1990-2000 Elpin Systems, Inc.
|
73
|
|
-All rights reserved.
|
74
|
|
-
|
75
|
|
-Licensed for use with bochs, courtesy of MandrakeSoft.
|
76
|
|
-
|
77
|
|
-For information on this or other VGA development products, contact
|
78
|
|
-Elpin Systems at: (800) 723-9038 or www.elpin.com
|
79
|
|
-
|
80
|
|
-Bochs BIOS, 1 cpu, $Revision$ $Date$
|
81
|
|
-
|
|
45
|
+6. Restart dhcpd
|
|
46
|
+ /etc/init.d/dhcpd restart
|
82
|
47
|
|
83
|
|
-Etherboot 5.3.6 (GPL) http://etherboot.org Tagged ELF for [PNIC]
|
84
|
|
-Relocating _text from: [00091020,0009fb50) to [01ef14d0,01f00000)
|
85
|
|
-Boot from (N)etwork or (Q)uit?
|
|
48
|
+7. Build Etherboot images
|
|
49
|
+ pushd ../../src
|
|
50
|
+ make bin/pnic.dsk
|
|
51
|
+ popd
|
86
|
52
|
|
87
|
|
-Probing pci nic...
|
88
|
|
-[pnic] - Detected Bochs Pseudo NIC MAC FE:FD:00:00:00:01 (API v1.0) at 0xdc00
|
89
|
|
-Searching for server (DHCP)...
|
90
|
|
-..Me: 10.254.254.1, Server: 10.254.254.2
|
91
|
|
-Loading 10.254.254.2:/tftpboot/kernel
|
|
53
|
+8. Start Bochs
|
|
54
|
+ ./bochs/bochs -q
|
|
55
|
+ You should get to the debugger prompt "<bochs:1>". Type "c" to
|
|
56
|
+ start running Bochs.
|
92
|
57
|
|
|
58
|
+You should see Bochs start up, load up Etherboot and attempt to boot
|
|
59
|
+from the network.
|
93
|
60
|
|
94
|
61
|
|
95
|
62
|
|
|
@@ -101,7 +68,7 @@ console for Etherboot running within Bochs. Simply run
|
101
|
68
|
"./serial-console" on a spare tty (e.g. a separate xterm window)
|
102
|
69
|
before starting Bochs, and ensure that you have compiled Etherboot
|
103
|
70
|
with appropriate settings such as
|
104
|
|
- CFLAGS+= -DCONSOLE_DUAL -DCOMCONSOLE=0x3F8 -DCONSPEED=9600
|
|
71
|
+ CFLAGS+= -DCONSOLE_DUAL -DCOMCONSOLE=0x3F8 -DCONSPEED=9600
|
105
|
72
|
|
106
|
73
|
There is a manual page for "serial-console"; use
|
107
|
74
|
"man ./serial-console.1" to view it.
|