Updated instructions to reflect current reality.
authorMichael Brown <mcb30@etherboot.org>
Wed, 26 Apr 2006 00:40:27 +0000 (00:40 +0000)
committerMichael Brown <mcb30@etherboot.org>
Wed, 26 Apr 2006 00:40:27 +0000 (00:40 +0000)
contrib/bochs/README

index 80e1529..8495e3c 100644 (file)
@@ -15,39 +15,24 @@ but it doesn't seem to quite work.)
 To get bochs running is fairly simple:
 
 1.  Get the bochs source code:
-    a)  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 login
+      cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/bochs co bochs
 
 2.  Configure bochs with
-      ./configure --enable-all-optimisations --enable-pci \
-                --enable-ne2000 --enable-pnic
-    Other potentially useful configure options:
-      --prefix=/usr
-          to force use of standard file locations
-      --enable-debugger
-          to enable the internal debugger
+      pushd bochs
+      ./configure --enable-all-optimisations --enable-pci --enable-pnic
+                  --enable-debugger --enable-magic-breakpoints --enable-disasm
+      popd
 
 3.  Build bochs:
-      make
+      make -C bochs
 
-4.  Configure Etherboot with CONFIG_PCI_DIRECT: add the line
-      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:
+4.  Set up a TAP virtual network device:
       modprobe tun
-    You should see the device /dev/net/tun is created automatically if
-    you're using devfs, otherwise you may have to create it by hand with:
-      mknod /dev/net/tun c 10 200
-
-7.  Grant yourself write access to /dev/net/tun:
-      su -c 'chown <your user id> /dev/net/tun'
-    The alternative to this is to run Bochs as root.  Don't do that.
+      tunctl -u <username> -t tap0
+      ifconfig tap0 up 10.254.254.2 netmask 255.255.255.0
 
-8.  Add the following fragment to /etc/dhcpd.conf:
+5.  Add the following fragment to /etc/dhcpd.conf:
       subnet 10.254.254.0 netmask 255.255.255.252 {
         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
     your own.
 
-9.  Change back to this directory and run bochs from your Bochs source tree:
-      cd /path/to/Etherboot/contrib/bochs
-      /path/to/bochs/source/tree/bochs
-
-10. Select option 5 (Begin simulation).  You will be prompted for your
-    root password.  This is required in order to configure the tun1
-    network interface and to restart the DHCP server.
-
-11. You should see Bochs start up and attempt to boot from the network,
-    with a screen that looks like:
-
-VGA BIOS - Version 2.40
-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$
-
+6.  Restart dhcpd
+      /etc/init.d/dhcpd restart
 
-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?
+7.  Build Etherboot images
+      pushd ../../src
+      make bin/pnic.dsk
+      popd
 
-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
+8.  Start Bochs
+      ./bochs/bochs -q
+    You should get to the debugger prompt "<bochs:1>".  Type "c" to
+    start running Bochs.
 
+You should see Bochs start up, load up Etherboot and attempt to boot
+from the network.
 
 
 
@@ -101,7 +68,7 @@ console for Etherboot running within Bochs.  Simply run
 "./serial-console" on a spare tty (e.g. a separate xterm window)
 before starting Bochs, and ensure that you have compiled Etherboot
 with appropriate settings such as
-  CFLAGS+=      -DCONSOLE_DUAL -DCOMCONSOLE=0x3F8 -DCONSPEED=9600
+  CFLAGS+= -DCONSOLE_DUAL -DCOMCONSOLE=0x3F8 -DCONSPEED=9600
 
 There is a manual page for "serial-console"; use
 "man ./serial-console.1" to view it.