Subject: Re: Kernel debugger?
To: None <port-pmax@NetBSD.ORG>
From: Toru Nishimura <nisimura@is.aist-nara.ac.jp>
List: port-pmax
Date: 05/15/1998 09:40:01
	[ ... how to disable kernel debugger ... ]

> I've got a problem: At our computer club a member found an interesting hole
> in our security. 
> He pressed a key called "Utf=F6r" (swedish keyboard - "Do"?)
> and immediately some sort of kernel debugger appeared. This is obviously a
> tremendous security problem to us. What do I need to do to remove this
> feature?

Remove "options DDB" line from your configuration file and recompile kernel.

> we need to have a few hard
> drives connected to it, but it seems (at least with earlier versions of
> NetBSD) that you can't have SCSI IDs >4 for hard drives. How do I fix this?

Current implementation of NetBSD/pmax SCSI subsystem statically
assigns (i.e., pre-configure inside kernel) SCSI IDs to either disk or
tape drives.   Put modications in two files and recompile a kernel.

/sys/arch/pmax/pmax/conf-glue.c, your file should look like;

#if NASC > 0
# if NRZ > 0
{ &rzdriver,    &ascdriver,     0,      0,      0,      0,      1,      0x0 },
{ &rzdriver,    &ascdriver,     1,      0,      1,      0,      1,      0x0 },
{ &rzdriver,    &ascdriver,     2,      0,      2,      0,      1,      0x0 },
{ &rzdriver,    &ascdriver,     3,      0,      3,      0,      1,      0x0 },
{ &rzdriver,    &ascdriver,     4,      0,      4,      0,      1,      0x0 },

# if NRZ > 7  
{ &rzdriver,    &ascdriver,     8,      1,      0,      0,      1,      0x0 },
{ &rzdriver,    &ascdriver,     9,      1,      1,      0,      1,      0x0 },
         ...

Add two lines below SCSI#4 configration;

{ &rzdriver,    &ascdriver,     5,      0,      5,      0,      1,      0x0 },
{ &rzdriver,    &ascdriver,     6,      0,      6,      0,      1,      0x0 },


And, two line addition in /sys/arch/pmax/conf/GENERIC;

rz3     at      oldscsibus?     target ? drive ?
rz4     at      oldscsibus?     target ? drive ?
rz5     at      oldscsibus?     target ? drive ?       <------- this
rz6     at      oldscsibus?     target ? drive ?       <------- and this
tz0     at      oldscsibus?     target ? drive ? 

Here goes a brief description of how to build your own kernel.

# cd /sys/arch/pmax/pmax
# <edit conf-glue.c file appropriately>
# cd /sys/arch/pmax/conf/
# cp GENERIC <YOUR_OWN_NAME>
# <edit your file> 
# /usr/sbin/config <YOUR_OWN_NAME>
# cd ../compile/YOUR_OWN_NAME
# make depend && make -j 2 netbsd         ....takes long time to complete....
# cp netbsd.aout /xnetbsd

And reboot your system with the new kernel named "xnetbsd", and try to
see whether it works.  If things well done;

# mv /netbsd /onetbsd
# mv /xnetbsd /netbsd

Tohru Nishimura
Nara Institute of Science and Technology