HomeFreeBSD

Allow bootstrapping makefs on older FreeBSD hosts and Linux/macOS

Description

Allow bootstrapping makefs on older FreeBSD hosts and Linux/macOS

In order to do so we need to install the msdosfs headers to the bootstrap
sysroot and avoid includes of kernel headers that may not exist on every
host (e.g. sys/lockmgr.h). This change should allow bootstrapping of makefs
on FreeBSD 11+ as well as Linux and macOS.

We also have to avoid using the IO_SYNC macro since that may not be
available. In makefs it is only used to switch between calling
bwrite() and bdwrite() which both call the same function. Therefore we
can simply always call bwrite().

For our CheriBSD builds we always bootstrap makefs by setting
LOCAL_XTOOL_DIRS='lib/libnetbsd usr.sbin/makefs' and use the makefs binary
from the build tree to create a bootable disk image.

Reviewed By: brooks
Differential Revision: https://reviews.freebsd.org/D23201

(cherry picked from commit 162ae9c834f6d9f9cb443bd62cceb23e0b5fef48)

Details

Provenance
arichardsonAuthored on Jan 27 2020, 12:02 PM
jrtc27Committed on Thu, Dec 12, 9:41 PM
Reviewer
brooks
Differential Revision
D23201: Allow bootstrapping makefs on older FreeBSD hosts and Linux/mac
Parents
rG3e750057fbba: makefs: avoid warning when creating FAT filesystem on existing file
Branches
Unknown
Tags
Unknown