Previous and SCSISD Version 5.1 NeXTSTEP 3.3 boot

NeXT Computer, Inc. -> Emulation / Virtualization

Title: Previous and SCSISD Version 5.1 NeXTSTEP 3.3 boot
Post by: Rob Blessin Black Hole on September 05, 2020, 04:16:29 AM
Hello NeXT Community:

 I have found I can use Previous default drive settings for example 1.4 gb or 2.8 Gb , do an install with apps and DD them to an SD Card then use that card to boot the previous image on a NeXT Computer.

How can I specify the drive size in Previous? ie a 2Gb Drive ?
 
On my SD image using version 5.1 , I set up 4 2gb partitions ,
I'm hoping to do the same on Previous the catch is I know you can set up 2Gb partions
up in the intial boot process as scsi id 1,2,3,4 for example ,

I want to be able to write those 4 2gb partions to fit the format of the scsi2sd , perhaps there is a way to do this in terminal app ? using dd ...previous image, then image 2 then image 3 then image 4 to the same sd .

Currently I use 2 cards on the NeXT hardware side and toggle installs back and forth ,
it is a pain . I'll make a pristine boot image with some apps on previous
then dd it to an sd using terminal , then boot this image on the NeXT and initialise the additional partitions after login.

From there I attach a second scsi 2 sd card and create different 2gb install images in previous and boot them as secondary images on the NeXT.

I boot the NeXT "2" scsi2sd's attached and copyfrom  my second scsi2sd  = 2gb image files by drag and dropping them onto the main drive's = 2gb partition to fill up the  2gb of free space. Compartmetalising them in 2gb partitions helps when one fails the others still work.

I don't know if i am completely sold on the reliability of SD Cards booting as they seem to throw errors but atleast it is easy to just rewrite the image and it is cheap and it works.

Also is there a way to Turbo Boost the execution of the 68K code in  Previous for all of the installs , I realise it mimics the speed of original NeXT hardware for nostalgia but it would be nice to let it fly during installs , if you have seen an NeXT intel version running apps it does fly in comparison.

Just trying to streamline a few redundant tasks for customers,
as they have different requests for NeXT software , eventually I hope to make a nice selection of 2Gb software options with complete installs dione:) like a juke box. If only we had simple large hard drive support !

I found an interesting app on the Peanuts cd called informer that lets you look at all the under pinnings of NeXTSTEP normally hidden from view which may help with further development.

Title: Re: Previous and SCSISD Version 5.1 NeXTSTEP 3.3 boot
Post by: rbz on September 05, 2020, 12:12:22 PM
Quote from: Rob Blessin Black Hole on September 05, 2020, 04:16:29 AMI want to be able to write those 4 2gb partions to fit the format of the scsi2sd , perhaps there is a way to do this in terminal app ? using dd ...previous image, then image 2 then image 3 then image 4 to the same sd .

This is how I have built my SCSI2SD image in the past, I actually need to build up an image for my Turbo Color so I will document the steps to do this and report back.
Title: Re: Previous and SCSISD Version 5.1 NeXTSTEP 3.3 boot
Post by: Rob Blessin Black Hole on September 06, 2020, 04:53:58 AM
Hello RBZ: This would be awesome!
So in Previous  I would have
dev/disk1 = Disk NeXTSTEP Install 2gb , I can stretch this to 4Gb with partition b
dev/disk2 = Disk1 with NeXT Apps  2gb
dev/disk3 = Disk2 with NeXT Apps  2gb
dev/risk4 = Disk3 with neXT Apps  2gb

Combine above 4 to dd , copy (clone) onto bootable sd card for NeXT hardware

scsi2sd on a single 16GB Extreme Pro sd card (not filled up)
Partition 1 = Disk NeXTSTEP Install 2gb , I can stretch this to 4Gb with partition b
Partition 2 = Disk1 with NeXT Apps  2gb starts at sector 419303
Partition 3 = Disk2 with NeXT Apps  2gb starts at sector 838606
Partition 4 = Disk3 with NeXT Apps  2gb starts at sector 12582909

Where I can have choices of different partitions of software :)

Title: Re: Previous and SCSISD Version 5.1 NeXTSTEP 3.3 boot
Post by: rbz on September 06, 2020, 03:42:42 PM
Here is the process that I followed for setting up my SD card (16gb, if you have a smaller card some of the sizes will need to be adjusted to fit all images on the card)

I think the key thing you are looking for is Step 7


Note A
One oddity I have noticed, and I am not sure if its a normal NeXTStep bug, an issue using SCSI2SD or a side effect of how I build the SD card image, is that often times NeXTStep will report the Device 2-3 as a "foreign harddisk" with the normal folder icon instead of "harddisk" and the normal circular disc icon. Has anyone else seen this?

Note B
Previous seems to not handle the drive geometry sizes the same as actual hardware, so while the actual hardware seems to be able to take a "true" 2GB partition, Previous is unable to initialize the disk. Because of this we create an image that is just a bit smaller than a "true" 2GB image.

For context I consider a "true" 2GB image as one created with dd in one the following fashions

