On Tue, Oct 26, 2021 at 08:15:48AM +0100, Claus Assmann wrote:
> On Mon, Oct 25, 2021, Crystal Kolipe wrote:
> 
> > Can you provide the output of the atactl identify command for this unit?
> 
> Thanks for the reply; below is the output from atactl identify,
> fdisk, and disklabel. The disk can be mounted without a problem
> and -- based on a brief look -- has the installed content.
> Is there some simple way to check that the boot loader is installed
> on the disk (besides trying to read some sectors using od or something
> similar?)
> 
> # atactl sd0 identify
> Model: KINGSTON SA400S37240G, Rev: S1Z40102, Serial #: 50026B7380B702FF

You seem to have a different firmware revision to any of our drives, which 
might be relevant, however...

> $ fdisk sd0
> Disk: sd0     geometry: 29185/255/63 [468862128 Sectors]
> Offset: 0     Signature: 0xAA55
>             Starting         Ending         LBA Info:
>  #: id      C   H   S -      C   H   S [       start:        size ]
> -------------------------------------------------------------------------------
>  0: BF      0   1   2 -  14592 254  63 [          64:   234436481 ] Solaris   
>   
>  1: 00      0   0   0 -      0   0   0 [           0:           0 ] unused    
>   
>  2: 00      0   0   0 -      0   0   0 [           0:           0 ] unused    
>   
> *3: A6  14593   0   1 -  29184 254  63 [   234436545:   234420480 ] OpenBSD   
>   

Seeing that you have Solaris installed on the same disk, I'm now wondering if 
you have some non-standard MBR code that is causing the problem.

As your Solaris partition is first on the disk, I'm assuming that you installed 
OpenBSD afterwards.  I'm also assuming that you didn't manually use the 
'update' command from within OpenBSD fdisk to overwrite the MBR boot code, 
(just the boot code and not the partition data).

The OpenBSD MBR code, I.E. what would be loaded from the first sector on the 
SSD at boot, is responsible for displaying the 'Using drive X, partition Y' 
message.  If you are not seeing this, then the OpenBSD MBR code is not running.

Of course, the Solaris MBR code should also correctly parse the partition 
table, see that partition 3 is flagged as active and pass control to the 
OpenBSD PBR contained in it, at which point you would see 'Loading', but that 
is not happening.

If you boot into the OpenBSD bootloader from another device, such as a USB 
flash drive with the OpenBSD installation media on it, and manually type 'boot 
sd0a:/bsd', or whatever device the BIOS sees the SSD as, you should find that 
your newly installed system boots.

If you want to write the OpenBSD MBR code to the SSD, you can do that using the 
'update' command within fdisk.  This will probably allow you to boot OpenBSD 
from the SSD.  However, you will have overwritten the Solaris MBR, which may or 
may not cause you issues booting Solaris.

You could back up the existing MBR first with a command such as:

# dd if=/dev/sd0c of=$HOME/old_mbr bs=512 count=1

If you want to check that the OpenBSD MBR code is installed on the disk, the 
output of the following two commands should match:

# dd if=/usr/mdec bs=446 count=1 | hexdump -C
# dd if=/dev/sd0c bs=446 count=1 | hexdump -C

Reply via email to