OK more specifics,

I repeated my tests from last night and the boot does indeed fail after revision 1.35 on sys/arch/sparc64/stand/ofboot/boot.c


Random was added to the bootblocks before 6.7.  But then code was
added to fchmod the random file, so that it would not be reused.
That fchmod is a write-to-disk operation.


Rebooting with command: boot
Boot device: disk  File and args:
OpenBSD IEEE 1275 Bootblock 2.0
..>> OpenBSD BOOT 1.19
Trying bsd...
/
Evaluating:
Flushbuf error
read header: short read (only 0 of 64)

Is this write code triggering a bug in the bootblocks or is it actually
broken on it's own?

see loadrandom()


the fchmod call is what's triggers the error, I don't know the answer to your question though.

I have to step away for the evening but for those who are interested here is the process I used today and a similar one yesterday to determine when the problem was introduced.

Process
=======

On separate NFS machine to prevent downloading entire tree every test
Checkout openbsd cvs src using
cvs -q checkout -PD"<date>" src
Update source to specific date using from inside the src directory
cvs -q up -PdD"2020-05-26 16:35 UTC"

1. Install OpenBSD snapshot
- Before first boot, switch to shell and download ofwboot from http://cdn.openbsd.org/pub/OpenBSD/6.7/sparc64/
 - replace the ofwboot file on the new root fs (/mnt when in bsd.rd)
2. boot new install
3. umount /usr/src (default)
4. mount <NFSPATH> /usr/src
5. cd /usr/src/sys
6. make obj
7. cd arch/sparc64/stand
8. make
9. make install
10. installboot -v wd0
11. reboot


Checking "2020-06-05 09:15 UTC"

- This patch is just before Otto introduced bootblock 2.1

Result : Failure, fault introduced before this change

----

Bisecting date between 2020-06-05 and 2020-05-26

Checking 2020-06-01

Result : Failure, fault introduced before this date

----

Bisecting date between 2020-05-26 and 2020-06-01

Checking 2020-05-28

Result : Failure, fault introduced before this date

----

Bisecting date between 2020-05-26 and 2020-05-28

Checking 2020-05-27

Result : Failure, fault introduced before this date

----

Resetting to 2020-05-26

Checking 2020-05-26

Result : Boots

----

Updating to "2020-05-26 16:29 UTC"

Result : Boots

----

Updating to "2020-05-26 16:35 UTC"

Result : Fault

introduced/triggered at R1.35 on sys/arch/sparc64/stand/ofboot/boot.c


--
Ted Bullock <tbull...@comlore.com>

Reply via email to