Re: New boothowto flag to prevent raid auto-root-configuration

2011-04-18 Thread tsugutomo . enami
Martin Husemann mar...@duskware.de writes:

 What do you think? Better naming suggestion also welcome.

IMHO, root autoconfiguration should be limited to take effect only when
booted device is included in its components.  Since the current behavior
is suprising and inconvinient (I sometimes boot system from pxeboot), my
locally running system is modified so.

enami.


re: New boothowto flag to prevent raid auto-root-configuration

2011-04-18 Thread matthew green

 Martin Husemann mar...@duskware.de writes:
 
  What do you think? Better naming suggestion also welcome.
 
 IMHO, root autoconfiguration should be limited to take effect only when
 booted device is included in its components.  Since the current behavior
 is suprising and inconvinient (I sometimes boot system from pxeboot), my
 locally running system is modified so.

this doesn't work for setups where the root and boot devices are not
the same, which happens to be 2 of my systems.  the root device is
simply not visible at boot time.

what would be great is if the normal selection was told when it has
booted from a raid set, and it could find the right one and use that
device.  this could then work with raidctl -A yes.  that would
allow the majority of installations to skip the forced root magic.

do you think this would be easy based upon your current changes?

since there are valid ways to run that require the forced magic
without special kernel builds (or unwritten code) removing the code
is not really an option.


i think martin should commit his change.  it would allow me to boot
GENERIC on my dev machine that i otherwise have a forced root on nfs
configuration for, as well as solve his install problem.


.mrg.


Re: New boothowto flag to prevent raid auto-root-configuration

