Winter, Spring, Summer, Autumn.
This can only apply in northern hemisphere countries. Southern hemisphere is the opposite months.
First quarter, second quarter, third quarter, fourth quarter are universal options.
- From https://github.com/edk2-porting/edk2-rk3588/releases/tag/v0.9.1
- For example, for `rock-5b_UEFI_Release_v0.9.1.img`
- `UEFI_EDK2_BOARD_ID` is `rock-5b`
- **Important**: this has no effect unless optional extension is enabled
- to test this out:
- make sure to read carefully the instructions at https://github.com/edk2-porting/edk2-rk3588/blob/master/README.md
- suppose you previously built the regular u-boot version with:
- `./compile.sh BOARD=rock-5b BRANCH=legacy RELEASE=jammy`
- now you can build the UEFI version with:
- `./compile.sh BOARD=rock-5b BRANCH=legacy RELEASE=jammy EXT=uefi-edk2-rk3588`
- write the produced image to SD or eMMC and boot it
- use normally, or enter "UMS" mode by selecting that option in the grub menu
- You can write image to eMMC, boot it, enter UMS, write it again to NVMe, reboot, press <ESC> in UEFI and boot from NVMe
- Also works if .img is written to eg USB stick, and UEFI edk2 is separately deployed to SPI flash
- **Important**: make _absolutely_ sure you are able to force Maskrom mode (by shorting pins, pressing buttons, etc) before writing an UEFI image to eMMC; UEFI has no RockUSB ("Loader mode" support) at all. The new "initramfs-usb-gadget-ums" extension hopes to address this, but it is not guaranteed to work.
- this extension is _100% optional_ and shouldn't adversely affect any builds if not enabled
- requires `UEFI_EDK2_BOARD_ID` to be set in board file, so we know which UEFI/edk2 build to use
- it finds the latest edk2 version from GitHub automatically (currently `v0.9.1`)
- it downloads (and caches) the correct edk2 build image automatically
- if forces certain aspects of the image:
- must use GPT partitioning
- must NOT use a separate /boot partition
- it _disables_ the building and deploying of u-boot _completely_ (thus blobs etc are from edk2)
- it creates a GPT `"uboot"` partition pointing to edk2's FIT, required by SPL
- this extension:
- automatically enables 'grub-with-dtb'
- automatically enable 'initramfs-usb-gadget-ums', to compensate for lack of ums/rockusb since we dont have u-boot anymore
- this optional extension adds an initramfs script that:
- enumerates and filters all block devices
- exposes each device as an UMS (USB Mass Storage) in an USB Gadget
- loops forever with info (board never boots)
- the idea here is to compensate for UEFI's lack of "ums" or "rockusb" mode that's present in u-boot
- it also allows to expose USB/NVMe devices that might or not be detected by bootloader, if the kernel works
- this allows user to enter UMS mode from GRUB
- for usage with the `initramfs-usb-gadget-ums` extension
- has no effect unless `initramfs-usb-gadget-ums` extension is enabled together with `grub-with-dtb`
Improve naming confusion by changing build framework defaults. Set framework defaults VENDOR to Armbian-unofficial for self build images. Unsupported boards and unsupported distribution have framework defaults, except VENDOR and VENDORURL. We build images with predefined values.