Commit Graph

22 Commits

Author SHA1 Message Date
Trammell hudson
4895e4704f
checkpointing a config that boots to user space, but serial still does not work 2018-01-19 15:53:05 -05:00
Trammell hudson
07f7653999
move tools into bin/ directory 2018-01-19 14:17:26 -05:00
Trammell hudson
d46f52519b
generate a compressed LinuxBoot volume with extra parts from the vendor BIOS (does not work yet) 2018-01-19 13:54:11 -05:00
Trammell hudson
88f1df122a
Use create-ffs in place of edk2 GenSec and GenFfs 2018-01-18 17:24:08 -05:00
Trammell hudson
bf4446c900
Make DxeCore and others configurable 2017-12-04 15:31:18 -05:00
Trammell hudson
27deeba893
Make ROM_SIZE a configuration option #283 2017-12-04 14:52:27 -05:00
Trammell hudson
c954ec1947
Fix default target for NERF and edk2 dependency (issue #284) 2017-11-20 17:28:35 -05:00
Trammell hudson
b04294c234
restore alignment on files for faster flashes 2017-10-20 16:20:51 -04:00
Trammell hudson
87bd21111f
Include edk2 EmuVariableRuntimeDxe to provide efi vars (issue #270)
Remove the patch to Linux efivar_init() since we now have efi vars
for it to use.

Also link in SmbiosDxe, although it is not currently used.
2017-10-19 15:59:13 -04:00
Trammell hudson
2438a0ea24
Build multiple boards with the NERF firmware (issue #268)
This modifies the `Makefile.nerf` to create files based on the
$(BOARD) variable, which is necessary as we start to support
multiple mainboards.

The config files must define five variables, all in bytes:

* `NERF_SIZE` - for the EFI firmware volume that contains Linux
* `PEI_SIZE` - size of the PEI image in the vendor ROM
* `PEI_OFFSET` - offset of the PEI image in the vendor ROM
* `ME_SIZE` - size of the ME image in the vendor ROM, or 0 if
there is no ME image to be extracted.
* `ME_OFFSET` - offset of the ME image in the vendor ROM

The `ifd.bin` must be created and can be checked in.
The default ROM input file is `blobs/$(BOARD)/$(BOARD).rom`,
and it *must not* be checked in.
2017-10-05 15:10:34 -04:00
Trammell hudson
212b030660
generate ACPI firmware volume and removed Linux ACPI table hacks (issue #266) 2017-09-25 15:21:16 -04:00
Trammell hudson
115573adc9
Attempt to use the edk2 ACPI tables (issue #266)
This links in the AcpiTableDxe and AcpiPlatform executables from
the edk2 build tree and adds a depex dependency for the Linux
kernel on the AcpiTable being setup.  The `acpi.cpio` file is
no longer included in the Linux kernel bzImage.

The `Makefile.nerf` has been re-written to generate the firmware
file system (FFS) files via rules.

TODO: figure out how to add LZMA compressed sections so that the
900k acpi tables can be compressed to about 100k.
2017-09-23 22:53:10 -04:00
Trammell hudson
ab87580b18
use depex to wait for runtime services guid to be installed (issue #261) 2017-09-22 16:30:02 -04:00
Trammell hudson
341f8ac188
generate the r630 blobs from the input rom file 2017-09-22 16:20:58 -04:00
Trammell hudson
90c231623c
support XZ initrd, without forcing XZ on initramfs (issue #257) 2017-09-22 15:27:10 -04:00
Trammell hudson
0cc31132d3
Allow initrd.cpio to be a separate EFI firmware volume (issue #257)
Add a function to walk all firmware volumes looking for a well
known GUID that is the initrd.cpio image. Currently it must be
uncompressed.
2017-09-22 15:13:41 -04:00
Trammell hudson
607868c0b5
document how to extract and unlock regions from r630.rom (issue #259) 2017-09-21 10:24:16 -04:00
Trammell hudson
ddbdcd4d4d
remove unneeded foo.vol.txt output from GenVol 2017-09-21 09:34:16 -04:00
Trammell hudson
8148c970fb
expand the NERF volume to fill all available space in the ROM (issue #242) 2017-09-20 18:59:24 -04:00
Trammell hudson
9596e73dfc
make edk2 a dep for building the DXE images 2017-09-20 18:33:05 -04:00
Trammell hudson
796ea2870a
build appears to produce a NERFed r630 firmware image 2017-09-20 18:24:54 -04:00
Trammell hudson
998736fc50
initial tools to build the nerf EFI volume that goes into the firmware 2017-09-20 17:47:48 -04:00