diff --git a/ipconfig/README b/ipconfig/README
index 55b265f..46c03fa 100644
--- a/ipconfig/README
+++ b/ipconfig/README
@@ -30,16 +30,48 @@
 
 An interface spec can be either short form, which is just the name of
 an interface (eth0 or whatever), or long form.  The long form consists
-of up to six elements, separated by colons:
+of up to seven elements, separated by colons:
 
-addr:server:gateway:netmask:interface:proto
+<client-ip>:<server-ip>:<gw-ip>:<netmask>:<hostname>:<device>:<autoconf>
 
-addr		the local IP address
-server		the server's IP address (doubles as DNS server)
-gateway		default gateway
-netmask		netmask
-interface	name of the interface (empty string is synonym for "all")
-proto		the autoconfig protocol to use, as outlined above
+  <client-ip>	IP address of the client. If empty, the address will
+                either be determined by RARP/BOOTP/DHCP. What protocol
+                is used de- pends on the <autoconf> parameter. If this
+                parameter is not empty, autoconf will be used.
+
+  <server-ip>   IP address of the NFS server. If RARP is used to
+                determine the client address and this parameter is NOT
+                empty only replies from the specified server are
+                accepted. To use different RARP and NFS server,
+                specify your RARP server here (or leave it blank), and
+                specify your NFS server in the `nfsroot' parameter
+                (see above). If this entry is blank the address of the
+                server is used which answered the RARP/BOOTP/DHCP
+                request.
+
+  <gw-ip>       IP address of a gateway if the server is on a different
+                subnet. If this entry is empty no gateway is used and the
+                server is assumed to be on the local network, unless a
+                value has been received by BOOTP/DHCP.
+
+  <netmask>     Netmask for local network interface. If this is empty,
+                the netmask is derived from the client IP address assuming
+                classful addressing, unless overridden in BOOTP/DHCP reply.
+
+  <hostname>    Name of the client. If empty, the client IP address is
+                used in ASCII notation, or the value received by
+                BOOTP/DHCP.
+
+  <device>      Name of network device to use. If this is empty, all
+                devices are used for RARP/BOOTP/DHCP requests, and the
+                first one we receive a reply on is configured. If you
+                have only one device, you can safely leave this blank.
+
+  <autoconf>	Method to use for autoconfiguration. If this is either
+                'rarp', 'bootp', or 'dhcp' the specified protocol is
+                used.  If the value is 'both', 'all' or empty, all
+                protocols are used.  'off', 'static' or 'none' means
+                no autoconfiguration.
 
 IP addresses and netmasks must be either absent (defaulting to zero)
 or presented in dotted-quad notation.
@@ -52,13 +84,13 @@
 Here are a few examples of valid ipconfig command lines.
 
 Enable the loopback interface:
-    ipconfig 127.0.0.1::::lo:none
+    ipconfig 127.0.0.1:::::lo:none
 
 Try to configure eth0 using bootp for up to 30 seconds:
     ipconfig -t 30 -c bootp eth0
 
 Configure eth0 and eth1 using dhcp or bootp, and eth2 statically:
-    ipconfig -c any eth0 eth1 192.168.1.1::::eth2:none
+    ipconfig -c any eth0 eth1 192.168.1.1:::::eth2:none
 
 --
 
diff --git a/ipconfig/main.c b/ipconfig/main.c
index 57fb874..f4f0a7f 100644
--- a/ipconfig/main.c
+++ b/ipconfig/main.c
@@ -412,7 +412,7 @@
 {
 	unsigned int caps = 0;
 
-	if (*ip == '\0' || strcmp(ip, "on") == 0 || strcmp(ip, "any") == 0)
+	if (*ip == '\0' || strcmp(ip, "on") == 0 || strcmp(ip, "any") == 0 || strcmp(ip, "both") == 0)
 		caps = CAP_BOOTP | CAP_DHCP | CAP_RARP;
 	else if (strcmp(ip, "dhcp") == 0)
 		caps = CAP_BOOTP | CAP_DHCP;
@@ -420,7 +420,7 @@
 		caps = CAP_BOOTP;
 	else if (strcmp(ip, "rarp") == 0)
 		caps = CAP_RARP;
-	else if (strcmp(ip, "none") == 0 || strcmp(ip, "static") == 0)
+	else if (strcmp(ip, "none") == 0 || strcmp(ip, "static") == 0 || strcmp(ip, "off") == 0)
 		goto bail;
 	else {
 		fprintf(stderr, "%s: invalid protocol '%s'\n",
diff --git a/klibc/arch/i386/MCONFIG b/klibc/arch/i386/MCONFIG
index ba1ae9c..2421452 100644
--- a/klibc/arch/i386/MCONFIG
+++ b/klibc/arch/i386/MCONFIG
@@ -13,7 +13,7 @@
 
 gcc_major := $(shell echo __GNUC__ | $(CC) -E -xc - | tail -n 1)
 
-OPTFLAGS = $(REGPARM) -march=i386 -Os
+OPTFLAGS = $(REGPARM) -march=i386 -Os -g
 
 ifeq ($(gcc_major),3)
 REGPARM  := $(REGPARM_OPT)
