From bc4d122db033e9ff27fd230159e7e903634cf0bb Mon Sep 17 00:00:00 2001 From: Justin Hibbits Date: Mon, 18 Feb 2019 01:57:47 +0000 Subject: [PATCH] powerpc/boot: Move ubldr to /boot/uboot, and make this a separate filesystem Summary: Now that mpc85xx can boot via ubldr, move ubldr to a separate filesystem, mounted on /boot/uboot, so that a fresh install can boot correctly. Reviewed By: nwhitehorn Differential Revision: https://reviews.freebsd.org/D18709 --- etc/mtree/BSD.root.dist | 2 ++ stand/powerpc/uboot/Makefile | 1 + usr.sbin/bsdinstall/partedit/partedit_powerpc.c | 12 ++++++++---- 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/etc/mtree/BSD.root.dist b/etc/mtree/BSD.root.dist index c154a2fbcf8..371530eb049 100644 --- a/etc/mtree/BSD.root.dist +++ b/etc/mtree/BSD.root.dist @@ -26,6 +26,8 @@ .. modules .. + uboot + .. zfs .. .. diff --git a/stand/powerpc/uboot/Makefile b/stand/powerpc/uboot/Makefile index ccffd0ec146..9124507397a 100644 --- a/stand/powerpc/uboot/Makefile +++ b/stand/powerpc/uboot/Makefile @@ -11,6 +11,7 @@ LOADER_BZIP2_SUPPORT?= no .include +BINDIR= /boot/uboot PROG= ubldr NEWVERSWHAT= "U-Boot loader" ${MACHINE_ARCH} INSTALLFLAGS= -b diff --git a/usr.sbin/bsdinstall/partedit/partedit_powerpc.c b/usr.sbin/bsdinstall/partedit/partedit_powerpc.c index d18f2b77857..5a3041df5b0 100644 --- a/usr.sbin/bsdinstall/partedit/partedit_powerpc.c +++ b/usr.sbin/bsdinstall/partedit/partedit_powerpc.c @@ -94,9 +94,10 @@ bootpart_size(const char *part_type) return (0); if (strcmp(platform, "chrp") == 0) return (800*1024); - if (strcmp(platform, "ps3") == 0 || strcmp(platform, "powernv") == 0 || - strcmp(platform, "mpc85xx") == 0) + if (strcmp(platform, "ps3") == 0 || strcmp(platform, "powernv") == 0) return (512*1024*1024); + if (strcmp(platform, "mpc85xx") == 0) + return (16*1024*1024); return (0); } @@ -111,14 +112,17 @@ bootpart_type(const char *scheme, const char **mountpoint) return ("prep-boot"); if (strcmp(platform, "powermac") == 0) return ("apple-boot"); - if (strcmp(platform, "powernv") == 0 || strcmp(platform, "ps3") == 0 || - strcmp(platform, "mpc85xx") == 0) { + if (strcmp(platform, "powernv") == 0 || strcmp(platform, "ps3") == 0) { *mountpoint = "/boot"; if (strcmp(scheme, "GPT") == 0) return ("ms-basic-data"); else if (strcmp(scheme, "MBR") == 0) return ("fat32"); } + if (strcmp(platform, "mpc85xx") == 0) { + *mountpoint = "/boot/uboot"; + return ("fat16"); + } return ("freebsd-boot"); }