Re: Mounting ULTRIX CDROMs on Linux

2021-07-27 Thread John-Paul Stewart via cctalk
On 2021-07-26 9:34 a.m., Maciej W. Rozycki via cctalk wrote:
> On Fri, 21 May 2021, Maciej W. Rozycki wrote:
> 
>>  ISTR upstreaming some fixes to Linux UFS support 20+ years ago to address 
>> this very problem (IIRC OSF/1 or Digital Unix CD-ROMs were also UFS, and I 
>> had a need to access them under Linux for some reason) and with them in 
>> place I thought the loop device hack was not needed anymore.
>>
>>  Perhaps my memory tricks me or something has since regressed though, e.g. 
>> due to changes in the block layer, so I'll try to remember to see what's 
>> happened here when I get to my Ultrix CDs when I'm in my remote lab next 
>> time.  It's not a feature that's used on a regular basis after all, so any 
>> regression can be long-lived.
> 
>  I remembered right.  An old Linux 2.4.26 kernel binary mounts a UFS CD 
> here using the old IDE hardware driver just fine with no need for block 
> size translation via the loop device:
> 
> # mount -t ufs -o ro,ufstype=old /dev/hdc /mnt/cdrom
> # mount | grep ufs
> /dev/hdc on /mnt/cdrom type ufs (ro,ufstype=old)
> # uname -a
> Linux (none) 2.4.26 #8 SMP Sat Aug 14 21:00:06 CEST 2004 i586 unknown unknown 
> GNU/Linux
> # 
> 
> Not anymore with Linux 2.6.18 or anything newer:
> 
> # mount -t ufs -o ro,ufstype=old /dev/hdc /mnt/cdrom
> mount: wrong fs type, bad option, bad superblock on /dev/hdc,
>or too many mounted file systems
> # dmesg | tail -n 1
> UFS: failed to set blocksize
> # mount -t ufs -o loop,ro,ufstype=old /dev/hdc /mnt/cdrom
> # mount | grep ufs
> /dev/hdc on /mnt/cdrom type ufs (ro,loop=/dev/loop0,ufstype=old)
> # uname -a
> Linux (none) 2.6.18 #9 SMP Sun Nov 26 18:31:10 GMT 2017 i586 unknown unknown 
> GNU/Linux
> # 
> 
> So we do have a regression here, sigh.  

Thanks for the analysis.  I would have speculated that the difference
was in the SCSI CD-ROM driver for /dev/sr* devices since those are what
are used in modern Linux distributions.  But your results quite clearly
show that's not the case.  It also shows just how long ago the change
happened.  Very interesting.


Re: Mounting ULTRIX CDROMs on Linux

2021-07-26 Thread Maciej W. Rozycki via cctalk
On Fri, 21 May 2021, Maciej W. Rozycki wrote:

>  ISTR upstreaming some fixes to Linux UFS support 20+ years ago to address 
> this very problem (IIRC OSF/1 or Digital Unix CD-ROMs were also UFS, and I 
> had a need to access them under Linux for some reason) and with them in 
> place I thought the loop device hack was not needed anymore.
> 
>  Perhaps my memory tricks me or something has since regressed though, e.g. 
> due to changes in the block layer, so I'll try to remember to see what's 
> happened here when I get to my Ultrix CDs when I'm in my remote lab next 
> time.  It's not a feature that's used on a regular basis after all, so any 
> regression can be long-lived.

 I remembered right.  An old Linux 2.4.26 kernel binary mounts a UFS CD 
here using the old IDE hardware driver just fine with no need for block 
size translation via the loop device:

# mount -t ufs -o ro,ufstype=old /dev/hdc /mnt/cdrom
# mount | grep ufs
/dev/hdc on /mnt/cdrom type ufs (ro,ufstype=old)
# uname -a
Linux (none) 2.4.26 #8 SMP Sat Aug 14 21:00:06 CEST 2004 i586 unknown unknown 
GNU/Linux
# 

Not anymore with Linux 2.6.18 or anything newer:

# mount -t ufs -o ro,ufstype=old /dev/hdc /mnt/cdrom
mount: wrong fs type, bad option, bad superblock on /dev/hdc,
   or too many mounted file systems
# dmesg | tail -n 1
UFS: failed to set blocksize
# mount -t ufs -o loop,ro,ufstype=old /dev/hdc /mnt/cdrom
# mount | grep ufs
/dev/hdc on /mnt/cdrom type ufs (ro,loop=/dev/loop0,ufstype=old)
# uname -a
Linux (none) 2.6.18 #9 SMP Sun Nov 26 18:31:10 GMT 2017 i586 unknown unknown 
GNU/Linux
# 

