Page MenuHomeFreeBSD

Allow bootstrapping makefs on older FreeBSD hosts and Linux/mac

Authored by arichardson on Jan 16 2020, 10:19 AM.



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.

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.

Diff Detail

rS FreeBSD src repository
Automatic diff as part of commit; lint not applicable.
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

arichardson created this revision.Jan 16 2020, 10:19 AM
brooks accepted this revision.Jan 16 2020, 11:01 AM
brooks added inline comments.
294 ↗(On Diff #66823)

This change should probably be explained in the commit message.

This revision is now accepted and ready to land.Jan 16 2020, 11:01 AM
arichardson added inline comments.Jan 16 2020, 11:02 AM
294 ↗(On Diff #66823)

Yeah, makes sense. In the makefs wrapper bwrite and bdwrite are the same. However, Linux does not have a IO_SYNC macro, so to bootstrap there I just always call bwrite.