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)
>Organization:
	Prince of Songkla University
>Environment:
System: NetBSD andromeda.noi.kre.to 7.99.21 NetBSD 7.99.21 (VBOX64-1.1-20150829) #3: Sun Aug 30 07:16:17 ICT 2015 kre%andromeda.noi.kre.to@localhost:/home/kre/src/current-kernel/usr/src/sys/arch/amd64/compile/VBOX64 amd64
Architecture: x86_64
Machine: amd64
>Description:
	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

>How-To-Repeat:
	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.

>Fix:
	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