So we do have a regression here, sigh.  I'll see what I can do about it, 
but it'll have to wait a bit as I won't have local lab access for a while 
and I dare not leaving a CD in the drive while I am away.

  Maciej


Re: Mounting ULTRIX CDROMs on Linux

2021-05-20 Thread John-Paul Stewart via cctalk
On 2021-05-20 4:49 p.m., Antonio Carlini via cctalk wrote:
> 
> Great, thanks for that. I would probably have never guessed that I
> needed loop.

I'm glad it worked.  I still find it illogical to loop mount a device,
but it works.  I never would have figured it out on my own either.  I
don't remember who taught me that trick so I can't give credit where it
is due.


Re: Mounting ULTRIX CDROMs on Linux

2021-05-20 Thread John-Paul Stewart via cctalk
On 2021-05-20 5:05 p.m., Jonathan Stone via cctalk wrote:
> 
> What does one have to do (Linux, MacOS, *BSD) to write such an image
> to the CD with 512-byte blocks, so it can be read by a DEC boot-ROM?  

There's nothing special needed to write the disk -- just burn it the way
you would any other ISO image.  It is the filesystem contained in that
disk image that determines block size.


Re: Mounting ULTRIX CDROMs on Linux

2021-05-20 Thread Maciej W. Rozycki via cctalk
On Thu, 20 May 2021, Christian Groessler via cctalk wrote:

> IIRC I had burned the Ultrix CD "normally" (means without fiddling with block
> size, so not 512), but changed the block size to 512 for booting it. IIRC #2,
> burning was done on another drive, not the Plextor.

 CD-ROM medium format has been standardised and what I guess the 512-byte 
sector size jumper only does is logical translation of sector addressing 
to fulfil weird OS requirements.  So that will not affect burning (unless 
you burn on a weird OS, which I guess does not support it anyway).

 ISTR upstreaming some fixes to Linux UFS support 20+ years ago to address 
this very problem (IIRC OSF/1 or Digital Unix CD-ROMs were also UFS, and I 
had a need to access them under Linux for some reason) and with them in 
place I thought the loop device hack was not needed anymore.

 Perhaps my memory tricks me or something has since regressed though, e.g. 
due to changes in the block layer, so I'll try to remember to see what's 
happened here when I get to my Ultrix CDs when I'm in my remote lab next 
time.  It's not a feature that's used on a regular basis after all, so any 
regression can be long-lived.

  Maciej


Re: Mounting ULTRIX CDROMs on Linux

2021-05-20 Thread Christian Groessler via cctalk

More top-post alert! :-)


IIRC I had burned the Ultrix CD "normally" (means without fiddling with 
block size, so not 512), but changed the block size to 512 for booting 
it. IIRC #2, burning was done on another drive, not the Plextor.



regards,
chris


On 5/20/21 11:26 PM, Jonathan Stone wrote:


[[ apologies for top-post: Y! issue ]]

I know that to be bootable on DECstation/VAX/early Alpha, CD-ROMs 
needs to be jumpered to 512-byte blocks. Like RRD4x.


Does the burning CD write need to be jumpered to 512-bytes? Or can one 
write on a "normal" CD burner, then read on a 512-byte-block CD-ROM ? 
If the former, I guess I'll have to find an old, 512-byte-block 
jumperable SCSI CD burner.
On Thursday, May 20, 2021, 02:15:39 PM PDT, Christian Groessler via 
cctalk  wrote:



On 5/20/21 11:05 PM, Jonathan Stone via cctalk wrote:
>  MacOS (Mojave) can mount an image read from a 512-byte UFS CD.
>
> What does one have to do (Linux, MacOS, *BSD) to write such an image 
to the CD with 512-byte blocks, so it can be read by a DEC boot-ROM?



I think that's a property of the CD drive, not the disk itself.

I've got a Plextor CD writer which can be jumpered between 2048 and 512

byte blocks.


I was able to boot the Ultrix installation CD (MIPS) on a DECServer.

regards,
chris





Re: Mounting ULTRIX CDROMs on Linux

2021-05-20 Thread Jonathan Stone via cctalk
 
[[ apologies for top-post: Y! issue ]]

I know that to be bootable on DECstation/VAX/early Alpha, CD-ROMs needs to be 
jumpered to 512-byte blocks. Like RRD4x.