2011-04-18 Thread Klaus . Heinz
Martin Husemann wrote:

 as described in PR 44774 (see
 http://gnats.netbsd.org/cgi-bin/query-pr-single.pl?number=44774), it is
 currently not possible to use a standard NetBSD install CD on a system
 wich normally boots from raid (at least on i386, amd64 or sparc64, where
 a stock GENERIC kernel is used).

It looks like this is a similar problem to the one I raised here

  http://mail-index.NetBSD.org/tech-kern/2009/10/31/msg006410.html

Instead of providing RB_NO_ROOT_OVERRIDE I would prefer something that
actually _lets_ me override everything else from boot.cfg.

Quoting Robert Elz from the mentioned thread:

 FWIW, I think the code to allow the user to override that at boot
 time would be a useful addition - while it is possible to boot,
 raidctl -A yes or raidctl -A no, and then reboot, or perhaps
 boot -a on systems that support that, but that's a painful
 sequence of operations for what should be a simple task.
 
 It should always be
   1. what the user explicitly asks for
   2. what the kernel has built in
   3. hacks like ratdctl -A root (or perhaps similar things for cgd etc)
   4. where I think I came from


ciao
 Klaus


Re: New boothowto flag to prevent raid auto-root-configuration

2011-04-18 Thread Martin Husemann
On Mon, Apr 18, 2011 at 01:06:23PM +0200, Klaus . Heinz wrote:
 Instead of providing RB_NO_ROOT_OVERRIDE I would prefer something that
 actually _lets_ me override everything else from boot.cfg.

Yes, I understand this wish (and it is not that hard to implement).
However, I think both are quite orthogonal and should be discussed separately.

Note that especially for the install CD setup, a rootstring passed from
boot.cfg is *not* possible, as we do not know which CD drive is used
for booting.

Martin


Re: New boothowto flag to prevent raid auto-root-configuration

2011-04-18 Thread Izumi Tsutsui
 Note that especially for the install CD setup, a rootstring passed from
 boot.cfg is *not* possible, as we do not know which CD drive is used
 for booting.

FYI, see also PR port-i386/39998 and x86_autoconf.c:

  /*
   * XXX
   * There is no proper way to detect which unit is
   * recognized as a bootable CD-ROM drive by the BIOS.
   * Assume the first unit is the one.
   */

I.e. currently only root on cd0a works on x86 GENERIC anyway.

---
Izumi Tsutsui


Re: New boothowto flag to prevent raid auto-root-configuration

2011-04-18 Thread Martin Husemann
On Mon, Apr 18, 2011 at 11:59:32PM +0900, Izumi Tsutsui wrote:
 I thought passing root on cd0a from boot.cfg just worked on x86..

Maybe, but I'm not talking about x86 only.

Martin


Re: New boothowto flag to prevent raid auto-root-configuration

2011-04-18 Thread Greg Oster
On Mon, 18 Apr 2011 13:06:23 +0200
Klaus . Heinz k.he...@aprelf.kh-22.de wrote:

 Martin Husemann wrote:
 
  as described in PR 44774 (see
  http://gnats.netbsd.org/cgi-bin/query-pr-single.pl?number=44774),
  it is currently not possible to use a standard NetBSD install CD on
  a system wich normally boots from raid (at least on i386, amd64 or
  sparc64, where a stock GENERIC kernel is used).
 
 It looks like this is a similar problem to the one I raised here
 
   http://mail-index.NetBSD.org/tech-kern/2009/10/31/msg006410.html
 
 Instead of providing RB_NO_ROOT_OVERRIDE I would prefer something that
 actually _lets_ me override everything else from boot.cfg.

So how about adding another flag like RB_ROOT_EXPLICIT OR
RB_EXPLICIT_ROOT with the idea being that the user has to explicitly
specify what the root is going to be?  I think that addresses 1) below
and would hopefully handle the pxeboot and NFS root situations.  Maybe
something like RB_SET_ROOT with a required option of NFS or raid0
or wd0a or pxe or whatever would be the way to go?

I've never liked the 'yank root away from the boot device that the
system thinks it maybe booted from' hack in RAIDframe, so anything we
can do to make it better is fine by me

We may need both RB_NO_ROOT_OVERRIDE and this new flag in order to get
everything covered, and I'm fine with that too...

 Quoting Robert Elz from the mentioned thread:
 
  FWIW, I think the code to allow the user to override that at boot
  time would be a useful addition - while it is possible to boot,
  raidctl -A yes or raidctl -A no, and then reboot, or perhaps
  boot -a on systems that support that, but that's a painful
  sequence of operations for what should be a simple task.
  
  It should always be
1. what the user explicitly asks for
2. what the kernel has built in
3. hacks like ratdctl -A root (or perhaps similar things
  for cgd etc) 4. where I think I came from
 
 
 ciao
  Klaus


Later...

Greg Oster


Re: New boothowto flag to prevent raid auto-root-configuration

2011-04-18 Thread Brian Buhrow
Hello Martin.  Doesn't boot -a  already do this by allowing you to
select the root filesystem and the init path?  I'm certain I've booted
systems running with raid roots off of cdroms for repair purposes.
-Brian

On Apr 18,  7:41am, Martin Husemann wrote:
} Subject: New boothowto flag to prevent raid auto-root-configuration
} 
} --6c2NcOVqGQ03X4Wi
} Content-Type: text/plain; charset=us-ascii
} Content-Disposition: inline
} 
} Hi folks,
} 
} as described in PR 44774 (see
} http://gnats.netbsd.org/cgi-bin/query-pr-single.pl?number=44774), it is
} currently not possible to use a standard NetBSD install CD on a system
} wich normally boots from raid (at least on i386, amd64 or sparc64, where
} a stock GENERIC kernel is used).
} 
} To fix this, I'd like to introduce a new boothowto flag, that turns off
} all magic to override the root device (for now: turns off the root part
} of raidframe autoconfiguration, but could do similar things in the future
} with LVM or whatever).
} 
} The patch attched does this. It will be accompanied by bootloader changes to
} set this flag if a new keyword is present in /boot.cfg.
} 
} What do you think? Better naming suggestion also welcome.
} 
} Martin
} 
} 
} --6c2NcOVqGQ03X4Wi
} Content-Type: text/plain; charset=us-ascii
} Content-Disposition: attachment; filename=rf.patch
} 
} Index: sys/reboot.h
} ===
} RCS file: /cvsroot/src/sys/sys/reboot.h,v
} retrieving revision 1.25
} diff -c -u -r1.25 reboot.h
} --- sys/reboot.h  25 Dec 2007 18:33:48 -  1.25
} +++ sys/reboot.h  18 Apr 2011 05:34:01 -
} @@ -53,6 +53,9 @@
}  #define  RB_STRING   0x0400  /* use provided bootstr */
}  #define  RB_POWERDOWN(RB_HALT|0x800) /* turn power off (or at least 
halt) */
}  #define RB_USERCONF  0x1000  /* change configured devices */
} +#define  RB_NO_ROOT_OVERRIDE 0x2000  /* no automatic override of the 
booted
} +  * device, like raidframes auto
} +  * root configuration */
}  
}  /*
}   * Extra autoboot flags (passed by boot prog to kernel). See also
} Index: dev/raidframe/rf_netbsdkintf.c
} ===
} RCS file: /cvsroot/src/sys/dev/raidframe/rf_netbsdkintf.c,v
} retrieving revision 1.284
} diff -c -u -r1.284 rf_netbsdkintf.c
} --- dev/raidframe/rf_netbsdkintf.c18 Mar 2011 23:53:26 -  1.284
} +++ dev/raidframe/rf_netbsdkintf.c18 Apr 2011 05:34:01 -
} @@ -465,7 +465,7 @@
}   /* if the user has specified what the root device should be
}  then we don't touch booted_device or boothowto... */
}  
} - if (rootspec != NULL)
} + if ((rootspec != NULL) || (boothowto  RB_NO_ROOT_OVERRIDE))
}   return;
}  
}   /* we found something bootable... */
} 
} --6c2NcOVqGQ03X4Wi--
-- End of excerpt from Martin Husemann