Subject: Re: bootmode=c ask for root device
To: DaBar0nZ s0nik42 <s0nik42@hotmail.com>
From: Wayne Knowles <wdk@netbsd.org>
List: port-mipsco
Date: 12/10/2002 20:24:27
Hi,

NetBSD/mipsco doesn't do anything with the bootmode environment
variable - it is only used by the PROM monitor at startup time.

According to the documentation I have:

  If bootmode is c, the PROM monitor does a cold boot.   A cold boot loads
  the file specified by the environment variable bootfile and passes it
  the argument -a.  Typically, bootfile is the standalone shell (sash).
  Sash interprets the -a option as a request to load the operating system
  as specified in the volume header of the device from which sash was
  loaded.

In NetBSD speak, the -a option is a "ask for root device" the logic of
which is defined in sys/boot_flag.h as:

        switch (arg) {                                          \
        case 'a': /* ask for file name to boot from */          \
                (retval) |= RB_ASKNAME;                         \
                break;                                          \

Therefore, it is behaving as expected for NetBSD, but maybe not for
RISC/os

The MD layer is capable of over-riding the behavour, but as it stands it
passes the flags thru for default *BSD type behavour.

If this is causing a problem for you in some way could you give us more
detail on why you consider this an issue.

Wayne


On Mon, 9 Dec 2002, DaBar0nZ s0nik42 wrote:

> Hi,
>
> I crosscompiled a kernel with : "options root on le0 type nfs"
>
> When I boot with bootmode=e or bootmode=a NetBSD boot without asking me for
> root device. In other words, it works.
> But when bootmode=c it still ask me for root device !! Do you have any ideas
> ?
>
> I think that in bootmode=c some prom variables are passed in argument to the
> kernel ?
>
> Regards,
>
> --
> Julien NOEL
>
> >>printenv
> lbaud=9600
> rbaud=9600
> bootfile=bootp()ION.ecoff
> bootmode=c
> console=c
> cpuid=0
> resetepc=0x00000000
> resetra=0x00000000
> version=5.43
> magic=RISCPROM
> vendor=MIPS
> model=Rx3330
> rootname=0
> use_bootparams=0
> keyswtch=0
> keyboard=MIPS
> scsi_id=7
> scsi_reset=1
> bus_test=1
> language=english
> netaddr=172.16.0.4
>
> Autoboot: Waiting to load bootp()ION.ecoff (CTRL-C to abort)
> loading
> Setting $netaddr to 172.16.0.3 (from server 172.16.0.1)
> Obtaining ION.ecoff from server 172.16.0.1
> 1156464+885296+121360 entry: 0x80021000
> invalid bootinfo (standalone boot?)
> Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002
>     The NetBSD Foundation, Inc.  All rights reserved.
> Copyright (c) 1982, 1986, 1989, 1991, 1993
>     The Regents of the University of California.  All rights reserved.
>
> NetBSD 1.6 (ION) #1: Mon Dec  9 05:49:04 CET 2002
>     root@:/usr/src/sys/arch/mipsco/compile/ION
> Mips 3230 Magnum (Pizazz)
> total memory = 128 MB
> avail memory = 116 MB
> using 1664 buffers containing 6656 KB of memory
> mainbus0 (root)
> cpu0 at mainbus0: MIPS R3000A CPU (0x230) Rev. 3.0 with MIPS R3010 FPC Rev.
> 4.0
> cpu0: 32KB/4B direct-mapped Instruction cache, 64 TLB entries
> cpu0: 32KB/4B direct-mapped write-through Data cache
> obio0 at mainbus0
> le0 at obio0 addr 0xba000000: address 00:00:6b:82:5f:2e
> le0: 16 receive buffers, 4 transmit buffers
> mkclock0 at obio0 addr 0xbd000000
> rambo0 at obio0 addr 0xbc000000: parity enabled
> zsc0 at obio0 addr 0xbb000000
> zstty0 at zsc0 channel 0
> zstty1 at zsc0 channel 1 (console i/o)
> asc0 at obio0 addr 0xb8000000: NCR53C94, 24MHz, SCSI ID 7
> scsibus0 at asc0: 8 targets, 8 luns per target
> scsibus0: waiting 2 seconds for devices to settle...
> boot device: <unknown>
> root device:
>
> _________________________________________________________________
> STOP MORE SPAM with the new MSN 8 and get 2 months FREE*
> http://join.msn.com/?page=features/junkmail
>

-- 
Wayne Knowles			NetBSD/mipsco port maintainer
wdk@netbsd.org			http://www.netbsd.org