NetBSD Problem Report #55058

From tsutsui@ceres.dti.ne.jp  Sun Mar  8 12:22:45 2020
Return-Path: <tsutsui@ceres.dti.ne.jp>
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 1D2AC1A9217
	for <gnats-bugs@gnats.NetBSD.org>; Sun,  8 Mar 2020 12:22:45 +0000 (UTC)
Message-Id: <202003081222.028CMYwp003429@ceres.dti.ne.jp>
Date: Sun, 8 Mar 2020 21:22:34 +0900 (JST)
From: Izumi Tsutsui <tsutsui@ceres.dti.ne.jp>
Reply-To: tsutsui@ceres.dti.ne.jp
To: gnats-bugs@NetBSD.org
Cc: tsutsui@ceres.dti.ne.jp
Subject: 9.0 sysinst does not handle a boot partition for luna68k
X-Send-Pr-Version: 3.95

>Number:         55058
>Category:       install
>Synopsis:       9.0 sysinst does not handle a boot partition for luna68k
>Confidential:   no
>Severity:       critical
>Priority:       low
>Responsible:    martin
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sun Mar 08 12:25:00 +0000 2020
>Last-Modified:  Sun Mar 08 12:40:42 +0000 2020
>Originator:     Izumi Tsutsui
>Release:        NetBSD 9.0
>Organization:
>Environment:
System: NetBSD 9.0 (INSTALL) #0: Fri Feb 14 00:06:28 UTC 2020 mkrepro@mkrepro.NetBSD.org:/usr/src/sys/arch/luna68k/compile/INSTALL

Architecture: m68k
Machine: luna68k
>Description:
LUNA machines require an old 4.4BSD derived FFS partition to
load bootstrap loader on its firmware so prior sysinst for
NetBSD/luna68k creates a boot partition on partition d:
 https://nxr.netbsd.org/xref/src/usr.sbin/sysinst/arch/luna68k/md.h?r=1.1#46
---
     40 /*
     41  * Symbolic names for disk partitions
     42  */
     43 #define PART_ROOT	PART_A
     44 #define PART_SWAP	PART_B
     45 #define PART_RAW	PART_C
     46 #define PART_BOOT	PART_D
     47 #define PART_USR	PART_G	/* Can be after PART_FIRST_FREE */
     48 #define PART_FIRST_FREE	PART_E
---

On NetBSD/luna68k 9.0 there is no loger "PART_BOOT" like options
in md.h:
 https://nxr.netbsd.org/xref/src/usr.sbin/sysinst/arch/luna68k/md.h?r=1.3
---
     44 #define PART_BOOT	(8 * MEG)	/* for a.out kernel and boot */
     45 #define PART_BOOT_TYPE	FS_BSDFFS
     46 #define	PART_BOOT_SUBT	1		/* old 4.3BSD UFS */
---

