Re: Make ipconfig.c work as a loadable module.

2 messages, 2 authors, 2003-03-08 · open the first message on its own page

Re: Make ipconfig.c work as a loadable module.

From: Russell King <hidden>
Date: 2003-03-08 16:09:05

On Sat, Mar 08, 2003 at 09:07:11AM -0700, Eric W. Biederman wrote:
With a good bootloader it does not much how big your initrd is.  I
totally agree that small is good and important.  At the same time
ipconfig.c is wrong.  It is great during development and on systems
with a single NIC.  But the hard coded policies can be bad for
production systems.  Not that hard coded policies are bad in general
just the kernel is the wrong place to put them.
With multi-NIC systems, it is perfectly possible to use ipconfig.c with
one specific interface.

/*
 *  Decode any IP configuration options in the "ip=" or "nfsaddrs=" kernel
 *  command line parameter. It consists of option fields separated by colons in
 *  the following order:
 *
 *  <client-ip>:<server-ip>:<gw-ip>:<netmask>:<host name>:<device>:<PROTO>
 *
 *  Any of the fields can be empty which means to use a default value:
 *      <client-ip>     - address given by BOOTP or RARP
 *      <server-ip>     - address of host returning BOOTP or RARP packet
 *      <gw-ip>         - none, or the address returned by BOOTP
 *      <netmask>       - automatically determined from <client-ip>, or the
 *                        one returned by BOOTP
 *      <host name>     - <client-ip> in ASCII notation, or the name returned
 *                        by BOOTP
 *      <device>        - use all available devices
 *      <PROTO>:
 *         off|none         - don't do autoconfig at all (DEFAULT)
 *         on|any           - use any configured protocol
 *         dhcp|bootp|rarp  - use only the specified protocol
 *         both             - use both BOOTP and RARP (not DHCP)
 */

ip=:::::eth0:dhcp

(I haven't actually tried this though.)

However, how do you configure your ramdisk via the boot loader to use
a specific NIC / mount a specific filesystem, etc?

-- 
Russell King (rmk@arm.linux.org.uk)                The developer of ARM Linux
             http://www.arm.linux.org.uk/personal/aboutme.html

Re: Make ipconfig.c work as a loadable module.

From: Eric W. Biederman <hidden>
Date: 2003-03-08 16:38:21

Russell King [off-list ref] writes:
On Sat, Mar 08, 2003 at 09:07:11AM -0700, Eric W. Biederman wrote:
quoted
With a good bootloader it does not much how big your initrd is.  I
totally agree that small is good and important.  At the same time
ipconfig.c is wrong.  It is great during development and on systems
with a single NIC.  But the hard coded policies can be bad for
production systems.  Not that hard coded policies are bad in general
just the kernel is the wrong place to put them.
With multi-NIC systems, it is perfectly possible to use ipconfig.c with
one specific interface.
Sorry.  I expressed that wrong.  It is not multi-NIC that ipconfig.c gets
wrong.  It is multiple DHCP servers.   You just get multiple dhcp
servers when you have multiple NICs.

The policies in ipconfig.c are quite good, they just are not
universally applicable.  But as ipconfig.c is in the kernel it tends
to get used where it is inappropriate.
ip=:::::eth0:dhcp

(I haven't actually tried this though.)
I had forgotten about that one, and I believe it helps in some cases.
 
However, how do you configure your ramdisk via the boot loader to use
a specific NIC / mount a specific filesystem, etc?
I can change the contents of my ramdisk as easily as I can change
the kernel command line.  For the complex setups just placing
a configuration file in the ramdisk is what seems to work the best
in practice.

Eric
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help