CVSROOT: /cvs Module name: src Changes by: k...@cvs.openbsd.org 2022/09/03 09:46:20
Modified files: usr.sbin/installboot: macppc_installboot.c Log message: 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