Updated instructions to reflect current reality.

pull/1/head
Michael Brown 2006-04-26 00:40:27 +00:00
parent 0eb0dd0437
commit 82c4afcb32
1 changed files with 24 additions and 57 deletions

View File

@ -15,39 +15,24 @@ but it doesn't seem to quite work.)
To get bochs running is fairly simple: To get bochs running is fairly simple:
1. Get the bochs source code: 1. Get the bochs source code:
a) cvs -d:pserver:anonymous:@cvs.sourceforge.net:/cvsroot/bochs login cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/bochs login
b) cvs -d:pserver:anonymous:@cvs.sourceforge.net:/cvsroot/bochs co bochs cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/bochs co bochs
2. Configure bochs with 2. Configure bochs with
./configure --enable-all-optimisations --enable-pci \ pushd bochs
--enable-ne2000 --enable-pnic ./configure --enable-all-optimisations --enable-pci --enable-pnic
Other potentially useful configure options: --enable-debugger --enable-magic-breakpoints --enable-disasm
--prefix=/usr popd
to force use of standard file locations
--enable-debugger
to enable the internal debugger
3. Build bochs: 3. Build bochs:
make make -C bochs
4. Configure Etherboot with CONFIG_PCI_DIRECT: add the line 4. Set up a TAP virtual network device:
CFLAGS += -DCONFIG_PCI_DIRECT
to the end of src/arch/i386/Config.
5. Build bin/pnic.zrom:
make bin/pnic.zrom
6. Load the TUN/TAP kernel module:
modprobe tun modprobe tun
You should see the device /dev/net/tun is created automatically if tunctl -u <username> -t tap0
you're using devfs, otherwise you may have to create it by hand with: ifconfig tap0 up 10.254.254.2 netmask 255.255.255.0
mknod /dev/net/tun c 10 200
7. Grant yourself write access to /dev/net/tun: 5. Add the following fragment to /etc/dhcpd.conf:
su -c 'chown <your user id> /dev/net/tun'
The alternative to this is to run Bochs as root. Don't do that.
8. Add the following fragment to /etc/dhcpd.conf:
subnet 10.254.254.0 netmask 255.255.255.252 { subnet 10.254.254.0 netmask 255.255.255.252 {
range dynamic-bootp 10.254.254.1 10.254.254.1; range dynamic-bootp 10.254.254.1 10.254.254.1;
} }
@ -57,39 +42,21 @@ To get bochs running is fairly simple:
machine you are using for running Bochs. If not, then you're on machine you are using for running Bochs. If not, then you're on
your own. your own.
9. Change back to this directory and run bochs from your Bochs source tree: 6. Restart dhcpd
cd /path/to/Etherboot/contrib/bochs /etc/init.d/dhcpd restart
/path/to/bochs/source/tree/bochs
10. Select option 5 (Begin simulation). You will be prompted for your 7. Build Etherboot images
root password. This is required in order to configure the tun1 pushd ../../src
network interface and to restart the DHCP server. make bin/pnic.dsk
popd
11. You should see Bochs start up and attempt to boot from the network, 8. Start Bochs
with a screen that looks like: ./bochs/bochs -q
You should get to the debugger prompt "<bochs:1>". Type "c" to
VGA BIOS - Version 2.40 start running Bochs.
Copyright (C) 1990-2000 Elpin Systems, Inc.
All rights reserved.
Licensed for use with bochs, courtesy of MandrakeSoft.
For information on this or other VGA development products, contact
Elpin Systems at: (800) 723-9038 or www.elpin.com
Bochs BIOS, 1 cpu, $Revision$ $Date$
Etherboot 5.3.6 (GPL) http://etherboot.org Tagged ELF for [PNIC]
Relocating _text from: [00091020,0009fb50) to [01ef14d0,01f00000)
Boot from (N)etwork or (Q)uit?
Probing pci nic...
[pnic] - Detected Bochs Pseudo NIC MAC FE:FD:00:00:00:01 (API v1.0) at 0xdc00
Searching for server (DHCP)...
..Me: 10.254.254.1, Server: 10.254.254.2
Loading 10.254.254.2:/tftpboot/kernel
You should see Bochs start up, load up Etherboot and attempt to boot
from the network.