Adds ENABLE_EMMC option (default y) to support VP3210e and VP3230e —
hardware variants without eMMC. SMBIOS product name gets an "e" suffix
when the option is disabled.
`ScsEmmcEnabled` is set by `soc_silicon_init_params()` via
`is_devfn_enabled(PCH_DEVFN_EMMC)` before `mainboard_silicon_init_params()`
is called, so overriding it directly in FSP UPD at the end of
`mainboard_silicon_init_params()` is sufficient.
`pcidev_path_on_root(PCH_DEVFN_EMMC)->enabled` is also cleared to
prevent the device from appearing in ACPI tables.
Upstream-Status: Inappropriate [Dasharo downstream]
Signed-off-by: Wiktor Mowinski <wiktor.mowinski@3mdeb.com>
Adds ENABLE_EMMC option (default y) to allow building firmware for
VP2410e — a hardware variant without eMMC. When disabled, the product
name reported via SMBIOS changes to "VP2410e".
`eMMCEnabled` is set by `parse_devicetree()` at the start of
`platform_fsp_silicon_init_params_cb()`, before `mainboard_silicon_init_params()`
is called. Overriding it directly in FSP UPD at the end of that function
is sufficient to prevent FSP from initializing the controller.
`pcidev_path_on_root(PCH_DEVFN_EMMC)->enabled` is also cleared so the
device does not appear in ACPI tables.
Upstream-Status: Inappropriate [Dasharo downstream]
Signed-off-by: Wiktor Mowinski <wiktor.mowinski@3mdeb.com>
Adds ENABLE_EMMC option (default y) to support VP2420e, a hardware
variant without eMMC. SMBIOS product name gets an "e" suffix when the
option is disabled.
`ScsEmmcEnabled` is set by `soc_silicon_init_params()` via
`is_devfn_enabled(PCH_DEVFN_EMMC)` before `mainboard_silicon_init_params()`
is called, so overriding it directly in FSP UPD at the end of
`mainboard_silicon_init_params()` is sufficient.
`pcidev_path_on_root(PCH_DEVFN_EMMC)->enabled` is also cleared to
prevent the device from appearing in ACPI tables.
Upstream-Status: Inappropriate [Dasharo downstream]
Signed-off-by: Wiktor Mowinski <wiktor.mowinski@3mdeb.com>
Adds ENABLE_EMMC option (default y) to support VP2430e a hardware
variant without eMMC. SMBIOS product name gets an "e" suffix when the
option is disabled.
`ScsEmmcEnabled` is set by `soc_silicon_init_params()` via
`is_devfn_enabled(PCH_DEVFN_EMMC)` before `mainboard_silicon_init_params()`
is called, so overriding it directly in FSP UPD at the end of
`mainboard_silicon_init_params()` is sufficient.
`pcidev_path_on_root(PCH_DEVFN_EMMC)->enabled` is also cleared to
prevent the device from appearing in ACPI tables.
Upstream-Status: Inappropriate [Dasharo downstream]
Signed-off-by: Wiktor Mowinski <wiktor.mowinski@3mdeb.com>
Move the mountpoint to /tmp, where permissions should not be a an issue.
Upstream-Status: Inappropriate [Dasharo CI]
Signed-off-by: Filip Lewiński <filip.lewinski@3mdeb.com>
The GH runners have UID 1001, while user coreboot in SDK has id 1000.
This creates a mismatch of IDs and causes permission problems when
mounting coreboot git repository under /home/coreboot/coreboot in the
container, because the /home/coreboot is a HOME directory of different
user.
To fix the problem, move the mountpoint to a "neutral" place, where
permissions should not be a an issue. The /build directory is chosen
so that it does not collide with any HOME directory or system directory.
Upstream-Status: Inappropriate [Dasharo CI]
Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
Required to build with SBOM support, otherwise go is missing
Upstream-Status: Inappropriate [Dasharo downstream]
Signed-off-by: Filip Lewiński <filip.lewinski@3mdeb.com>
Add CONFIG_ENABLE_EMMC Kconfig option (default y) to allow building
firmware without eMMC support for VP2440e hardware variants that lack
the eMMC controller. When disabled, ScsEmmcEnabled is cleared in FSP-S
UPD and the PCH eMMC device is disabled in ACPI, preventing spurious
initialization errors in firmware logs. SMBIOS product name reflects
the variant ("VP2440" vs "VP2440e"). Adds config.protectli_vp2440_no_emmc
defconfig and vp2440_noemmc/vp2440e build targets to build.sh.
Upstream-Status: Inappropriate [Dasharo downstream]
Signed-off-by: Wiktor Mowinski <wiktor.mowinski@3mdeb.com>
The Protectli logo is now added within the buildsystem, it doesn't need
to be patched externally in build.sh.
Upstream-Status: Inappropriate [Dasharo downstream]
Signed-off-by: Filip Lewiński <filip.lewinski@3mdeb.com>
Add the custom Protectli logo to built binaries, replacing the black
screen in the normal boot path and preserving it in recovery.
Upstream-Status: Inappropriate [Dasharo downstream]
Change-Id: I3ddbb41233403b89d2c8d823f0ae36abfaef8f0a
Signed-off-by: Michał Kopeć <michal.kopec@3mdeb.com>
Adds the NUC BOX to build.sh, for convenient automatic building via the
command ./build.sh nuc_box
Upstream-Status: Inappropriate [Dasharo downstream]
Signed-off-by: Filip Lewiński <filip.lewinski@3mdeb.com>
This change look for AIRGAP environment variable and if it is set it
perform airgap build of Dasharo for Odroid H4 and its version for
Intel Boot Guard.
This is required for security, privacy and trainers who would like to
perform 100% offline build.
To make that possible couple requirements have to be fulfilled:
- repository cannot be distcleaned, because it remove all artifacts, the
assumption is that provided repository already has all dependencies
fetched, so only make clean is made before proceeding
- since whole process rely on mounting edk2 as volume inside Dasharo SDK
container, workspace directory to which it would be mount needs proper
permissions otherwise docker will create mountpoint with root
privileges, what cause issues in further use and build process
- finally we take into consideration BUILD_TIMELESS environment
variable, which improve testability of build process and toolchain
change
This change was tested by:
1. cloning relevant version of edk2
2. cloning coreboot, cd coreboot
3. running checkout on ipxe:
docker run --rm --user $(id -u):$(id -g) -v $PWD:/home/coreboot/coreboot \
${DASHARO_SDK} \
make -C /home/coreboot/coreboot/payloads/external/iPXE checkout
4. Build
EDK2_REPO_PATH="${PWD}/../edk2" AIRGAP=1 BUILD_TIMELESS=1 ./build.sh odroid_h4_btg
EDK2_REPO_PATH="${PWD}/../edk2" AIRGAP=1 BUILD_TIMELESS=1 ./build.sh odroid_h4
Upstream-Status: Inappropriate [custom build script]
Signed-off-by: Piotr Król <piotr.krol@3mdeb.com>
Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
LAN ROM extarcton happened after the build, however the defconfigs
already require the blob to be present during the build. Move the
extraction before building the image.
Fix the path to 3rdparty/blobs where the LAN ROM is expected to
reside according to defconfigs. Also create the path ito ensure it
exists.
Build cbfstool and extarct the payload inside docker to avoid
problems with hsot compilation and environment.
Remove the spaces in the argument parsing for V5x0TU builds.
Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
The build_novacsutom function is used for boards that do not require
LAN ROM. Remove obtaining the release binary and UEFIExtract as it is
not used in the flow. Seems like a copy-pasta error.
Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>