Module Name: src Committed By: martin Date: Thu Jun 13 09:36:56 UTC 2019
Modified Files: src/usr.sbin/sysinst/arch/arc: md.c src/usr.sbin/sysinst/arch/bebox: md.c src/usr.sbin/sysinst/arch/cobalt: 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/hpcarm: md.c src/usr.sbin/sysinst/arch/hpcmips: md.c src/usr.sbin/sysinst/arch/hpcsh: md.c src/usr.sbin/sysinst/arch/landisk: md.c src/usr.sbin/sysinst/arch/ofppc: md.c src/usr.sbin/sysinst/arch/prep: md.c src/usr.sbin/sysinst/arch/sandpoint: md.c src/usr.sbin/sysinst/arch/zaurus: md.c Log Message: In the new world order disks may come without any partitioning scheme attached - so the user may have to select one. To generate a diff of this commit: cvs rdiff -u -r1.5 -r1.6 src/usr.sbin/sysinst/arch/arc/md.c cvs rdiff -u -r1.3 -r1.4 src/usr.sbin/sysinst/arch/bebox/md.c cvs rdiff -u -r1.5 -r1.6 src/usr.sbin/sysinst/arch/cobalt/md.c cvs rdiff -u -r1.6 -r1.7 src/usr.sbin/sysinst/arch/evbarm/md.c cvs rdiff -u -r1.3 -r1.4 src/usr.sbin/sysinst/arch/evbmips/md.c cvs rdiff -u -r1.3 -r1.4 src/usr.sbin/sysinst/arch/evbppc/md.c cvs rdiff -u -r1.3 -r1.4 src/usr.sbin/sysinst/arch/hpcarm/md.c cvs rdiff -u -r1.3 -r1.4 src/usr.sbin/sysinst/arch/hpcmips/md.c cvs rdiff -u -r1.4 -r1.5 src/usr.sbin/sysinst/arch/hpcsh/md.c cvs rdiff -u -r1.5 -r1.6 src/usr.sbin/sysinst/arch/landisk/md.c cvs rdiff -u -r1.4 -r1.5 src/usr.sbin/sysinst/arch/ofppc/md.c cvs rdiff -u -r1.5 -r1.6 src/usr.sbin/sysinst/arch/prep/md.c cvs rdiff -u -r1.3 -r1.4 src/usr.sbin/sysinst/arch/sandpoint/md.c cvs rdiff -u -r1.3 -r1.4 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.
Modified files: Index: src/usr.sbin/sysinst/arch/arc/md.c diff -u src/usr.sbin/sysinst/arch/arc/md.c:1.5 src/usr.sbin/sysinst/arch/arc/md.c:1.6 --- src/usr.sbin/sysinst/arch/arc/md.c:1.5 Wed Jun 12 06:20:18 2019 +++ src/usr.sbin/sysinst/arch/arc/md.c Thu Jun 13 09:36:54 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: md.c,v 1.5 2019/06/12 06:20:18 martin Exp $ */ +/* $NetBSD: md.c,v 1.6 2019/06/13 09:36:54 martin Exp $ */ /* * Copyright 1997 Piermont Information Systems Inc. @@ -65,6 +65,29 @@ md_init_set_status(int flags) bool md_get_info(struct install_partition_desc *install) { + + if (pm->no_mbr || pm->no_part) + return true; + + if (pm->parts == NULL) { + + const struct disk_partitioning_scheme *ps = + select_part_scheme(pm, NULL, true, NULL); + + if (!ps) + return true; + + struct disk_partitions *parts = + (*ps->create_new_for_disk)(pm->diskdev, + 0, pm->dlsize, pm->dlsize, true); + if (!parts) + return false; + + pm->parts = parts; + if (ps->size_limit > 0 && pm->dlsize > ps->size_limit) + pm->dlsize = ps->size_limit; + } + return set_bios_geom_with_mbr_guess(pm->parts); } Index: src/usr.sbin/sysinst/arch/bebox/md.c diff -u src/usr.sbin/sysinst/arch/bebox/md.c:1.3 src/usr.sbin/sysinst/arch/bebox/md.c:1.4 --- src/usr.sbin/sysinst/arch/bebox/md.c:1.3 Wed Jun 12 06:20:19 2019 +++ src/usr.sbin/sysinst/arch/bebox/md.c Thu Jun 13 09:36:54 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: md.c,v 1.3 2019/06/12 06:20:19 martin Exp $ */ +/* $NetBSD: md.c,v 1.4 2019/06/13 09:36:54 martin Exp $ */ /* * Copyright 1997 Piermont Information Systems Inc. @@ -58,6 +58,29 @@ md_init_set_status(int flags) bool md_get_info(struct install_partition_desc *install) { + + if (pm->no_mbr || pm->no_part) + return true; + + if (pm->parts == NULL) { + + const struct disk_partitioning_scheme *ps = + select_part_scheme(pm, NULL, true, NULL); + + if (!ps) + return true; + + struct disk_partitions *parts = + (*ps->create_new_for_disk)(pm->diskdev, + 0, pm->dlsize, pm->dlsize, true); + if (!parts) + return false; + + pm->parts = parts; + if (ps->size_limit > 0 && pm->dlsize > ps->size_limit) + pm->dlsize = ps->size_limit; + } + return set_bios_geom_with_mbr_guess(pm->parts); } Index: src/usr.sbin/sysinst/arch/cobalt/md.c diff -u src/usr.sbin/sysinst/arch/cobalt/md.c:1.5 src/usr.sbin/sysinst/arch/cobalt/md.c:1.6 --- src/usr.sbin/sysinst/arch/cobalt/md.c:1.5 Wed Jun 12 06:20:19 2019 +++ src/usr.sbin/sysinst/arch/cobalt/md.c Thu Jun 13 09:36:54 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: md.c,v 1.5 2019/06/12 06:20:19 martin Exp $ */ +/* $NetBSD: md.c,v 1.6 2019/06/13 09:36:54 martin Exp $ */ /* * Copyright 1997 Piermont Information Systems Inc. @@ -65,6 +65,29 @@ md_init_set_status(int flags) bool md_get_info(struct install_partition_desc *install) { + + if (pm->no_mbr || pm->no_part) + return true; + + if (pm->parts == NULL) { + + const struct disk_partitioning_scheme *ps = + select_part_scheme(pm, NULL, true, NULL); + + if (!ps) + return true; + + struct disk_partitions *parts = + (*ps->create_new_for_disk)(pm->diskdev, + 0, pm->dlsize, pm->dlsize, true); + if (!parts) + return false; + + pm->parts = parts; + if (ps->size_limit > 0 && pm->dlsize > ps->size_limit) + pm->dlsize = ps->size_limit; + } + return set_bios_geom_with_mbr_guess(pm->parts); } Index: src/usr.sbin/sysinst/arch/evbarm/md.c diff -u src/usr.sbin/sysinst/arch/evbarm/md.c:1.6 src/usr.sbin/sysinst/arch/evbarm/md.c:1.7 --- src/usr.sbin/sysinst/arch/evbarm/md.c:1.6 Wed Jun 12 06:20:19 2019 +++ src/usr.sbin/sysinst/arch/evbarm/md.c Thu Jun 13 09:36:54 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: md.c,v 1.6 2019/06/12 06:20:19 martin Exp $ */ +/* $NetBSD: md.c,v 1.7 2019/06/13 09:36:54 martin Exp $ */ /* * Copyright 1997 Piermont Information Systems Inc. @@ -73,6 +73,28 @@ bool md_get_info(struct install_partition_desc *install) { + if (pm->no_mbr || pm->no_part) + return true; + + if (pm->parts == NULL) { + + const struct disk_partitioning_scheme *ps = + select_part_scheme(pm, NULL, true, NULL); + + if (!ps) + return true; + + struct disk_partitions *parts = + (*ps->create_new_for_disk)(pm->diskdev, + 0, pm->dlsize, pm->dlsize, true); + if (!parts) + return false; + + pm->parts = parts; + if (ps->size_limit > 0 && pm->dlsize > ps->size_limit) + pm->dlsize = ps->size_limit; + } + if (boardtype == BOARD_TYPE_RPI) return set_bios_geom_with_mbr_guess(pm->parts); Index: src/usr.sbin/sysinst/arch/evbmips/md.c diff -u src/usr.sbin/sysinst/arch/evbmips/md.c:1.3 src/usr.sbin/sysinst/arch/evbmips/md.c:1.4 --- src/usr.sbin/sysinst/arch/evbmips/md.c:1.3 Wed Jun 12 06:20:19 2019 +++ src/usr.sbin/sysinst/arch/evbmips/md.c Thu Jun 13 09:36:55 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: md.c,v 1.3 2019/06/12 06:20:19 martin Exp $ */ +/* $NetBSD: md.c,v 1.4 2019/06/13 09:36:55 martin Exp $ */ /* * Copyright 1997,2002 Piermont Information Systems Inc. @@ -58,6 +58,29 @@ md_init_set_status(int flags) bool md_get_info(struct install_partition_desc *install) { + + if (pm->no_mbr || pm->no_part) + return true; + + if (pm->parts == NULL) { + + const struct disk_partitioning_scheme *ps = + select_part_scheme(pm, NULL, true, NULL); + + if (!ps) + return true; + + struct disk_partitions *parts = + (*ps->create_new_for_disk)(pm->diskdev, + 0, pm->dlsize, pm->dlsize, true); + if (!parts) + return false; + + pm->parts = parts; + if (ps->size_limit > 0 && pm->dlsize > ps->size_limit) + pm->dlsize = ps->size_limit; + } + return set_bios_geom_with_mbr_guess(pm->parts); } Index: src/usr.sbin/sysinst/arch/evbppc/md.c diff -u src/usr.sbin/sysinst/arch/evbppc/md.c:1.3 src/usr.sbin/sysinst/arch/evbppc/md.c:1.4 --- src/usr.sbin/sysinst/arch/evbppc/md.c:1.3 Wed Jun 12 06:20:19 2019 +++ src/usr.sbin/sysinst/arch/evbppc/md.c Thu Jun 13 09:36:55 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: md.c,v 1.3 2019/06/12 06:20:19 martin Exp $ */ +/* $NetBSD: md.c,v 1.4 2019/06/13 09:36:55 martin Exp $ */ /* * Copyright 1997,2002 Piermont Information Systems Inc. @@ -58,6 +58,29 @@ md_init_set_status(int flags) bool md_get_info(struct install_partition_desc *install) { + + if (pm->no_mbr || pm->no_part) + return true; + + if (pm->parts == NULL) { + + const struct disk_partitioning_scheme *ps = + select_part_scheme(pm, NULL, true, NULL); + + if (!ps) + return true; + + struct disk_partitions *parts = + (*ps->create_new_for_disk)(pm->diskdev, + 0, pm->dlsize, pm->dlsize, true); + if (!parts) + return false; + + pm->parts = parts; + if (ps->size_limit > 0 && pm->dlsize > ps->size_limit) + pm->dlsize = ps->size_limit; + } + return set_bios_geom_with_mbr_guess(pm->parts); } Index: src/usr.sbin/sysinst/arch/hpcarm/md.c diff -u src/usr.sbin/sysinst/arch/hpcarm/md.c:1.3 src/usr.sbin/sysinst/arch/hpcarm/md.c:1.4 --- src/usr.sbin/sysinst/arch/hpcarm/md.c:1.3 Wed Jun 12 06:20:20 2019 +++ src/usr.sbin/sysinst/arch/hpcarm/md.c Thu Jun 13 09:36:55 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: md.c,v 1.3 2019/06/12 06:20:20 martin Exp $ */ +/* $NetBSD: md.c,v 1.4 2019/06/13 09:36:55 martin Exp $ */ /* * Copyright 1997 Piermont Information Systems Inc. @@ -87,6 +87,29 @@ md_init_set_status(int flags) bool md_get_info(struct install_partition_desc *install) { + + if (pm->no_mbr || pm->no_part) + return true; + + if (pm->parts == NULL) { + + const struct disk_partitioning_scheme *ps = + select_part_scheme(pm, NULL, true, NULL); + + if (!ps) + return true; + + struct disk_partitions *parts = + (*ps->create_new_for_disk)(pm->diskdev, + 0, pm->dlsize, pm->dlsize, true); + if (!parts) + return false; + + pm->parts = parts; + if (ps->size_limit > 0 && pm->dlsize > ps->size_limit) + pm->dlsize = ps->size_limit; + } + return set_bios_geom_with_mbr_guess(pm->parts); } Index: src/usr.sbin/sysinst/arch/hpcmips/md.c diff -u src/usr.sbin/sysinst/arch/hpcmips/md.c:1.3 src/usr.sbin/sysinst/arch/hpcmips/md.c:1.4 --- src/usr.sbin/sysinst/arch/hpcmips/md.c:1.3 Wed Jun 12 06:20:20 2019 +++ src/usr.sbin/sysinst/arch/hpcmips/md.c Thu Jun 13 09:36:55 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: md.c,v 1.3 2019/06/12 06:20:20 martin Exp $ */ +/* $NetBSD: md.c,v 1.4 2019/06/13 09:36:55 martin Exp $ */ /* * Copyright 1997 Piermont Information Systems Inc. @@ -61,6 +61,29 @@ md_init_set_status(int flags) bool md_get_info(struct install_partition_desc *install) { + + if (pm->no_mbr || pm->no_part) + return true; + + if (pm->parts == NULL) { + + const struct disk_partitioning_scheme *ps = + select_part_scheme(pm, NULL, true, NULL); + + if (!ps) + return true; + + struct disk_partitions *parts = + (*ps->create_new_for_disk)(pm->diskdev, + 0, pm->dlsize, pm->dlsize, true); + if (!parts) + return false; + + pm->parts = parts; + if (ps->size_limit > 0 && pm->dlsize > ps->size_limit) + pm->dlsize = ps->size_limit; + } + return set_bios_geom_with_mbr_guess(pm->parts); } Index: src/usr.sbin/sysinst/arch/hpcsh/md.c diff -u src/usr.sbin/sysinst/arch/hpcsh/md.c:1.4 src/usr.sbin/sysinst/arch/hpcsh/md.c:1.5 --- src/usr.sbin/sysinst/arch/hpcsh/md.c:1.4 Wed Jun 12 06:20:20 2019 +++ src/usr.sbin/sysinst/arch/hpcsh/md.c Thu Jun 13 09:36:55 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: md.c,v 1.4 2019/06/12 06:20:20 martin Exp $ */ +/* $NetBSD: md.c,v 1.5 2019/06/13 09:36:55 martin Exp $ */ /* * Copyright 1997 Piermont Information Systems Inc. @@ -63,6 +63,28 @@ bool md_get_info(struct install_partition_desc *install) { + if (pm->no_mbr || pm->no_part) + return true; + + if (pm->parts == NULL) { + + const struct disk_partitioning_scheme *ps = + select_part_scheme(pm, NULL, true, NULL); + + if (!ps) + return true; + + struct disk_partitions *parts = + (*ps->create_new_for_disk)(pm->diskdev, + 0, pm->dlsize, pm->dlsize, true); + if (!parts) + return false; + + pm->parts = parts; + if (ps->size_limit > 0 && pm->dlsize > ps->size_limit) + pm->dlsize = ps->size_limit; + } + return set_bios_geom_with_mbr_guess(pm->parts); } Index: src/usr.sbin/sysinst/arch/landisk/md.c diff -u src/usr.sbin/sysinst/arch/landisk/md.c:1.5 src/usr.sbin/sysinst/arch/landisk/md.c:1.6 --- src/usr.sbin/sysinst/arch/landisk/md.c:1.5 Wed Jun 12 06:20:21 2019 +++ src/usr.sbin/sysinst/arch/landisk/md.c Thu Jun 13 09:36:55 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: md.c,v 1.5 2019/06/12 06:20:21 martin Exp $ */ +/* $NetBSD: md.c,v 1.6 2019/06/13 09:36:55 martin Exp $ */ /* * Copyright 1997,2002 Piermont Information Systems Inc. @@ -58,6 +58,29 @@ md_init_set_status(int flags) bool md_get_info(struct install_partition_desc *install) { + + if (pm->no_mbr || pm->no_part) + return true; + + if (pm->parts == NULL) { + + const struct disk_partitioning_scheme *ps = + select_part_scheme(pm, NULL, true, NULL); + + if (!ps) + return true; + + struct disk_partitions *parts = + (*ps->create_new_for_disk)(pm->diskdev, + 0, pm->dlsize, pm->dlsize, true); + if (!parts) + return false; + + pm->parts = parts; + if (ps->size_limit > 0 && pm->dlsize > ps->size_limit) + pm->dlsize = ps->size_limit; + } + return set_bios_geom_with_mbr_guess(pm->parts); } Index: src/usr.sbin/sysinst/arch/ofppc/md.c diff -u src/usr.sbin/sysinst/arch/ofppc/md.c:1.4 src/usr.sbin/sysinst/arch/ofppc/md.c:1.5 --- src/usr.sbin/sysinst/arch/ofppc/md.c:1.4 Wed Jun 12 06:20:22 2019 +++ src/usr.sbin/sysinst/arch/ofppc/md.c Thu Jun 13 09:36:55 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: md.c,v 1.4 2019/06/12 06:20:22 martin Exp $ */ +/* $NetBSD: md.c,v 1.5 2019/06/13 09:36:55 martin Exp $ */ /* * Copyright 1997 Piermont Information Systems Inc. @@ -79,6 +79,29 @@ md_get_info(struct install_partition_des if (check_rdb()) return true; + + if (pm->no_mbr || pm->no_part) + return true; + + if (pm->parts == NULL) { + + const struct disk_partitioning_scheme *ps = + select_part_scheme(pm, NULL, true, NULL); + + if (!ps) + return true; + + struct disk_partitions *parts = + (*ps->create_new_for_disk)(pm->diskdev, + 0, pm->dlsize, pm->dlsize, true); + if (!parts) + return false; + + pm->parts = parts; + if (ps->size_limit > 0 && pm->dlsize > ps->size_limit) + pm->dlsize = ps->size_limit; + } + return set_bios_geom_with_mbr_guess(pm->parts); } Index: src/usr.sbin/sysinst/arch/prep/md.c diff -u src/usr.sbin/sysinst/arch/prep/md.c:1.5 src/usr.sbin/sysinst/arch/prep/md.c:1.6 --- src/usr.sbin/sysinst/arch/prep/md.c:1.5 Wed Jun 12 06:20:22 2019 +++ src/usr.sbin/sysinst/arch/prep/md.c Thu Jun 13 09:36:55 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: md.c,v 1.5 2019/06/12 06:20:22 martin Exp $ */ +/* $NetBSD: md.c,v 1.6 2019/06/13 09:36:55 martin Exp $ */ /* * Copyright 1997 Piermont Information Systems Inc. @@ -63,6 +63,29 @@ md_init_set_status(int flags) bool md_get_info(struct install_partition_desc *install) { + + if (pm->no_mbr || pm->no_part) + return true; + + if (pm->parts == NULL) { + + const struct disk_partitioning_scheme *ps = + select_part_scheme(pm, NULL, true, NULL); + + if (!ps) + return true; + + struct disk_partitions *parts = + (*ps->create_new_for_disk)(pm->diskdev, + 0, pm->dlsize, pm->dlsize, true); + if (!parts) + return false; + + pm->parts = parts; + if (ps->size_limit > 0 && pm->dlsize > ps->size_limit) + pm->dlsize = ps->size_limit; + } + return set_bios_geom_with_mbr_guess(pm->parts); } Index: src/usr.sbin/sysinst/arch/sandpoint/md.c diff -u src/usr.sbin/sysinst/arch/sandpoint/md.c:1.3 src/usr.sbin/sysinst/arch/sandpoint/md.c:1.4 --- src/usr.sbin/sysinst/arch/sandpoint/md.c:1.3 Wed Jun 12 06:20:22 2019 +++ src/usr.sbin/sysinst/arch/sandpoint/md.c Thu Jun 13 09:36:56 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: md.c,v 1.3 2019/06/12 06:20:22 martin Exp $ */ +/* $NetBSD: md.c,v 1.4 2019/06/13 09:36:56 martin Exp $ */ /* * Copyright 1997 Piermont Information Systems Inc. @@ -92,6 +92,29 @@ md_init_set_status(int flags) bool md_get_info(struct install_partition_desc *install) { + + if (pm->no_mbr || pm->no_part) + return true; + + if (pm->parts == NULL) { + + const struct disk_partitioning_scheme *ps = + select_part_scheme(pm, NULL, true, NULL); + + if (!ps) + return true; + + struct disk_partitions *parts = + (*ps->create_new_for_disk)(pm->diskdev, + 0, pm->dlsize, pm->dlsize, true); + if (!parts) + return false; + + pm->parts = parts; + if (ps->size_limit > 0 && pm->dlsize > ps->size_limit) + pm->dlsize = ps->size_limit; + } + return set_bios_geom_with_mbr_guess(pm->parts); } Index: src/usr.sbin/sysinst/arch/zaurus/md.c diff -u src/usr.sbin/sysinst/arch/zaurus/md.c:1.3 src/usr.sbin/sysinst/arch/zaurus/md.c:1.4 --- src/usr.sbin/sysinst/arch/zaurus/md.c:1.3 Wed Jun 12 06:20:23 2019 +++ src/usr.sbin/sysinst/arch/zaurus/md.c Thu Jun 13 09:36:56 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: md.c,v 1.3 2019/06/12 06:20:23 martin Exp $ */ +/* $NetBSD: md.c,v 1.4 2019/06/13 09:36:56 martin Exp $ */ /* * Copyright 1997 Piermont Information Systems Inc. @@ -72,6 +72,29 @@ md_init_set_status(int flags) bool md_get_info(struct install_partition_desc *install) { + + if (pm->no_mbr || pm->no_part) + return true; + + if (pm->parts == NULL) { + + const struct disk_partitioning_scheme *ps = + select_part_scheme(pm, NULL, true, NULL); + + if (!ps) + return true; + + struct disk_partitions *parts = + (*ps->create_new_for_disk)(pm->diskdev, + 0, pm->dlsize, pm->dlsize, true); + if (!parts) + return false; + + pm->parts = parts; + if (ps->size_limit > 0 && pm->dlsize > ps->size_limit) + pm->dlsize = ps->size_limit; + } + return set_bios_geom_with_mbr_guess(pm->parts); }