In "Set sizes of NetBSD partitions" sysinst seems to try create
the boot partition at the top of the disk:
---

 You can now change the sizes for the system partitions.  The default is to
 allocate all the space to the root file system.  However, you may wish to
 have separate /usr (additional system files), /var (log files etc) or /home
 (users' home directories) file systems.

 Free space will be added to the partition marked with a '+'.

       Size (sec)                            Filesystem
       ----------------------------------- - --------------------
   >a: 16384                                 (Other: FFS)
    b: 131072 (232442)                     + /
    c: 0                                     <swap>
    d: 0                                     /tmp (mfs)
    e: 0                                     /usr
    f: 0                                     /var
       ----------------------------------- - --------------------
    h: Add a user defined partition
    i: Clone external partition(s)
    j: Change input units (sectors/cylinders/MB/GB)
    x: Go on.  Free space 101370 sec.
---
and no swap space is allocated by default.

After that, the disklabel editor shows:
---

 We now have your disklabel partitions for sd0 below.  This is your last   
 chance to change them. 

 Flags: (I)nstall, (N)ewfs.  Total size: 121M, free: 512B

     Start (sec)    End (sec)   Size (sec)  FS type Flag Filesystem
    ------------ ------------ ------------ -------- ---- ----------------
 a:            0        16383        16384      FFS IN
 b:            0       248825       248826 Whole disk
 c:        16385       248825       232441   4.2BSD N    /
    ------------ ------------ ------------ -------- ---- ----------------
 e: Change input units (sectors/cylinders/MB/GB)
 f: Edit name of the disk
 g: Clone external partition(s)
 h: Cancel
>x: Partition sizes ok

---
As shown above, partition "a" is boot,
partition "b" is whole disk (i.e. no swap),
and partition "c" is root partition.

Note there is no choise to "add a partiton" here
so no way to add a swap partition.

>How-To-Repeat:
Install NetBSD/luna68k 9.0 via sysinst.

Whole sysinst log is attached:
---

 NetBSD/luna68k 9.0

 This menu-driven tool is designed to help you install NetBSD to a hard disk,
 or upgrade an existing NetBSD system, with a minimum of work.
 In the following menus type the reference letter (a, b, c, ...) to select an
 item, or type CTRL+N/CTRL+P to select the next/previous item.
 The arrow keys and Page-up/Page-down may also work.
 Activate the current selection from the menu by typing the enter key.


 Thank you for using NetBSD!

                NetBSD-9.0 Install System                     

               >a: Install NetBSD to hard disk                
                b: Upgrade NetBSD on a hard disk              
                c: Re-install sets or install additional sets 
                d: Reboot the computer                        
                e: Utility menu                               
                f: Config menu                                
                x: Exit Install System                        



---

 You have chosen to install NetBSD on your hard disk.  This will change
 information on your hard disk.  You should have made a full backup before
 this procedure!  This procedure will do the following things:
                 a) Partition your disk
                 b) Create new BSD file systems
                 c) Load and install distribution sets
                 d) Some initial system configuration

 (After you enter the partition information but before your disk is changed,
 you will have the opportunity to quit this procedure.)

 Shall we continue?

                                Yes or no?    

                                a: No         
                               >b: Yes        

---


 On which disk do you want to install NetBSD?



                           Available disks          

                          >a: sd0 (121M)            
                           b: sd1 (30G)                                       
                           c: Extended partitioning 
                           x: Exit                  

---

 You can use a simple editor to set the sizes of the NetBSD partitions, or
 apply the default partition sizes and contents.

 You will then be given the opportunity to change any of the partition
 details.

 The NetBSD (or free) part of your disk (sd0) is 121M.

 A full installation requires at least 942M without X and at least 1192M if
 the X sets are included.


                      What would you like to do?        

                     >a: Set sizes of NetBSD partitions 
                      b: Use default partition sizes    

---

 You can now change the sizes for the system partitions.  The default is to
 allocate all the space to the root file system.  However, you may wish to
 have separate /usr (additional system files), /var (log files etc) or /home
 (users' home directories) file systems.

 Free space will be added to the partition marked with a '+'.

       Size (sec)                            Filesystem
       ----------------------------------- - --------------------
    a: 16384                                 (Other: FFS)
    b: 131072 (232442)                     + /
    c: 0                                     <swap>
    d: 0                                     /tmp (mfs)
    e: 0                                     /usr
    f: 0                                     /var
       ----------------------------------- - --------------------
    h: Add a user defined partition
    i: Clone external partition(s)
    j: Change input units (sectors/cylinders/MB/GB)
   >x: Go on.  Free space 101370 sec.


---

 We now have your disklabel partitions for sd0 below.  This is your last   
 chance to change them. 

 Flags: (I)nstall, (N)ewfs.  Total size: 121M, free: 512B

     Start (sec)    End (sec)   Size (sec)  FS type Flag Filesystem
    ------------ ------------ ------------ -------- ---- ----------------
 a:            0        16383        16384      FFS IN
 b:            0       248825       248826 Whole disk
 c:        16385       248825       232441   4.2BSD N    /
    ------------ ------------ ------------ -------- ---- ----------------
 e: Change input units (sectors/cylinders/MB/GB)
 f: Edit name of the disk
 g: Clone external partition(s)
 h: Cancel
>x: Partition sizes ok

---


>Fix:
Not sure.

src/usr.sbin/sysinst/README.md_defs says:
> The boot partition is always inserted at the front of the suggested default
> partitions, to cope with firmwares that may not be able to load from the
> whole disk.

I'm not sure what "the suggested default partitions" mean here,
but at least this is not neccesary for luna68k.

---
Izumi Tsutsui

>Release-Note:

>Audit-Trail:

Responsible-Changed-From-To: install-manager->martin
Responsible-Changed-By: martin@NetBSD.org
Responsible-Changed-When: Sun, 08 Mar 2020 12:40:42 +0000
Responsible-Changed-Why:
my bug


>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.