Does the burning CD write need to be jumpered to 512-bytes? Or can one write on 
a "normal" CD burner, then read on a 512-byte-block CD-ROM ? If the former, I 
guess I'll have to find an old, 512-byte-block jumperable SCSI CD burner.
 On Thursday, May 20, 2021, 02:15:39 PM PDT, Christian Groessler via cctalk 
 wrote:  
 
 On 5/20/21 11:05 PM, Jonathan Stone via cctalk wrote:
>  MacOS (Mojave) can mount an image read from a 512-byte UFS CD.
>
> What does one have to do (Linux, MacOS, *BSD) to write such an image to the 
> CD with 512-byte blocks, so it can be read by a DEC boot-ROM?


I think that's a property of the CD drive, not the disk itself.

I've got a Plextor CD writer which can be jumpered between 2048 and 512 
byte blocks.

I was able to boot the Ultrix installation CD (MIPS) on a DECServer.

regards,
chris


  


Re: Mounting ULTRIX CDROMs on Linux

2021-05-20 Thread Christian Groessler via cctalk

On 5/20/21 11:05 PM, Jonathan Stone via cctalk wrote:

  MacOS (Mojave) can mount an image read from a 512-byte UFS CD.

What does one have to do (Linux, MacOS, *BSD) to write such an image to the CD 
with 512-byte blocks, so it can be read by a DEC boot-ROM?



I think that's a property of the CD drive, not the disk itself.

I've got a Plextor CD writer which can be jumpered between 2048 and 512 
byte blocks.


I was able to boot the Ultrix installation CD (MIPS) on a DECServer.

regards,
chris




Re: Mounting ULTRIX CDROMs on Linux

2021-05-20 Thread Jonathan Stone via cctalk
 MacOS (Mojave) can mount an image read from a 512-byte UFS CD. 

What does one have to do (Linux, MacOS, *BSD) to write such an image to the CD 
with 512-byte blocks, so it can be read by a DEC boot-ROM?  


Re: Mounting ULTRIX CDROMs on Linux

2021-05-20 Thread Antonio Carlini via cctalk

On 20/05/2021 21:11, John-Paul Stewart via cctalk wrote:


Setting ufstype=sun will indeed work for loopback mounting Ultrix CD images.

With physical CDs, the Linux CD-ROM driver expects the filesystem to use
2048 byte blocks but the UFS CDs have 512 byte blocks.  So you'll also
have to add "loop" to the options:

sudo mount -t ufs -o ro,ufstype=sun,loop /dev/sr1 /tmp/mount

That will mount the physical CD using a loopback device so you can
access the 512 byte per block filesystem.  (FWIW, I learned that trick
with IRIX EFS CDs, which have the same problem.)


We have a winner:

$ ls /tmp/mount/decw_book/
bookbrowser  d3b0aa70.decw_book d3knaa23.decw_book   
d3s1aa97.decw_book d5e5aaa8.decw_book   dh87zaa1.decw_bookshelf 
dt59aaa8.decw_book
BRM410   d3b0aa71.decw_book d3knaa24.decw_book   
d3s1aaa1.decw_book d5e5aaa9.decw_book   dhqdaa11.decw_book 
dt59aaa9.decw_book
BRV410   d3b0aa72.decw_book d3knaa25.decw_book   
d3s1aaa2.decw_book d5e5zaa2.decw_bookshelf  dhu3aaa3.decw_book 
dt59zaa1.decw_bookshelf
d296aaa1.decw_book   d3b0aa73.decw_book d3knaa26.decw_book   
d3s1aaa3.decw_book d8dlaaa1.decw_book   dhu3aaa4.decw_book 
dt59zaa2.decw_bookshelf
d296aaa2.decw_book   d3b0aaa1.decw_book d3knaa27.decw_book   
d3s1aaa4.decw_book d8dlaaa6.decw_book   dhu3zaa2.decw_bookshelf 
dt59zaa3.decw_bookshelf

...


Great, thanks for that. I would probably have never guessed that I 
needed loop.



Antonio


--
Antonio Carlini
anto...@acarlini.com



Re: Mounting ULTRIX CDROMs on Linux

