NetBSD Problem Report #55536

From www@netbsd.org  Mon Aug  3 20:01:35 2020
Return-Path: <www@netbsd.org>
Received: from mail.netbsd.org (mail.netbsd.org [199.233.217.200])
	(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
	(Client CN "mail.NetBSD.org", Issuer "mail.NetBSD.org CA" (not verified))
	by mollari.NetBSD.org (Postfix) with ESMTPS id E7DF81A9217
	for <gnats-bugs@gnats.NetBSD.org>; Mon,  3 Aug 2020 20:01:34 +0000 (UTC)
Message-Id: <20200803200134.339741A923A@mollari.NetBSD.org>
Date: Mon,  3 Aug 2020 20:01:34 +0000 (UTC)
From: thorpej@me.com
Reply-To: thorpej@me.com
To: gnats-bugs@NetBSD.org
Subject: sysinst has no discoverable way to nuke-and-pave a GPT-partitioned disk
X-Send-Pr-Version: www-1.0

>Number:         55536
>Category:       install
>Synopsis:       sysinst has no discoverable way to nuke-and-pave a GPT-partitioned disk
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    martin
>State:          closed
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Mon Aug 03 20:05:00 +0000 2020
>Closed-Date:    Mon Oct 12 16:15:22 +0000 2020
>Last-Modified:  Mon Oct 12 16:20:01 +0000 2020
>Originator:     Jason Thorpe
>Release:        NetBSD 9.0
>Organization:
RISCy Business
>Environment:
(NetBSD 9.0 UEFI install image for amd64)
>Description:
sysinst has no discoverable way to nuke-and-pave a GPT-partitioned disk.

I have a Thinkpad x260 with Windows 10 installed on the built-in SSD.  I do not want to preserve the Windows installation, but rather want to take over the entire drive for NetBSD.  Ultimately, I want to end up with the following partitions:

- EFI system partition (mounted as /EFI once installation is done)
- / (root file system)
- swap
- /var
- /home (as the space sink)

All paths I take through sysinst preserve the existing GPT partitions, and make it difficult (if not impossible) to remove them.  There does not seem to be any option to zap it and start from scratch.

>How-To-Repeat:
See description.
>Fix:
None provided.  A work around might be to exit to the utility shell and manual destroy the GPT.  But that seems like unnecessary friction -- there should be an easy way to do this right from the sysinst UI.

>Release-Note:

>Audit-Trail:

Responsible-Changed-From-To: install-manager->martin
Responsible-Changed-By: martin@NetBSD.org
Responsible-Changed-When: Tue, 04 Aug 2020 03:04:05 +0000
Responsible-Changed-Why:
take


State-Changed-From-To: open->closed
State-Changed-By: martin@NetBSD.org
State-Changed-When: Mon, 12 Oct 2020 16:15:22 +0000
State-Changed-Why:
Sysinst now can nuke the existing partition table


From: "Martin Husemann" <martin@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc: 
Subject: PR/55536 CVS commit: src/usr.sbin/sysinst
Date: Mon, 12 Oct 2020 16:14:37 +0000

 Module Name:	src
 Committed By:	martin
 Date:		Mon Oct 12 16:14:37 UTC 2020

 Modified Files:
 	src/usr.sbin/sysinst: bsddisklabel.c defs.h disklabel.c gpt.c install.c
 	    mbr.c mbr.h msg.mi.de msg.mi.en msg.mi.es msg.mi.fr msg.mi.pl
 	    part_edit.c partitions.h
 	src/usr.sbin/sysinst/arch/acorn32: md.c
 	src/usr.sbin/sysinst/arch/alpha: md.c
 	src/usr.sbin/sysinst/arch/amiga: md.c
 	src/usr.sbin/sysinst/arch/arc: md.c
 	src/usr.sbin/sysinst/arch/atari: md.c
 	src/usr.sbin/sysinst/arch/bebox: md.c
 	src/usr.sbin/sysinst/arch/cats: md.c
 	src/usr.sbin/sysinst/arch/cobalt: md.c
 	src/usr.sbin/sysinst/arch/dummy: md.c
 	src/usr.sbin/sysinst/arch/emips: md.c
 	src/usr.sbin/sysinst/arch/evbarm: md.c
 	src/usr.sbin/sysinst/arch/evbmips: md.c
 	src/usr.sbin/sysinst/arch/evbppc: md.c
 	src/usr.sbin/sysinst/arch/evbsh3: md.c
 	src/usr.sbin/sysinst/arch/ews4800mips: md.c
 	src/usr.sbin/sysinst/arch/hp300: md.c
 	src/usr.sbin/sysinst/arch/hpcarm: md.c
 	src/usr.sbin/sysinst/arch/hpcmips: md.c
 	src/usr.sbin/sysinst/arch/hpcsh: md.c
 	src/usr.sbin/sysinst/arch/hppa: md.c
 	src/usr.sbin/sysinst/arch/i386: md.c
 	src/usr.sbin/sysinst/arch/landisk: md.c
 	src/usr.sbin/sysinst/arch/luna68k: md.c
 	src/usr.sbin/sysinst/arch/mac68k: md.c
 	src/usr.sbin/sysinst/arch/macppc: md.c
 	src/usr.sbin/sysinst/arch/mipsco: md.c
 	src/usr.sbin/sysinst/arch/mvme68k: md.c
 	src/usr.sbin/sysinst/arch/news68k: md.c
 	src/usr.sbin/sysinst/arch/newsmips: md.c
 	src/usr.sbin/sysinst/arch/ofppc: md.c
 	src/usr.sbin/sysinst/arch/playstation2: md.c
 	src/usr.sbin/sysinst/arch/pmax: md.c
 	src/usr.sbin/sysinst/arch/prep: md.c
 	src/usr.sbin/sysinst/arch/sandpoint: md.c
 	src/usr.sbin/sysinst/arch/sgimips: md.c
 	src/usr.sbin/sysinst/arch/shark: md.c
 	src/usr.sbin/sysinst/arch/sparc: md.c
 	src/usr.sbin/sysinst/arch/sparc64: md.c
 	src/usr.sbin/sysinst/arch/vax: md.c
 	src/usr.sbin/sysinst/arch/x68k: md.c
 	src/usr.sbin/sysinst/arch/zaurus: md.c

 Log Message:
 PR 55536: when we find existing partition tables and have alternative
 formats available, offer to delete partitions and create new ones from
 scratch (in some other or the same on-disk format).


 To generate a diff of this commit:
 cvs rdiff -u -r1.51 -r1.52 src/usr.sbin/sysinst/bsddisklabel.c
 cvs rdiff -u -r1.65 -r1.66 src/usr.sbin/sysinst/defs.h
 cvs rdiff -u -r1.40 -r1.41 src/usr.sbin/sysinst/disklabel.c
 cvs rdiff -u -r1.19 -r1.20 src/usr.sbin/sysinst/gpt.c
 cvs rdiff -u -r1.17 -r1.18 src/usr.sbin/sysinst/install.c \
     src/usr.sbin/sysinst/partitions.h
 cvs rdiff -u -r1.35 -r1.36 src/usr.sbin/sysinst/mbr.c
 cvs rdiff -u -r1.5 -r1.6 src/usr.sbin/sysinst/mbr.h
 cvs rdiff -u -r1.22 -r1.23 src/usr.sbin/sysinst/msg.mi.de \
     src/usr.sbin/sysinst/part_edit.c
 cvs rdiff -u -r1.30 -r1.31 src/usr.sbin/sysinst/msg.mi.en \
     src/usr.sbin/sysinst/msg.mi.pl
 cvs rdiff -u -r1.24 -r1.25 src/usr.sbin/sysinst/msg.mi.es
 cvs rdiff -u -r1.29 -r1.30 src/usr.sbin/sysinst/msg.mi.fr
 cvs rdiff -u -r1.6 -r1.7 src/usr.sbin/sysinst/arch/acorn32/md.c
 cvs rdiff -u -r1.8 -r1.9 src/usr.sbin/sysinst/arch/alpha/md.c
 cvs rdiff -u -r1.5 -r1.6 src/usr.sbin/sysinst/arch/amiga/md.c
 cvs rdiff -u -r1.12 -r1.13 src/usr.sbin/sysinst/arch/arc/md.c
 cvs rdiff -u -r1.6 -r1.7 src/usr.sbin/sysinst/arch/atari/md.c
 cvs rdiff -u -r1.8 -r1.9 src/usr.sbin/sysinst/arch/bebox/md.c
 cvs rdiff -u -r1.4 -r1.5 src/usr.sbin/sysinst/arch/cats/md.c
 cvs rdiff -u -r1.13 -r1.14 src/usr.sbin/sysinst/arch/cobalt/md.c
 cvs rdiff -u -r1.5 -r1.6 src/usr.sbin/sysinst/arch/dummy/md.c
 cvs rdiff -u -r1.8 -r1.9 src/usr.sbin/sysinst/arch/emips/md.c
 cvs rdiff -u -r1.16 -r1.17 src/usr.sbin/sysinst/arch/evbarm/md.c
 cvs rdiff -u -r1.8 -r1.9 src/usr.sbin/sysinst/arch/evbmips/md.c
 cvs rdiff -u -r1.8 -r1.9 src/usr.sbin/sysinst/arch/evbppc/md.c
 cvs rdiff -u -r1.5 -r1.6 src/usr.sbin/sysinst/arch/evbsh3/md.c
 cvs rdiff -u -r1.6 -r1.7 src/usr.sbin/sysinst/arch/ews4800mips/md.c
 cvs rdiff -u -r1.10 -r1.11 src/usr.sbin/sysinst/arch/hp300/md.c
 cvs rdiff -u -r1.8 -r1.9 src/usr.sbin/sysinst/arch/hpcarm/md.c
 cvs rdiff -u -r1.8 -r1.9 src/usr.sbin/sysinst/arch/hpcmips/md.c
 cvs rdiff -u -r1.9 -r1.10 src/usr.sbin/sysinst/arch/hpcsh/md.c
 cvs rdiff -u -r1.7 -r1.8 src/usr.sbin/sysinst/arch/hppa/md.c
 cvs rdiff -u -r1.31 -r1.32 src/usr.sbin/sysinst/arch/i386/md.c
 cvs rdiff -u -r1.13 -r1.14 src/usr.sbin/sysinst/arch/landisk/md.c
 cvs rdiff -u -r1.8 -r1.9 src/usr.sbin/sysinst/arch/luna68k/md.c
 cvs rdiff -u -r1.9 -r1.10 src/usr.sbin/sysinst/arch/mac68k/md.c
 cvs rdiff -u -r1.5 -r1.6 src/usr.sbin/sysinst/arch/macppc/md.c
 cvs rdiff -u -r1.7 -r1.8 src/usr.sbin/sysinst/arch/mipsco/md.c
 cvs rdiff -u -r1.10 -r1.11 src/usr.sbin/sysinst/arch/mvme68k/md.c
 cvs rdiff -u -r1.6 -r1.7 src/usr.sbin/sysinst/arch/news68k/md.c
 cvs rdiff -u -r1.5 -r1.6 src/usr.sbin/sysinst/arch/newsmips/md.c
 cvs rdiff -u -r1.10 -r1.11 src/usr.sbin/sysinst/arch/ofppc/md.c
 cvs rdiff -u -r1.8 -r1.9 src/usr.sbin/sysinst/arch/playstation2/md.c
 cvs rdiff -u -r1.7 -r1.8 src/usr.sbin/sysinst/arch/pmax/md.c
 cvs rdiff -u -r1.12 -r1.13 src/usr.sbin/sysinst/arch/prep/md.c
 cvs rdiff -u -r1.8 -r1.9 src/usr.sbin/sysinst/arch/sandpoint/md.c
 cvs rdiff -u -r1.8 -r1.9 src/usr.sbin/sysinst/arch/sgimips/md.c
 cvs rdiff -u -r1.5 -r1.6 src/usr.sbin/sysinst/arch/shark/md.c
 cvs rdiff -u -r1.5 -r1.6 src/usr.sbin/sysinst/arch/sparc/md.c
 cvs rdiff -u -r1.5 -r1.6 src/usr.sbin/sysinst/arch/sparc64/md.c
 cvs rdiff -u -r1.6 -r1.7 src/usr.sbin/sysinst/arch/vax/md.c
 cvs rdiff -u -r1.10 -r1.11 src/usr.sbin/sysinst/arch/x68k/md.c
 cvs rdiff -u -r1.8 -r1.9 src/usr.sbin/sysinst/arch/zaurus/md.c

 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.

>Unformatted:

NetBSD Home
NetBSD PR Database Search

(Contact us) $NetBSD: query-full-pr,v 1.46 2020/01/03 16:35:01 leot Exp $
$NetBSD: gnats_config.sh,v 1.9 2014/08/02 14:16:04 spz Exp $
Copyright © 1994-2020 The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.