[comp.sys.next] How to boot by default fom an external disk.

felix@ai.sri.com (Francois Felix INGRAND) (04/21/91)

We just built an external bootable disk for our NeXT Station, and we would like
to boot on it by default.

the command to boot on it is:
b sd(1,0,0)sdmach rootdev=/dev/sd1a

(if we do not specify the rootdev argument, it boots on /dev/sd1a but switch to
/dev/sd0a as root partition)

As a result this command is too long (>12 characters) and cannot be given as
the default boot command in the Console monitor.

Is there any way (without rebuilding the kernel) to specify that the rootdev is
now /dev/sd1a? (so we could avoid the rootdev argument and therefore use a
shorter command)

If this is not possible, how can we change the scsi number of the internal
disk?... My guess is that if we give it a higher number than the external one,
them their names will swap (sd1a sd0a)...

Thanks in advance,
--
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Francois Felix INGRAND                          SRI International, AIC
felix@AI.SRI.COM                                333, Ravenswood Avenue
(415) 859-5584                                  MENLO PARK, CA 94025, USA
"Read my Lisp... No new syntax" (nil)

izumi@mindseye.berkeley.edu (Izumi Ohzawa) (04/21/91)

In article <FELIX.91Apr20165256@cayucos.ai.sri.com>
 felix@ai.sri.com (Francois Felix INGRAND) writes:
>
>We just built an external bootable disk for our NeXT Station, and we would like
>to boot on it by default.

You can change the SCSI ID (target number) of the external drive
to 0.  Then, the external drive becomes /dev/sd0a, and internal
drive will become /dev/sd1a (device names will swap).  It should
then boot from the external drive by default.

As shipped, NeXTstaion 105MB disk has the SCSI ID (target) of 1.
This is the lowest numbered ID normally, and NeXT will boot
from the device with the smallest SCSI ID.
If you put a disk of ID=0, then that will become the boot device.

You can open up the slab and raise the SCSI ID of the internal
drive to a number larger than the ID of the external drive, 
but you may have to remove the drive to change it.
Usually, SCSI ID jumpers are on the drive PC board, which may
not be easily accessible.

This is explained in NextAnswers somewhere.  Search with keyword
"scsi", if you have it.


Izumi Ohzawa             [ $@Bg_78^=;(J ]
USMail: University of California, 360 Minor Hall, Berkeley, CA 94720
Telephone: (415) 642-6440             Fax:  (415) 642-3323
Internet: izumi@violet.berkeley.edu   NeXTmail: izumi@pinoko.berkeley.edu 

kls30@duts.ccc.amdahl.com (Kent L Shephard) (04/22/91)

In article <FELIX.91Apr20165256@cayucos.ai.sri.com> felix@ai.sri.com (Francois Felix INGRAND) writes:
>
>We just built an external bootable disk for our NeXT Station, and we would like
>to boot on it by default.
>
>the command to boot on it is:
>b sd(1,0,0)sdmach rootdev=/dev/sd1a
>
>(if we do not specify the rootdev argument, it boots on /dev/sd1a but switch to
>/dev/sd0a as root partition)
>
>As a result this command is too long (>12 characters) and cannot be given as
>the default boot command in the Console monitor.
>
>Is there any way (without rebuilding the kernel) to specify that the rootdev is
>now /dev/sd1a? (so we could avoid the rootdev argument and therefore use a
>shorter command)
>
>If this is not possible, how can we change the scsi number of the internal
>disk?... My guess is that if we give it a higher number than the external one,
>them their names will swap (sd1a sd0a)...
>

All internal drives in NeXT machines should be shipped with the internal
at SCSI address #1  what you need to do is changet your external device to
SCSI address #0.  It should then boot from the external by just giving
the command bsd.

Device numbers (/dev/sdxx) are assigned to SCSI devices by starting with
the lowest SCSI # and naming it /dev/sd0a the next would be /dev/sd1a.
The device number does not equal SCSI #.

>Thanks in advance,

Hope this helps.

>--
>-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
>Francois Felix INGRAND                          SRI International, AIC
>felix@AI.SRI.COM                                333, Ravenswood Avenue
>(415) 859-5584                                  MENLO PARK, CA 94025, USA
>"Read my Lisp... No new syntax" (nil)

           KeNT - A satified user.  I would be more satisfied when someone
                  writes a sequencer so I can dump my PC.
--
/*  -The opinions expressed are my own, not my employers.    */
/*      For I can only express my own opinions.              */
/*                                                           */
/*   Kent L. Shephard  : email - kls30@DUTS.ccc.amdahl.com   */

felix@ai.sri.com (Francois Felix INGRAND) (04/23/91)

Well, thanks to all of those who answered. 

The easy way is to set the external scsi address to 0. As the internal disk is
address 1, the sd0 will then be the external. Another way is to change the
address of the internal disk to raise it above the address of the external one.

However, I am still curious about knowing how one can change the default
rootdev of an existing kernel (I am not even sure this information is stored in
the kernel).
--
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Francois Felix INGRAND                          SRI International, AIC
felix@AI.SRI.COM                                333, Ravenswood Avenue
(415) 859-5584                                  MENLO PARK, CA 94025, USA
"Read my Lisp... No new syntax" (nil)