Hello Everyone, Despite the BIOS information about the nonexistent floppy, the zfsboot.c code will prevent to boot from the first HDD if a floppy is given as a first available device. The drive 0x0 (floppy) will be probed before the code below and an error occurs: […] gptzfsboot: error 1 lba 32 gptzfsboot: error 1 lba 1 […] The continue statement will skip the rest of the iteration because if ((i | DRV_HARD) == *(uint8_t *)PTOV(ARGS)) is true if the drive equals 0x80. As a result we do not call probe_drive() for this drive. Eliminating if ((i | DRV_HARD) == *(uint8_t *)PTOV(ARGS)) continue; would help. Any comments will be appreciated. Best Regards, Christoph i386/zfsboot/zfsboot.c int main(void) { […] /* * Probe the rest of the drives that the bios knows about. This * will find any other available pools and it may fill in missing * vdevs for the boot pool. */ for (i = 0; i < *(unsigned char *)PTOV(BIOS_NUMDRIVES); i++) { if ((i | DRV_HARD) == *(uint8_t *)PTOV(ARGS)) continue; if (!int13probe(i | DRV_HARD)) break; […] probe_drive(dsk, NULL); } […] On Aug 5, 2011, at 1:47 PM, Christoph Hoffmann wrote: > Hello John, > > No, I and not using clang. > > My problem persists even I apply the patch. > > As a workaround I have to put OS on second LUN presented by the > P410i Controller. > > Regards, > > Christoph > > -- > Christoph Hoffmann > > > On Aug 5, 2011, at 1:37 PM, John Baldwin wrote: > >> On Thursday, August 04, 2011 3:26:49 pm Christoph Hoffmann wrote: >>> Hello Everyone, >>> >>> The system will successfully boot only if the OS installation is laying on >>> the second drive or higher (0x81 and more). >> >> Are you using clang? If so, you should try either using GCC or using this >> patch with clang as a workaround from the previous thread on zfsboot issues: >> >> Index: sys/boot/i386/zfsboot/Makefile >> =================================================================== >> --- sys/boot/i386/zfsboot/Makefile (revision 224653) >> +++ sys/boot/i386/zfsboot/Makefile (working copy) >> _at__at_ -20,7 +20,6 _at__at_ >> -fomit-frame-pointer \ >> -fno-unit-at-a-time \ >> -mno-align-long-strings \ >> - -mrtd \ >> -DBOOT2 \ >> -DSIOPRT=${BOOT_COMCONSOLE_PORT} \ >> -DSIOFMT=${B2SIOFMT} \ >> Index: sys/boot/i386/gptzfsboot/Makefile >> =================================================================== >> --- sys/boot/i386/gptzfsboot/Makefile (revision 224653) >> +++ sys/boot/i386/gptzfsboot/Makefile (working copy) >> _at__at_ -22,7 +22,6 _at__at_ >> -fomit-frame-pointer \ >> -fno-unit-at-a-time \ >> -mno-align-long-strings \ >> - -mrtd \ >> -DGPT -DBOOT2 \ >> -DSIOPRT=${BOOT_COMCONSOLE_PORT} \ >> -DSIOFMT=${B2SIOFMT} \ >> >> -- >> John Baldwin >> _______________________________________________ >> freebsd-current_at_freebsd.org mailing list >> http://lists.freebsd.org/mailman/listinfo/freebsd-current >> To unsubscribe, send any mail to "freebsd-current-unsubscribe_at_freebsd.org" > > _______________________________________________ > freebsd-current_at_freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-current > To unsubscribe, send any mail to "freebsd-current-unsubscribe_at_freebsd.org"Received on Fri Aug 05 2011 - 12:08:44 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:16 UTC