mirror of
https://github.com/opnsense/src.git
synced 2026-04-15 14:29:58 -04:00
as this only allows us to access file systems that EFI knows about.
With a loader that can only use EFI-supported file systems, we're
forced to put /boot on the EFI system partition. This is suboptimal
in the following ways:
1. With /boot a symlink to /efi/boot, mergemaster complains about
the mismatch and there's no quick solution.
2. The EFI loader can only boot a single version of FreeBSD. There's
no way to install multiple versions of FreeBSD and select one
at the loader prompt.
3. ZFS maintains /boot/zfs/zpool.cache and with /boot a symlink we
end up with the file on a MSDOS file system. ZFS does not have
proper handling of file systems that are under Giant.
Implement a disk device based on the block I/O protocol instead and
pull in file system code from libstand. The disk devices are really
the partitions that EFI knows about.
This change is backward compatible.
MFC after: 1 week
16 lines
379 B
Makefile
16 lines
379 B
Makefile
# $FreeBSD$
|
|
|
|
LIB= efi
|
|
INTERNALLIB=
|
|
|
|
SRCS= delay.c efi_console.c efinet.c efipart.c errno.c handles.c \
|
|
libefi.c time.c
|
|
|
|
CFLAGS+= -I${.CURDIR}/../include
|
|
CFLAGS+= -I${.CURDIR}/../include/${MACHINE_ARCH:S/amd64/i386/}
|
|
CFLAGS+= -I${.CURDIR}/../../../../lib/libstand
|
|
|
|
# Pick up the bootstrap header for some interface items
|
|
CFLAGS+= -I${.CURDIR}/../../common
|
|
|
|
.include <bsd.lib.mk>
|