$ dd if=/dev/zero of=2gb.dd bs=1G count=2
$ dd if=/dev/zero of=2gb.dd bs=1M count=2048
$ dd if=/dev/zero of=2gb.dd bs=1k count=2097152

This will create an image with 4194304 sectors. The one we created above in the steps with dd if=/dev/zero of=2gb.dd bs=1k count=2097151 is 4194302 sectors.

To check the number of sectors on an image you can use the following:
MacOSX
fdisk <imgfile>Linux
blockdev --getsz <imgfile>
Note C
Rather than using cat to combine all the individual images into a single large one it can also be done with dd but it is much slower because it only reads/writes in 512 byte chunks

$ dd if=disk0.dd of=<sdcard> bs=512
$ dd if=disk1.dd of=<sdcard> bs=512 seek=4194302
$ dd if=disk1.dd of=<sdcard> bs=512 seek=8388604
$ dd if=disk1.dd of=<sdcard> bs=512 seek=12582906
Title: Re: Previous and SCSISD Version 5.1 NeXTSTEP 3.3 boot
Post by: rbz on September 06, 2020, 05:10:32 PM
As an aside, every time I have tried to use Configure.app from the NS33_2GB.dd image or disks built from this image it says that "Couldn't start up this application because it is damaged". Is this always the case or should this work and its just damaged on this base image?
Title: Re: Previous and SCSISD Version 5.1 NeXTSTEP 3.3 boot
Post by: Rob Blessin Black Hole on September 06, 2020, 05:42:06 PM
Hello RBZ: Thank you for the help that is perfect!
Configure.app is only for configuring intel processor drivers and does not work on the 68K version of NeXTSTEP..... any time you see the message , I have also had that happen with apps that should work that were tar.gz and suposed to be fat binary NS or OS 68K/Intel  or quadfat adding hppa risc and sparc .  try downloading apps from the NeXT Computers .org archive and creating a new NeXT Software iso image from the downloaded apps , throw a bunch in a folder with anytoiso.app on Mac , burn it to cd if it happens as it may be a corrupt file , the image should then mount in NeXTstep in Previous and on any platform running NeXTSTEP or Openstep :)
Title: Re: Previous and SCSISD Version 5.1 NeXTSTEP 3.3 boot
Post by: pb3623 on February 20, 2021, 09:19:39 PM
I know I'm resurrecting this zombie thread but I wanted to add what I feel is a workable solution to porting an EXISTING SCSI2SD-based installation to and from Previous 2.1.

With the info in this thread, plus the XML file Rob used to build the preloaded card that came from the system I purchased from him, I took the byte offsets you provided above and in the XML, split the files evenly (there were obviously like 7 GB of empty space I ignored), loaded disk images ns33_aa, ns33_ab, ns33_ac and ns33_ad as the four HDs in Previous and everything mounted perfectly. I ignored ns33_ae through ns33_ah since those are empty, BUT they will be needed to reconstitute the ISO and dd it back to the SD card so don't delete them!

I took the MD5 of the ISO, split them out into roughly 2 GB chunks based on the XML offsets, and put them all back together (even the 4 empty chunks) - MD5 is mathematically identical. Obviously even the act launching Previous and booting will alter this!


bash-5.1$ md5 ns33-021221.iso
MD5 (ns33-021221.iso) = d2116e4fc8ef6918e7f0fcc7981f00fc
bash-5.1$ split -b 2147483136 ns33-021221.iso ns33_
bash-5.1$ ls -la
total 62372536
drwxr-xr-x  11 pb  staff          352 Feb 19 17:28 .
drwxr-xr-x@ 13 pb  staff          416 Feb 19 17:19 ..
-rw-r--r--  1 pb  staff  15931539456 Feb 12 20:28 ns33-021221.iso
-rw-r--r--  1 pb  staff  2147483136 Feb 19 17:27 ns33_aa
-rw-r--r--  1 pb  staff  2147483136 Feb 19 17:27 ns33_ab
-rw-r--r--  1 pb  staff  2147483136 Feb 19 17:28 ns33_ac
-rw-r--r--  1 pb  staff  2147483136 Feb 19 17:28 ns33_ad
-rw-r--r--  1 pb  staff  2147483136 Feb 19 17:28 ns33_ae
-rw-r--r--  1 pb  staff  2147483136 Feb 19 17:28 ns33_af
-rw-r--r--  1 pb  staff  2147483136 Feb 19 17:28 ns33_ag
-rw-r--r--  1 pb  staff    899157504 Feb 19 17:28 ns33_ah

bash-5.1$ rm ns33-021221.iso
bash-5.1$ cat ns33_aa ns33_ab ns33_ac ns33_ad ns33_ae  ns33_af  ns33_ag  ns33_ah > ns33-021221.iso
bash-5.1$ md5 ns33-021221.iso
MD5 (ns33-021221.iso) = d2116e4fc8ef6918e7f0fcc7981f00fc

This essentially creates a portable process from SCSI2SD to Previous (this assumes x partitions of the same size like 2 GB, with the final disk less than that). If you had unequal sizes, you could still do split/recombine but would need to do it differently)

I found size differences using ZSH so Bash will be the easiest way to make sure the true byte offsets are passed to split.

Hope this is helpful to someone!

Go to top  Forum index