- User Since
- Nov 7 2015, 11:25 PM (81 w, 2 d)
Fri, May 12
Resolved issues with booting, tested with successful boot on QEMU. This should work now, but still needs to be tested on real hardware.
Mon, May 1
Use currdev environment variable, and libstand's basic file API.
Apr 26 2017
Apr 24 2017
Actually, there is a bug hiding out somewhere in this that causes ZFS volumes not to be detected.
Apr 22 2017
Apr 21 2017
Apr 17 2017
Apr 1 2017
Remove unnecessary changes to handles.c
Actually, efi_register_handle and efi_handle_remove_dev can be deleted from this patch. They were an artifact of when I tried to add hot-plugging support to the EFI loader (it doesn't work because bcache doesn't support it)
Removed getdesc function for ZFS (this was moved into the getdesc patch)
Mar 31 2017
Integrate allanjude's pull request
Rebased after alanjude's patch adding explicit_bzero to boot loaders
Mar 6 2017
Add changes by Allan Jude, adding support to boot2
Mar 1 2017
Good change for my pending keybuf work
Feb 20 2017
I like the interface in lib/libefi/libefi.c
Add some more utility functions
Feb 19 2017
Update on this patch: I'm going to attempt to break it up into some smaller changesets to make it more manageable.
Feb 18 2017
Feb 16 2017
Feb 15 2017
Feb 14 2017
Moved MODINFOMD_KEYBUF definition to sys/linker.h
Added hook to clear GELI keys out of the intake buffer at mountroot.
An observation: as presently implemented, this would bypass the password check for any GELI volume that was detached and later attached again. This is probably not desirable, as it could break security models.
Addressed style issues.
Feb 13 2017
Jan 15 2017
btw, there is also D8581 - it does work on another dimension however, by reusing disk and part API, and providing already familiar output for user.
Jan 14 2017
With partition - filesystem mapping we can get the device handle without much issue - the handle stack has handles from FS down to partition and disk handle and the api to access the next handle from stack is there.
With zfs the situation is much more complicated as it is dual disk and file system and we need interface to access BE list and to switch the "current" filesystem on top of the "disk", and UEFI api itself does not help us there. It is possible to create specific protocol on top of zfs pool to implement an mechanism to get information about BE's and to switch, but it means that instead of reducing complexity, we are adding more.... note that the dataset list specifying BE's can be quite long, on my dev host I currently do have 73 entries.
Also, as I already wrote, for human operating the machine, it is really important to know exactly what I'm going to boot from.
Jan 13 2017
tsoome, could you try out the new changes on your complex disk setup and let me know what the output looks like?
Jan 7 2017
Fixed issue with directory listing file types.
It seems that I forgot about the file type issue with ls. I'll address that next, but please test the current patch to make sure it addresses the naming issue adequately.
Added functionality to print out information about the filesystems with lsdev.
Dec 6 2016
Dec 5 2016
Yep, we can skip dosfs there, and for very simple reason - if the firmware is not able to read system partition, there is no boot anyhow.
OK, based on others' reproduction of tsoome's issue on -hackers, I have a credible diagnostic theory.
tsoome, can I get you to build and test with the extra_logging branch on my github repo: https://github.com/emc2/freebsd
Dec 2 2016
I've posted a CFT to -hackers, -current, and -amd64.
Dec 1 2016
Replaced uses of AllocatePool with malloc. Tested with a UFS partition, no problem.
Nov 22 2016
Nov 21 2016
IFC, also properly restored preferred functionality
Oct 12 2016
The preferred partition functionality is restored. The boot1 program now obtains the device handle from the loaded image handle, and checks for the presence of an EFI_SIMPLE_FILE_SYSTEM interface after attaching all drivers before scanning all partitions. This will have the effect of preferring the boot device on which the boot1 program resides.
Sep 17 2016
To proceed, I need guidance on what exactly should be done to restore the preferred functionality.
Fix a bunch of style issues. Still need to restore preferred partition support.
Aug 21 2016
The preferred stuff probably got squashed in a merge. A question worth asking: should I reinstate it as-is, or is there any minor improvement that could be done opportunistically?
RE: device names- There are options here. EFI has a protocol that can be used to attach an arbitrary string as a description. It wouldn't be too hard to print that name out if it's present on a handle. You could generate those names from a number of sources, in fact: filesystem labels, ZFS UUID's, or EFI device paths as a fallback mechanism.
There isn't a need to clean up memory after boot1, and in fact, that will probably break things. Once an EFI driver is initialized and attached to handles, it stays around until ExitBootServices or until the driver is unloaded (which currently isn't done ever).
Jan 8 2016
Jan 6 2016
I closed the other review. What exactly remains to be done on this?
Closing. Conduct all review on https://reviews.freebsd.org/D4515
Dec 29 2015
Work on this has moved to https://reviews.freebsd.org/D4515. Please make any requests for revision there.
Dec 19 2015
Thanks for taking care of the remaining cleanup.
Dec 10 2015
Thanks for submitting the update. I am currently tied up dealing with year-end stuff, so not much time to work on it. I will have more time after mid next week.
Dec 7 2015
Fixed strlen bug
Nov 29 2015
Also, it should cleanly apply to the current head and build in make world now.
Updated diff to address many issues.
General cleanup, address style issues. Also slight edits to makefiles.