TL;DR: I installed OpenBSD 7.9 on a Dell Optiplex system that I bought. I am able to use the system by booting off a live system on a usb flash drive, and then using 'boot.conf' on that flash drive, to tell boot to select hd1a:/bsd instead of hd0a:/bsd. Then it boots off the system drive. But I'd like to be able to boot directly off the system drive, without the use of the flash drive.
I am asking for advice on the best way to change or redo the install to make it directly bootable. Some background information might be relevant. I had earlier tried to install by booting bsd.rd off the flash drive sd1, and then installing onto the system drive sd0. Unfortunately I had neglected to copy the sets over to the flash drive, so I killed the install (after partitioning the drive) when it asked for the sets. After copying the sets to the flash drive, I did another fresh install, but got the message: *************** installboot: no OpenBSD partition failed to install bootblocks You will be unable to boot OpenBSD from sd0: ***************** I should also mention that on my abortive first attempt, when partitioning the disk, the 'i' partition was already in use when I came to add it, even though this was a fresh install. It covered the region on hard drive from block 64 to block 532488. In the fdisk output, this is called 'EFI Sys'. But when I did the second install (a full one), the 'i' partition was no longer there. I don't understand that, but the experts on this group probably do. I mention it because it might be relevant. I can continue to boot from the flash drive, and I don't have to interrupt the boot because I have 'boot.conf'. However, it would be better not to be in the state that Nick Holland recently referred to as 'you built a broken system'. In this case, however, I did rebuild the system from scratch, doing the entire install. But something went wrong, causing that second install to fail (at least partially). Here is my first theory. The initial abortive install left debris in the first 532488 blocks, and instead of just overwriting it during the second install, the installer instead read it and did something strange. That would explain how the 'i' partition was present during the first, abortive, install, but not on the second. If this is right, then I should perhaps zero out either the initial 532488 blocks, or maybe even the entire 512G drive. But I don't want do that before getting an informed opinion from those on this list, lest I make things even worse. Possibly my theory above is wrong, and someone on the list will correct me. And here is the second theory. The problems arise from the obliteration of the 'i' partition. Searching the web, I find: ************************** List: openbsd-misc Subject: Re: installboot: no OpenBSD partition From: Jona Joachim <jona () joachim ! cc> Date: 2023-07-17 7:45:07 Message-ID: 5cdb3d5d-3fb2-4e4f-a310-0c1257df99bb () joachim ! cc [Download RAW message or body] After some more investigation and especially after stumbling upon a mail from Otto Moerbeek from 2020, I found that the problem was a missing 'i' partition in the disklabel. installboot(8) needs the 'i' partition in the disklabel to find the EFI partition, otherwise it will try to fall back to MBR. After manually adding the 'i' partition, everything went fine. ***************** Before I installed OpenBSD, the system came with a Microsoft O/S, and I imaged the hard drive with dump and gzip onto an external usb ntfs drive. So I could restore it, and be back where I started from, with the initial 532488 blocks restored to what they were before I installed OpenBSD. This takes about 4-5 hours, as I recall. If this were your system would you, prior to re-installing: 0. Do nothing, just try again and hope it works this time. 1. Zero the initial 532488 blocks (or some other amount). 2. Zero the entire 512 GB. 3. Restore the Microsoft O/S, and hope that it restores the 'i' partition, and then makes a subsequent full install work. 4. Do something else. And if so, then what. Perhaps I have missed the correct thing entirely. Also, I have these questions: 5. Do the files BOOTX64 and BOOTIA64 have anything to do with my problem? If so, what should I do with them? 6. Should I use the installboot utility for anything? If so, what should I do? 7. Should I use 'reinit', as suggested in the reddit post below? Appended are the reddit post, dmesg, fdisk, disklabel and the results of an attempt to capture the first 30 bytes of sd0. Is there something else that I should post? Thanks ****************************** https://www.reddit.com/r/openbsd/comments/oivfen/failed_to_install_bootblocks_my_detailed_solution/?rdt=33376 Ran into this today when installing OpenBSD 7.1 via ISO on a VM. The cause is the default options for partitioning is Whole Disk MBR or GPT, but our BIOS or UEFI systems need an MBR or EFI FAT System Part to boot. If there already was an existing boot device or method, then installboot might work normally, but in this case, I had a blank disk with no other writable boot methods. For installboot to work, when at the disk setup, choose the (E)dit option and use "reinit", and then write to install and MBR and active partition. Disklabel will select that whole disk partition and install the sub mount points and the installboot part will succeed. ****************************** opx$ doas dd if=/dev/sd0c bs=1 count=30 of=/home/admin/30.dat 30+0 records in 30+0 records out 30 bytes transferred in 0.000 secs (194757 bytes/sec) opx$ od -c 30.dat 0000000 352 005 \0 300 007 214 310 216 320 274 374 377 216 330 270 240 0000020 007 216 300 1 366 1 377 271 \0 002 374 363 244 352 0000036 opx$ doas fdisk sd0 Disk: sd0 Usable LBA: 34 to 1000215182 [1000215216 Sectors] #: type [ start: size ] ------------------------------------------------------------------------ : Free [ 34: 30 ] 0: EFI Sys [ 64: 532480 ] 1: OpenBSD [ 532544: 999682639 ] opx$ doas disklabel sd0 # /dev/rsd0c: type: SCSI disk: SCSI disk label: PC611 NVMe SK hy duid: ea67c651a0271ae2 flags: bytes/sector: 512 sectors/track: 63 tracks/cylinder: 255 sectors/cylinder: 16065 cylinders: 62260 total sectors: 1000215216 boundstart: 532544 boundend: 1000215183 16 partitions: # size offset fstype [fsize bsize cpg] a: 1025760 532544 4.2BSD 2048 16384 7949 # / b: 41945716 1558304 swap # none c: 1000215216 0 unused d: 10490432 43504032 4.2BSD 2048 16384 12960 # /tmp e: 62926592 53994464 4.2BSD 2048 16384 12960 # /usr f: 41945728 116921056 4.2BSD 2048 16384 12960 # /var g: 104872320 158866784 4.2BSD 2048 16384 12960 # /home h: 209728576 263739104 4.2BSD 2048 16384 12960 # /data1 j: 209728544 473467680 4.2BSD 2048 16384 12960 # /data2 k: 209728576 683196224 4.2BSD 2048 16384 12960 # /data3 l: 83891456 892924800 4.2BSD 2048 16384 12960 # /data4 OpenBSD 7.9 (GENERIC.MP) #449: Wed May 6 13:17:25 MDT 2026 [email protected]:/usr/src/sys/arch/amd64/compile/GENERIC.MP real mem = 16886734848 (16104MB) avail mem = 16347226112 (15589MB) random: good seed from bootblocks mpath0 at root scsibus0 at mpath0: 256 targets mainbus0 at root bios0 at mainbus0: SMBIOS rev. 3.4 @ 0x6244f000 (84 entries) bios0: vendor Dell Inc. version "1.29.0" date 09/02/2024 bios0: Dell Inc. OptiPlex 5090 efi0 at bios0: UEFI 2.7 efi0: Dell rev 0x10000 acpi0 at bios0: ACPI 6.1 acpi0: sleep states S0 S3 S4 S5 acpi0: tables DSDT FACP SSDT SSDT HPET APIC MCFG SSDT NHLT SSDT SSDT SSDT LPIT SSDT SSDT DBGP DBG2 BOOT SSDT TPM2 MSDM DMAR SSDT ASF! PTDT BGRT FPDT acpi0: wakeup devices PEGP(S4) PEGP(S4) PEGP(S4) PEGP(S4) GLAN(S4) XHCI(S3) XDCI(S4) HDAS(S4) CNVW(S4) RP01(S4) PXSX(S4) RP02(S4) PXSX(S4) RP03(S4) PXSX(S4) RP04(S4) [...] acpitimer0 at acpi0: 3579545 Hz, 24 bits acpihpet0 at acpi0: 23999999 Hz acpimadt0 at acpi0 addr 0xfee00000: PC-AT compat cpu0 at mainbus0: apid 0 (boot processor) cpu0: Intel(R) Core(TM) i5-10500T CPU @ 2.30GHz, 3791.46 MHz, 06-a5-03, patch 000000f6 cpu0: cpuid 1 edx=bfebfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE> ecx=77fafbff<SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,SMX,EST,TM2,SSSE3,SDBG,FMA3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,MOVBE,POPCNT,DEADLINE,AES,XSAVE,AVX,F16C,RDRAND> cpu0: cpuid 6 eax=27f7<SENSOR,ARAT,PTS> ecx=9<EFFFREQ> cpu0: cpuid 7.0 ebx=29c67af<FSGSBASE,TSC_ADJUST,SGX,BMI1,AVX2,SMEP,BMI2,ERMS,INVPCID,MPX,RDSEED,ADX,SMAP,CLFLUSHOPT,PT> ecx=40000000 edx=bc000600<SRBDS_CTRL,MD_CLEAR,IBRS,IBPB,STIBP,L1DF,SSBD> cpu0: cpuid a vers=4, gp=4, gpwidth=48, ff=3, ffwidth=48 cpu0: cpuid d.1 eax=f<XSAVEOPT,XSAVEC,XGETBV1,XSAVES> cpu0: cpuid 80000001 edx=2c100800<NXE,PAGE1GB,RDTSCP,LONG> ecx=121<LAHF,ABM,3DNOWP> cpu0: cpuid 80000007 edx=100<ITSC> cpu0: msr 10a=20c2b<IBRS_ALL,SKIP_L1DFL,MDS_NO,MISC_PKG_CT,ENERGY_FILT,FB_CLEAR> cpu0: 32KB 64b/line 8-way D-cache, 32KB 64b/line 8-way I-cache, 256KB 64b/line 4-way L2 cache, 12MB 64b/line 16-way L3 cache cpu0: smt 0, core 0, package 0, type P mtrr: Pentium Pro MTRR support, 10 var ranges, 88 fixed ranges cpu0: apic clock running at 24MHz cpu0: mwait min=64, max=64, C-substates=0.2.1.2.4.1.1.1, IBE cpu1 at mainbus0: apid 2 (application processor) cpu1: Intel(R) Core(TM) i5-10500T CPU @ 2.30GHz, 3791.45 MHz, 06-a5-03, patch 000000f6 cpu1: smt 0, core 1, package 0, type P cpu2 at mainbus0: apid 4 (application processor) cpu2: Intel(R) Core(TM) i5-10500T CPU @ 2.30GHz, 3691.68 MHz, 06-a5-03, patch 000000f6 cpu2: smt 0, core 2, package 0, type P cpu3 at mainbus0: apid 6 (application processor) cpu3: Intel(R) Core(TM) i5-10500T CPU @ 2.30GHz, 3691.68 MHz, 06-a5-03, patch 000000f6 cpu3: smt 0, core 3, package 0, type P cpu4 at mainbus0: apid 8 (application processor) cpu4: Intel(R) Core(TM) i5-10500T CPU @ 2.30GHz, 3591.90 MHz, 06-a5-03, patch 000000f6 cpu4: smt 0, core 4, package 0, type P cpu5 at mainbus0: apid 10 (application processor) cpu5: Intel(R) Core(TM) i5-10500T CPU @ 2.30GHz, 3492.13 MHz, 06-a5-03, patch 000000f6 cpu5: smt 0, core 5, package 0, type P cpu6 at mainbus0: apid 1 (application processor) cpu6: Intel(R) Core(TM) i5-10500T CPU @ 2.30GHz, 3492.13 MHz, 06-a5-03, patch 000000f6 cpu6: smt 1, core 0, package 0, type SP cpu7 at mainbus0: apid 3 (application processor) cpu7: Intel(R) Core(TM) i5-10500T CPU @ 2.30GHz, 3492.13 MHz, 06-a5-03, patch 000000f6 cpu7: smt 1, core 1, package 0, type SP cpu8 at mainbus0: apid 5 (application processor) cpu8: Intel(R) Core(TM) i5-10500T CPU @ 2.30GHz, 3492.13 MHz, 06-a5-03, patch 000000f6 cpu8: smt 1, core 2, package 0, type SP cpu9 at mainbus0: apid 7 (application processor) cpu9: Intel(R) Core(TM) i5-10500T CPU @ 2.30GHz, 3492.13 MHz, 06-a5-03, patch 000000f6 cpu9: smt 1, core 3, package 0, type SP cpu10 at mainbus0: apid 9 (application processor) cpu10: Intel(R) Core(TM) i5-10500T CPU @ 2.30GHz, 3492.13 MHz, 06-a5-03, patch 000000f6 cpu10: smt 1, core 4, package 0, type SP cpu11 at mainbus0: apid 11 (application processor) cpu11: Intel(R) Core(TM) i5-10500T CPU @ 2.30GHz, 3492.13 MHz, 06-a5-03, patch 000000f6 cpu11: smt 1, core 5, package 0, type SP ioapic0 at mainbus0: apid 2 pa 0xfec00000, version 20, 120 pins acpimcfg0 at acpi0 acpimcfg0: addr 0xe0000000, bus 0-255 acpiprt0 at acpi0: bus 0 (PC00) acpiprt1 at acpi0: bus -1 (RP01) acpiprt2 at acpi0: bus -1 (RP02) acpiprt3 at acpi0: bus -1 (RP03) acpiprt4 at acpi0: bus -1 (RP04) acpiprt5 at acpi0: bus -1 (RP05) acpiprt6 at acpi0: bus -1 (RP06) acpiprt7 at acpi0: bus -1 (RP07) acpiprt8 at acpi0: bus -1 (RP08) acpiprt9 at acpi0: bus -1 (RP09) acpiprt10 at acpi0: bus -1 (RP10) acpiprt11 at acpi0: bus -1 (RP11) acpiprt12 at acpi0: bus -1 (RP12) acpiprt13 at acpi0: bus -1 (RP13) acpiprt14 at acpi0: bus -1 (RP14) acpiprt15 at acpi0: bus -1 (RP15) acpiprt16 at acpi0: bus -1 (RP16) acpiprt17 at acpi0: bus -1 (RP17) acpiprt18 at acpi0: bus -1 (RP18) acpiprt19 at acpi0: bus -1 (RP19) acpiprt20 at acpi0: bus -1 (RP20) acpiprt21 at acpi0: bus 1 (RP21) acpiprt22 at acpi0: bus -1 (RP22) acpiprt23 at acpi0: bus -1 (RP23) acpiprt24 at acpi0: bus -1 (RP24) acpiec0 at acpi0 "INT3472" at acpi0 not configured acpipci0 at acpi0 PC00: 0x00000010 0x00000011 0x00000000 acpicmos0 at acpi0 "PNP0A05" at acpi0 not configured com0 at acpi0 UAR2 addr 0x3f8/0x8 irq 4: ns16550a, 16 byte fifo "SONY362A" at acpi0 not configured "SONY488A" at acpi0 not configured "SONY362A" at acpi0 not configured "ACPI000E" at acpi0 not configured pchgpio0 at acpi0 GPI0 addr 0xfd6e0000/0x10000 0xfd6d0000/0x10000 0xfd6b0000/0x10000 0xfd6a0000/0x10000 0xfd690000/0x10000 irq 14, 480 pins "PNP0C14" at acpi0 not configured "PNP0C14" at acpi0 not configured intelpmc0 at acpi0: PEPD state 0: 0x7f:1:2:0x00:0x0000000000000060 counter: 0x7f:64:0:0x00:0x0000000000000632 frequency: 0 state 1: 0x7f:1:2:0x00:0x0000000000000060 counter: 0x00:32:0:0x03:0x00000000fe00193c frequency: 8197 "PNP0C14" at acpi0 not configured "PNP0C14" at acpi0 not configured "PNP0C14" at acpi0 not configured "PNP0C14" at acpi0 not configured "PNP0C14" at acpi0 not configured acpibtn0 at acpi0: PBTN(wakeup) acpibtn1 at acpi0: SBTN "USBC000" at acpi0 not configured tpm0 at acpi0 TPM_ 2.0 (TIS) addr 0xfed40000/0x5000, device 0x00fc1050 rev 0x1 acpipwrres0 at acpi0: PG01, resource for PEG1 acpipwrres1 at acpi0: PG02, resource for PEG2 acpipwrres2 at acpi0: PG03, resource for PEG3 acpipwrres3 at acpi0: WRST acpipwrres4 at acpi0: V0PR acpipwrres5 at acpi0: V1PR acpipwrres6 at acpi0: V2PR acpicpu0 at acpi0: C3(200@1048 mwait.1@0x60), C2(200@253 mwait.1@0x33), C1(1000@1 mwait.1), PSS acpicpu1 at acpi0: C3(200@1048 mwait.1@0x60), C2(200@253 mwait.1@0x33), C1(1000@1 mwait.1), PSS acpicpu2 at acpi0: C3(200@1048 mwait.1@0x60), C2(200@253 mwait.1@0x33), C1(1000@1 mwait.1), PSS acpicpu3 at acpi0: C3(200@1048 mwait.1@0x60), C2(200@253 mwait.1@0x33), C1(1000@1 mwait.1), PSS acpicpu4 at acpi0: C3(200@1048 mwait.1@0x60), C2(200@253 mwait.1@0x33), C1(1000@1 mwait.1), PSS acpicpu5 at acpi0: C3(200@1048 mwait.1@0x60), C2(200@253 mwait.1@0x33), C1(1000@1 mwait.1), PSS acpicpu6 at acpi0: C3(200@1048 mwait.1@0x60), C2(200@253 mwait.1@0x33), C1(1000@1 mwait.1), PSS acpicpu7 at acpi0: C3(200@1048 mwait.1@0x60), C2(200@253 mwait.1@0x33), C1(1000@1 mwait.1), PSS acpicpu8 at acpi0: C3(200@1048 mwait.1@0x60), C2(200@253 mwait.1@0x33), C1(1000@1 mwait.1), PSS acpicpu9 at acpi0: C3(200@1048 mwait.1@0x60), C2(200@253 mwait.1@0x33), C1(1000@1 mwait.1), PSS acpicpu10 at acpi0: C3(200@1048 mwait.1@0x60), C2(200@253 mwait.1@0x33), C1(1000@1 mwait.1), PSS acpicpu11 at acpi0: C3(200@1048 mwait.1@0x60), C2(200@253 mwait.1@0x33), C1(1000@1 mwait.1), PSS acpipwrres7 at acpi0: PIN_ acpidock0 at acpi0: DOCK not docked (0) acpivideo0 at acpi0: GFX0 cpu0: Enhanced SpeedStep 3791 MHz: speeds: 2301, 2300, 2200, 2100, 2000, 1900, 1700, 1600, 1500, 1400, 1300, 1200, 1100, 1000, 900, 800 MHz pci0 at mainbus0 bus 0 0:31:5: mem address conflict 0xfe010000/0x1000 pchb0 at pci0 dev 0 function 0 "Intel Core 10G Host" rev 0x03 inteldrm0 at pci0 dev 2 function 0 "Intel UHD Graphics 630" rev 0x03 drm0 at inteldrm0 inteldrm0: msi, COMETLAKE, gen 9 xhci0 at pci0 dev 20 function 0 "Intel 500 Series xHCI" rev 0x11: msi, xHCI 1.20 usb0 at xhci0: USB revision 3.0 uhub0 at usb0 configuration 1 interface 0 "Intel xHCI root hub" rev 3.00/1.00 addr 1 "Intel 500 Series Shared SRAM" rev 0x11 at pci0 dev 20 function 2 not configured dwiic0 at pci0 dev 21 function 0 "Intel 500 Series I2C" rev 0x11: apic 2 int 27 iic0 at dwiic0 "Intel 500 Series HECI" rev 0x11 at pci0 dev 22 function 0 not configured puc0 at pci0 dev 22 function 3 "Intel 500 Series KT" rev 0x11: ports: 16 com com4 at puc0 port 0 apic 2 int 19: ns16550a, 16 byte fifo ahci0 at pci0 dev 23 function 0 "Intel 500 Series AHCI" rev 0x11: msi, AHCI 1.3.1 ahci0: PHY offline on port 0 scsibus1 at ahci0: 32 targets ppb0 at pci0 dev 27 function 0 "Intel 500 Series PCIE" rev 0x11: msi pci1 at ppb0 bus 1 nvme0 at pci1 dev 0 function 0 vendor "SK hynix", unknown product 0x1639 rev 0x00: msix, NVMe 1.3 nvme0: PC611 NVMe SK hynix 512GB, firmware 11002111, serial CY0CN02091260CD0L scsibus2 at nvme0: 2 targets, initiator 0 sd0 at scsibus2 targ 1 lun 0: <NVMe, PC611 NVMe SK hy, 1100> sd0: 488386MB, 512 bytes/sector, 1000215216 sectors pcib0 at pci0 dev 31 function 0 "Intel Q570 eSPI" rev 0x11 azalia0 at pci0 dev 31 function 3 "Intel 500 Series HD Audio" rev 0x11: msi azalia0: codecs: Realtek ALC256, Intel/0x280b, using Realtek ALC256 audio0 at azalia0 ichiic0 at pci0 dev 31 function 4 "Intel 500 Series SMBus" rev 0x11: apic 2 int 16 iic1 at ichiic0 spdmem0 at iic1 addr 0x52: 16GB DDR4 SDRAM PC4-25600 SO-DIMM "Intel 500 Series SPI" rev 0x11 at pci0 dev 31 function 5 not configured em0 at pci0 dev 31 function 6 "Intel I219-LM" rev 0x11: msi, address c0:25:a5:c5:2b:a9 isa0 at pcib0 isadma0 at isa0 pckbc0 at isa0 port 0x60/5 irq 1 irq 12 pckbd0 at pckbc0 (kbd slot) wskbd0 at pckbd0: console keyboard pcppi0 at isa0 port 0x61 spkr0 at pcppi0 vmm0 at mainbus0: VMX/EPT efifb at mainbus0 not configured umass0 at uhub0 port 1 configuration 1 interface 0 "SanDisk Cruzer Glide" rev 2.00/1.26 addr 2 umass0: using SCSI over Bulk-Only scsibus3 at umass0: 2 targets, initiator 0 sd1 at scsibus3 targ 1 lun 0: <SanDisk, Cruzer Glide, 1.26> removable serial.078155758213C7401527 sd1: 15267MB, 512 bytes/sector, 31266816 sectors uhidev0 at uhub0 port 5 configuration 1 interface 0 "Logitech USB Optical Mouse" rev 2.00/34.01 addr 3 uhidev0: iclass 3/1 ums0 at uhidev0: 8 buttons, Z and W dir wsmouse0 at ums0 mux 0 uhidev1 at uhub0 port 6 configuration 1 interface 0 "Hewlett Packard HP USB Keyboard" rev 1.10/2.07 addr 4 uhidev1: iclass 3/1 ukbd0 at uhidev1: 8 variable keys, 6 key codes wskbd1 at ukbd0 mux 1 uhidev2 at uhub0 port 6 configuration 1 interface 1 "Hewlett Packard HP USB Keyboard" rev 1.10/2.07 addr 4 uhidev2: iclass 3/0, 2 report ids uhid0 at uhidev2 reportid 1: input=1, output=0, feature=0 ucc0 at uhidev2 reportid 2: 19 usages, 14 keys, enum wskbd2 at ucc0 mux 1 umass1 at uhub0 port 22 configuration 1 interface 0 "Western Digital My Passport 2626" rev 3.20/10.34 addr 5 umass1: using SCSI over Bulk-Only scsibus4 at umass1: 2 targets, initiator 0 sd2 at scsibus4 targ 1 lun 0: <WD, My Passport 2626, 1034> sd2: 5723134MB, 512 bytes/sector, 11720978432 sectors ses0 at scsibus4 targ 1 lun 1: <WD, SES Device, 1034> ses0: unable to read enclosure configuration vscsi0 at root scsibus5 at vscsi0: 256 targets softraid0 at root scsibus6 at softraid0: 256 targets root on sd0a (ea67c651a0271ae2.a) swap on sd0b dump on sd0b drm:pid52244:dmc_load_work_fn *NOTICE* [drm] Failed to load DMC firmware i915/kbl_dmc_ver1_04.bin (0xfffffffffffffffee). Disabling runtime power management. inteldrm0: 3840x2160, 32bpp wsdisplay0 at inteldrm0 mux 1: console (std, vt100 emulation), using wskbd0 wskbd1: connecting to wsdisplay0 wskbd2: connecting to wsdisplay0 wsdisplay0: screen 1-5 added (std, vt100 emulation) pckbc: command timeout pckbc: command timeout pckbc: command timeout

