NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

install/50311: Missing gptmbr.bin on amd64 (& i386) prevents GPT bootable install

>Number:         50311
>Category:       install
>Synopsis:       Missing gptmbr.bin on amd64 (& i386) prevents GPT bootable install
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    install-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Wed Oct 07 14:00:00 +0000 2015
>Originator:     Robert Elz
>Release:        NetBSD 7.99.21 (current as of 2015-10-07)
	Prince of Songkla University
System: NetBSD 7.99.21 NetBSD 7.99.21 (VBOX64-1.1-20150829) #3: Sun Aug 30 07:16:17 ICT 2015 amd64
Architecture: x86_64
Machine: amd64
	I did an amd64 install onto a new system, on which I thought
	I'd try doing a pure GPT system setup, using sysinst.
	Aside from the sysinst steps to use GPT being a little
	counter-intuitive (the method to use isn't as obvious as it
	could be) all of that worked - except the resulting system
	wasn't bootable.

	Cause of that was that the "gpt biosboot" step failed, and that
	was because there's no gptmbr.bin on the ramdisk

	Do an amd64 install of current and format a new empty disk
	(no boot info previously installed) as GPT.  Complete the
	install.  If you're observant you'll see the "gpt biosboot"
	failure error message flash past.  Attempt to reboot.

	The workaround for anyone who is in this situation is to
	finish the sysinst install procedure, then when given the
	opportunity, get a shell, mount the newly installed root
	(and /usr if you separated them) and re-run the
	gpt biosboot using the gptmbr.bin that will have been
	installed in /usr/mdec on the newly installed system

	To prevent this happening in the future, in src/distrib/amd64 ...

Index: ramdisks/common/list.ramdisk
RCS file: /cvsroot/NetBSD/src/distrib/amd64/ramdisks/common/list.ramdisk,v
retrieving revision 1.19
diff -u -r1.19 list.ramdisk
--- ramdisks/common/list.ramdisk        10 Aug 2014 20:07:41 -0000      1.19
+++ ramdisks/common/list.ramdisk        7 Oct 2015 13:52:58 -0000
@@ -83,6 +83,7 @@
 COPY   ${DESTDIR}/usr/mdec/mbr                 usr/mdec/mbr
 COPY   ${DESTDIR}/usr/mdec/mbr_ext             usr/mdec/mbr_ext
 COPY   ${DESTDIR}/usr/mdec/mbr_bootsel         usr/mdec/mbr_bootsel
+COPY   ${DESTDIR}/usr/mdec/gptmbr.bin          usr/mdec/gptmbr.bin
 # and the boot script
 COPY   ${CURDIR}/../common/dot.profile         .profile

	I believe the same is required in src/distrib/i386 but I
	haven't tested that one to be certain.

	I have yet to build and test a system with this change to
	know for certain that it is correct and sufficient, and
	doesn't cause the size of the ramdisk to exceed limits,
	but I am fairly confident that it is what is needed.
	(I will append confirmation once I know.)

Home | Main Index | Thread Index | Old Index