> On Tue, Jul 18, 2017 at 08:40:53PM +0200, Theo Buehler wrote: > > On Tue, Jul 18, 2017 at 11:10:00AM -0600, Theo de Raadt wrote: > > > Possibly. > > > > > > cc'ing yasuoka who helped me with this method of disk probing. > > > > > > But anyways, beyond a code review we need someone to SHOW THEIR BOOT > > > LOADER > > > OUTPUT, so that we can see the hibernate marker letter is missing. > > > > Using FDE from MBR on my T420, I can confirm Natasha's findings. > > > > Automatic kernel selection to unhibernate fails, but manually selecting > > /bsd.booted works fine. > > > > I see the exact same thing on reboot and on boot into unhibernate: > > (manually transcribed, no & sign) > > > > Using drive 0, partition 3. > > Loading...... > > probing: pc0 mem[630K 511M 510M 2471M 486M a20=on] > > disk: hd0+ sr0* > > >> OpenBSD/amd64 BOOT 3.33 > > Passphrase: _ > > To compare, here my output on suspended boot for a laptop (i386) > *without* FDE: > > Using drive 0, partition 3. > Loading...... > probing: pc0 pci mem[636K 2037M a20=on] > disk: hd0+& > >> OpenBSD/i386 BOOT 3.31 > unhibernate detected: switching to /bsd.booted > boot> > booting hd0a:/bsd.booted: 8122376+.... > entry point at 0x2000d4 > ... > > So here the & is present, and an explicit line is echoed.
I'll explain what is going on here, and what needs to probably be done. The changes introduced into the bootloader are largely correct. They make the right decisions. They just don't make them at the right points in time. The IO operations should be moved further forward, to after the key operations. Havinge done it this way, yasuoka and I were able to create a workable model, but the operations need to be moved forward. Someone want to dive in?
