Subject: Re: New stuff on lamp
To: None <port-atari@NetBSD.ORG>
From: Leo Weppelman <leo@ahwau.ahold.nl>
List: port-atari
Date: 05/07/1995 16:37:44
Hi Waldi,
> 
> >     - netsbsd.3.gz/netbsd.3 (in kernels)
> 
> First visible difference with vs. 2: no more `dma-ready: code 2'.
I disabled parity checking on all SCSI-devices by default. It doesn't
seem to work for certain devices on the TT. I have trouble with it
with my 240Mb maxtor and my tandberg.
> 
> >       of a joke because I was able to mount all my ufs partitions as
> >       MSDOS filesystems. This is probably due to the fact that the
> >       Atari AHDI program always creates a MSDOS-filesystem on each
> >       partition it creates and newfs does not wipe-out the first
> >       block of the filesystem as it considers it a bootblock.
> 
> Well, HDX is pretty obsolete and no longer supported. Other format/
> partition tools do a better job. It would be possible to do all kinds
> of checks to decide whether a partition really contains a FAT fs, but
> who cares? It's fairly easy to write all zeroes in sector 0 with dd.
True.

> 
> >       I also modified the floppy driver because HD floppies could
> >       not work. If they work now, I don't know because I can't test
> >       it.
> 
> After remounting the rootfs I tried to create entries for fd0c:
> 
> 	mknod fd0c b 2 2
> 	mknod rfd0c c 16 2
> 	newfs -N /dev/rfd0c
> 	=> device not configured
> 
> I suppose the minor number was wrong, what is the correct number?
The numbers are correct the driver obviously is not. You probably get
an I/O error. Try dd-ing from it. If this does not work, I probably
flip the wrong bits for the clockrate or floppy density line. It's
hard to write drivers for things you don't have :-(
> 
> 
> Here's what happens with the CD-ROM:
> 
> 	disklabel /dev/rcd0a
> 	type: SCSI
> 	disk: SCSI CD-ROM
> 	label: fictitious
> 	flags: removable
> 	bytes/sector: 2048
> 	sectors/track: 100
> 	tracks/cylinder: 1
> 	sectors/cylinder: 100
> 	cylinders: 2950
> 	rpm: 300
> 	interleave: 1
> 	...
> so far, so good.
> 
> 	1 partitions:
> 	...
> 	a: 1179604	0	ISO9660		(Cyl. 0-11796*)
> 	disklabel: boot block size 0
> 	disklabel: super block size 0
> 	disklabel: partition a: partition extends past end of unit
> yep, ~1.6 GB. :-)
I took a look at the code. The partion (a) size is calculated as:
	sec_per_unit * (sector_size / DEV_BSIZE)
filling in the blanks yields:
	(2950*100) * 4 = 1180000 blocks = +/- 600Kb

This seems Ok, the problem is (I think) that sec_per_unit is kept in #sectors
of 2048 bytes while the partition sizes are kept in 512 byte blocks and
disklabel thinks it can just check :
	(part_size + part_offset) < sec_per_unit !???
I don't know who is at fault here. This should have occured to someone
else before! I will check the current source trees!
> 
> 	mount_cd9660 /dev/cd0a /mnt
> 	=> operation not supported by device

Leo.