Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 1 Dec 1997 03:17:40 -0800 (PST)
From:      Julian Elischer <julian@FreeBSD.ORG>
To:        hackers@FreeBSD.ORG
Cc:        -@FreeBSD.ORG, current@FreeBSD.ORG
Subject:   SLICE/DEVFS code
Message-ID:  <199712011117.DAA25478@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

A new version is in 
ftp://hub.freebsd.org/pub/scsi/slice.tar.gz
(a symlink to slice2.tar.gz)

differences:
a sample /etc/rc showing changes (look for 'DEVFS')
a sysctl variable kern.slicexclusive
that defines how secure/safe the slice code is.
0-> you can shoot yourself in the foot (e.g. overwrite the disklabel
of a disk on which there are active partitions.
1-> you can only read from devices that underlie open partitions.
2-> you cannot even do that.

You need it set to 0 to be able to fsck the root partiton during bootup.
It should then be set to 1. (see the sample rc)

Code greatly cleaned up. common routines used
for many things tha were done separatly before.

Several memory leaks plugged.
Self-hosting here.  (on SCSI) Seems reliable. I haven't lost anything
after multiple reboots and compiles.
Boots to multi-user mode unassisted and runs reliably.

The file ide.c hasn't been tested for a while and is a copy of wd.c with 
all un-needed stuff stripped. The IDE version WORKS but is not as tested,
and I did see some complaints from the driver I hav enot tracked down.
something to do with an unknown state.


once again..
you must have the full names of devices in /etc/fstab

mine looks like:
devfs                   /dev                    devfs   rw 1 1
/dev/sd1s1a             /                       ufs     rw 1 1
/dev/sd0s2d             /usr                    ufs     rw,async,noatime 1 2
/dev/sd1s1d             /tmp                    ufs     rw,async,noatime 1 2
/dev/sd1s1e             /var                    ufs     rw 1 3
/dev/sd2s1d             /usr/ports              ufs     rw,async,noatime 1 4
/dev/sd1s1g             /usr/ports/distfiles    ufs     rw,async,noatime 1 4
/dev/sd2s1e             /usr/src                ufs     rw,async,noatime 1 4
/dev/sd1s1f             /usr/obj                ufs     rw,async,noatime 1 4
/dev/sd0s2a             /usr/obj/usr/src/tmp    ufs     rw,async,noatime 1 1

/dev/sd0s2b             none                    swap    sw 0 0
/dev/sd1s1b             none                    swap    sw 0 0
/dev/sd2s1b             none                    swap    sw 0 0
proc                    /proc                   procfs  rw 0 0
/dev/cd0a               /cdrom                  cd9660  ro,noauto 0 0
/dev/sd0s1              /c                      msdos   rw,noauto 0 0

To be able to boot back and forth,
you need ds0s1a to be a link to sd0a (for example)
otherwise the old kernel will reject the root entry in the fstab above,
as it requires the sd0a minor numbers.
the new code however requires the full NAME (sd0s1a)
(it does things by name rather than by number)

comments solicited.

julian





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199712011117.DAA25478>