2021-05-20 Thread Malte Dehling via cctalk
On Thu, May 20, 2021 at 04:11:18PM -0400, John-Paul Stewart via cctalk wrote:
> On 2021-05-20 4:01 p.m., Warner Losh via cctalk wrote:
> > On Thu, May 20, 2021 at 1:56 PM Antonio Carlini via cctalk <
> > cctalk@classiccmp.org> wrote:
> > 
> >> I'm running Linux Mint (an ubuntu derivative) and I want to mount ULTRIX
> >> CDROM discs to see what I can see.
> >>
> >> (I'm eventually going to image these, but I presume that will "just
> >> work" with dd or ddrescue).
> >>
> >> They are supposed to be UFS format (according to the net) and that
> >> usually means you have to tell mount exactly which option to use (as not
> >> all UFS implementations are compatible).
> >>
> >> I've tried (all the options I can find) and failed:
> >>
> >> $ sudo mount -t ufs  -o ufstype=44bsd /dev/sr1 /tmp/mount
> > 
> > 44bsd is likely too new. ufstype=old or =sunos or =sun might work.
> 
> Setting ufstype=sun will indeed work for loopback mounting Ultrix CD images.
> 
> With physical CDs, the Linux CD-ROM driver expects the filesystem to use
> 2048 byte blocks but the UFS CDs have 512 byte blocks.  So you'll also
> have to add "loop" to the options:
> 
> sudo mount -t ufs -o ro,ufstype=sun,loop /dev/sr1 /tmp/mount
> 
> That will mount the physical CD using a loopback device so you can
> access the 512 byte per block filesystem.  (FWIW, I learned that trick
> with IRIX EFS CDs, which have the same problem.)

Wow!

I never expected to learn something new about mounting CDs tonight :-)

Thanks!


-- 
Malte Dehling



Re: Mounting ULTRIX CDROMs on Linux

