| 
				
			 | 
			
			
				
				@@ -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. 
			 |