OpenBSD CVS

CVS log for src/usr.sbin/installboot/macppc_installboot.c


[BACK] Up to [local] / src / usr.sbin / installboot

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.11 / (download) - annotate - [select for diffs], Wed Apr 26 18:04:21 2023 UTC (13 months ago) by kn
Branch: MAIN
CVS Tags: OPENBSD_7_5_BASE, OPENBSD_7_5, OPENBSD_7_4_BASE, OPENBSD_7_4, HEAD
Changes since 1.10: +2 -2 lines
Diff to previous 1.10 (colored)

Fix confusing comments, no object change;  with caspar

Revision 1.10 / (download) - annotate - [select for diffs], Sun Nov 6 20:03:49 2022 UTC (18 months, 3 weeks ago) by krw
Branch: MAIN
CVS Tags: OPENBSD_7_3_BASE, OPENBSD_7_3
Changes since 1.9: +2 -3 lines
Diff to previous 1.9 (colored)

Nuke some 'set but not used' pathlen variables.

ok beck@

Revision 1.9 / (download) - annotate - [select for diffs], Sun Nov 6 12:33:41 2022 UTC (18 months, 3 weeks ago) by krw
Branch: MAIN
Changes since 1.8: +4 -1 lines
Diff to previous 1.8 (colored)

Don't leak args.fspec in create_filesystem().

ok kn@

Revision 1.8 / (download) - annotate - [select for diffs], Wed Sep 14 16:43:00 2022 UTC (20 months, 2 weeks ago) by kn
Branch: MAIN
CVS Tags: OPENBSD_7_2_BASE, OPENBSD_7_2
Changes since 1.7: +2 -9 lines
Diff to previous 1.7 (colored)

Backout "Reflect script failure in exit code"

amd64 install using (G)PT seems busted as reported by tb

Revision 1.7 / (download) - annotate - [select for diffs], Fri Sep 9 15:53:16 2022 UTC (20 months, 3 weeks ago) by kn
Branch: MAIN
Changes since 1.6: +10 -3 lines
Diff to previous 1.6 (colored)

Reflect script failure in exit code

installboot(8) runs newfs(8) and fsck(8) via system(3) but only checks
failures of the function itself, always returning zero no matter what the
programs/shell returned.

This is bad for regress tests relying on correct return codes.

create_filesystem() itself must not exit as write_filesystem() calls it and
cleans up temporary files upon failure.

Make it return -1 if the script returned non-zero so write_filesystem()
handles it as error, cleans up and makes installboot exit 1.

Stop ignoring create_filesystem()'s return code in md_prepareboot() and
exit the same way.

Here's the change in behaviour on arm64 (newfs fails because of the
vnd/disklabel race, see "Race in disk_attach_callback?" on tech@):

	# installboot -vp vnd0 ; echo $?
	newfsing 6694ae5b0d7596ed.i
	newfs_msdos: /dev/r6694ae5b0d7596ed.i: No such file or directory
	0
	# ./obj/installboot -vp vnd0 ; echo $?
	newfsing 6694ae5b0d7596ed.i
	newfs_msdos: /dev/r6694ae5b0d7596ed.i: No such file or directory
	1

Tested on amd64 arm64 macppc octeon powerpc64 sparc64
OK millert

Revision 1.6 / (download) - annotate - [select for diffs], Sat Sep 3 15:46:20 2022 UTC (20 months, 4 weeks ago) by kn
Branch: MAIN
Changes since 1.5: +6 -15 lines
Diff to previous 1.5 (colored)

Fix passing explicit stage files

Every platform ought to set `stages', `stage1' and optionally `stage2'
in md_init(), otherwise passing explicit files results won't work as
`stages' is zero-initialised and no default path is set:

	# installboot -nv wd0 ./ofwboot
	usage:	installboot [-nv] [-r root] disk [stage1]
		installboot [-nv] -p disk

This is correct synopsis and ought to work, but macppc_installboot.c
(others, too) has an empty md_init().  Set stage bits to fix this:

	# ./obj/installboot -nv wd0 ./ofwboot
	Using / as root
	would install bootstrap on /dev/rwd0c
	using first-stage ./ofwboot
	would copy ./ofwboot to /tmp/installboot.Ymmm6QU8OJ/ofwboot

Using `stage1' leads to a bit more cleanup since early MI installboot.c
handles `-r', i.e. write_filesystem() no longer has needs to do the
fileprefix() dance itself.

This makes regress/usr.sbin/installboot pass on macppc (while being lucky
or carrying miod's fix for the kernel disklabel race manifesting on vnd).

OK gkoehler

Revision 1.5 / (download) - annotate - [select for diffs], Wed Aug 31 20:52:15 2022 UTC (21 months ago) by krw
Branch: MAIN
Changes since 1.4: +3 -3 lines
Diff to previous 1.4 (colored)

Replace "newfs_msdos" and "fsck_msdos" with "newfs -t msdos" and "fsck -t
msdos".

Add some missing spaces after "=".

Constify the static strings.

Prodded a while ago by deraadt@, tweaks from kn@, ok kn@

Revision 1.4 / (download) - annotate - [select for diffs], Tue Jul 20 14:51:56 2021 UTC (2 years, 10 months ago) by kettenis
Branch: MAIN
CVS Tags: OPENBSD_7_1_BASE, OPENBSD_7_1, OPENBSD_7_0_BASE, OPENBSD_7_0
Changes since 1.3: +67 -13 lines
Diff to previous 1.3 (colored)

Add -p option to "prepare" (newfs) a filesystem that will be used for
the bootloader.  This is a no-op on architectures where such a filesystem
isn't needed.

ok krw@, deraadt@

Revision 1.3 / (download) - annotate - [select for diffs], Wed Jul 22 05:06:38 2020 UTC (3 years, 10 months ago) by deraadt
Branch: MAIN
CVS Tags: OPENBSD_6_9_BASE, OPENBSD_6_9, OPENBSD_6_8_BASE, OPENBSD_6_8
Changes since 1.2: +2 -1 lines
Diff to previous 1.2 (colored)

force long-names on msdos filenames, so that folk can see pretty names
later.
ok kettenis gkoehler

Revision 1.2 / (download) - annotate - [select for diffs], Sat Jul 18 16:42:00 2020 UTC (3 years, 10 months ago) by deraadt
Branch: MAIN
Changes since 1.1: +2 -2 lines
Diff to previous 1.1 (colored)

use correct structure for mounting, duh
ok visa kettenis

Revision 1.1 / (download) - annotate - [select for diffs], Sat Jun 27 15:35:29 2020 UTC (3 years, 11 months ago) by deraadt
Branch: MAIN

convert macppc, octeon, and loongson to use MI installboot, removing
special case scripting in install.md.
(macppc still requires manual steps for HFS bootmode)
tested by krw, visa, gkoehler

This form allows you to request diff's between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.