2021-05-20 Thread John-Paul Stewart via cctalk
On 2021-05-20 4:01 p.m., Warner Losh via cctalk wrote:
> On Thu, May 20, 2021 at 1:56 PM Antonio Carlini via cctalk <
> cctalk@classiccmp.org> wrote:
> 
>> I'm running Linux Mint (an ubuntu derivative) and I want to mount ULTRIX
>> CDROM discs to see what I can see.
>>
>> (I'm eventually going to image these, but I presume that will "just
>> work" with dd or ddrescue).
>>
>> They are supposed to be UFS format (according to the net) and that
>> usually means you have to tell mount exactly which option to use (as not
>> all UFS implementations are compatible).
>>
>> I've tried (all the options I can find) and failed:
>>
>> $ sudo mount -t ufs  -o ufstype=44bsd /dev/sr1 /tmp/mount
> 
> 44bsd is likely too new. ufstype=old or =sunos or =sun might work.

Setting ufstype=sun will indeed work for loopback mounting Ultrix CD images.

With physical CDs, the Linux CD-ROM driver expects the filesystem to use
2048 byte blocks but the UFS CDs have 512 byte blocks.  So you'll also
have to add "loop" to the options:

sudo mount -t ufs -o ro,ufstype=sun,loop /dev/sr1 /tmp/mount

That will mount the physical CD using a loopback device so you can
access the 512 byte per block filesystem.  (FWIW, I learned that trick
with IRIX EFS CDs, which have the same problem.)


Re: Mounting ULTRIX CDROMs on Linux

2021-05-20 Thread Malte Dehling via cctalk
On Thu, May 20, 2021 at 02:01:21PM -0600, Warner Losh via cctalk wrote:
> On Thu, May 20, 2021 at 1:56 PM Antonio Carlini via cctalk <
> cctalk@classiccmp.org> wrote:
> 
> > I'm running Linux Mint (an ubuntu derivative) and I want to mount ULTRIX
> > CDROM discs to see what I can see.
> >
> > (I'm eventually going to image these, but I presume that will "just
> > work" with dd or ddrescue).
> >
> > They are supposed to be UFS format (according to the net) and that
> > usually means you have to tell mount exactly which option to use (as not
> > all UFS implementations are compatible).
> >
> >
> > I've tried (all the options I can find) and failed:
> >
> >
> > $ sudo mount -t ufs  -o ufstype=44bsd /dev/sr1 /tmp/mount
> >
> 
> 44bsd is likely too new. ufstype=old or =sunos or =sun might work.

I just tried on an Ultrix 4.5 ISO and I was able to mount it with
ufstype=old or without a ufstype option.

Cheers,
Malte

-- 
Malte Dehling



Re: Mounting ULTRIX CDROMs on Linux

2021-05-20 Thread Jonathan Stone via cctalk
 Ultrix UFS is 4.2SD plus some big fixes. It's definitely pre-4.3BSD. So 44BSD 
won't work.
I hit fsck errors anytime I mounted Ultrix FFS read-write with (very early 
NetBSD).
You may be better off if you can try with *BSD.


OSF1/Digital Unix/Tru64 has a newer FFS, definitely 4.3BSD or newer -- perhaps 
4.4-Lite? -- but I've never tried it with Ultrix media.

 On Thursday, May 20, 2021, 01:00:51 PM PDT, Antonio Carlini via cctech 
 wrote:  
 
 I'm running Linux Mint (an ubuntu derivative) and I want to mount ULTRIX 
CDROM discs to see what I can see.

(I'm eventually going to image these, but I presume that will "just 
work" with dd or ddrescue).

They are supposed to be UFS format (according to the net) and that 
usually means you have to tell mount exactly which option to use (as not 
all UFS implementations are compatible).


I've tried (all the options I can find) and failed:


$ sudo mount -t ufs  -o ufstype=44bsd /dev/sr1 /tmp/mount
mount: /tmp/mount: wrong fs type, bad option, bad superblock on 
/dev/sr1, missing codepage or helper program, or other error.


The CDROM would appear to be readable 9and I've tried a few anyway):

$ sudo file -s /dev/sr1
/dev/sr1: Unix Fast File system [v1] (little-endian), last mounted on 
/UPS_MOUNT_TAR_SOURCE, last written at Wed Sep 28 16:27:45 1994, clean 
flag 30, number of blocks 243648, number of data blocks 233295, number 
of cylinder groups 38, block size 8192, fragment size 1024, minimum 
percentage of free blocks 10, rotational delay 0ms, disk rotational 
speed 60rps, TIME optimization


A later Digital Unix CDROM behaves the same way with mount and reports 
this with file:

$ sudo file -s /dev/sr1
/dev/sr1: Unix Fast File system [v1] (little-endian), last mounted on 
/kits/tmp/gendisk17665/mnt, last written at Wed Nov 20 13:38:02 1996, 
clean flag 3, number of blocks 151168, number of data blocks 150383, 
number of cylinder groups 24, block size 8192, fragment size 1024, 
minimum percentage of free blocks 0, rotational delay 0ms, disk 
rotational speed 60rps, SPACE optimization


I also have a few OSF/1 CDROMs, which I assume are also the same format.


Any ideas? I can't be the first person to try to do this ...


Antonio



-- 
Antonio Carlini
anto...@acarlini.com

  


Re: Mounting ULTRIX CDROMs on Linux

2021-05-20 Thread Warner Losh via cctalk
On Thu, May 20, 2021 at 1:56 PM Antonio Carlini via cctalk <
cctalk@classiccmp.org> wrote:

> I'm running Linux Mint (an ubuntu derivative) and I want to mount ULTRIX
> CDROM discs to see what I can see.
>
> (I'm eventually going to image these, but I presume that will "just
> work" with dd or ddrescue).
>
> They are supposed to be UFS format (according to the net) and that
> usually means you have to tell mount exactly which option to use (as not
> all UFS implementations are compatible).
>
>
> I've tried (all the options I can find) and failed:
>
>
> $ sudo mount -t ufs  -o ufstype=44bsd /dev/sr1 /tmp/mount
>

44bsd is likely too new. ufstype=old or =sunos or =sun might work.

Warner

> mount: /tmp/mount: wrong fs type, bad option, bad superblock on
> /dev/sr1, missing codepage or helper program, or other error.
>
>
> The CDROM would appear to be readable 9and I've tried a few anyway):
>
> $ sudo file -s /dev/sr1
> /dev/sr1: Unix Fast File system [v1] (little-endian), last mounted on
> /UPS_MOUNT_TAR_SOURCE, last written at Wed Sep 28 16:27:45 1994, clean
> flag 30, number of blocks 243648, number of data blocks 233295, number
> of cylinder groups 38, block size 8192, fragment size 1024, minimum
> percentage of free blocks 10, rotational delay 0ms, disk rotational
> speed 60rps, TIME optimization
>
>
> A later Digital Unix CDROM behaves the same way with mount and reports
> this with file:
>
> $ sudo file -s /dev/sr1
> /dev/sr1: Unix Fast File system [v1] (little-endian), last mounted on
> /kits/tmp/gendisk17665/mnt, last written at Wed Nov 20 13:38:02 1996,
> clean flag 3, number of blocks 151168, number of data blocks 150383,
> number of cylinder groups 24, block size 8192, fragment size 1024,
> minimum percentage of free blocks 0, rotational delay 0ms, disk
> rotational speed 60rps, SPACE optimization
>
>
> I also have a few OSF/1 CDROMs, which I assume are also the same format.
>
>
> Any ideas? I can't be the first person to try to do this ...
>
>
> Antonio
>
>
>
> --
> Antonio Carlini
> anto...@acarlini.com
>
>