mirror of
https://github.com/opnsense/src.git
synced 2026-03-03 05:41:01 -05: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
|
||
|---|---|---|
| .. | ||
| bcache.c | ||
| boot.c | ||
| bootstrap.h | ||
| commands.c | ||
| console.c | ||
| dev_net.c | ||
| dev_net.h | ||
| devopen.c | ||
| help.common | ||
| interp.c | ||
| interp_backslash.c | ||
| interp_forth.c | ||
| interp_parse.c | ||
| isapnp.c | ||
| isapnp.h | ||
| load_elf.c | ||
| load_elf32.c | ||
| load_elf32_obj.c | ||
| load_elf64.c | ||
| load_elf64_obj.c | ||
| load_elf_obj.c | ||
| loader.8 | ||
| ls.c | ||
| Makefile.inc | ||
| md.c | ||
| merge_help.awk | ||
| misc.c | ||
| module.c | ||
| newvers.sh | ||
| panic.c | ||
| pnp.c | ||
| reloc_elf.c | ||
| reloc_elf32.c | ||
| reloc_elf64.c | ||
| ufsread.c | ||