Commit Graph

49 Commits

Author SHA1 Message Date
Wiktor Mowinski 4dcb6b9ce6 configs/config.protectli_vp32xx_no_emmc: create viariant with disabled emmc
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>
2026-06-09 07:00:07 +02:00
Wiktor Mowinski d2f29ed5cf configs/config.protectli_vp2410_no_emmc: create config variant
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>
2026-06-09 06:59:33 +02:00
Wiktor Mowinski ec7b9eee42 configs/config.protectli_vp2420_no_emmc: create viariant with disabled emmc
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>
2026-06-02 16:27:59 +02:00
Wiktor Mowinski 0d14b14578 configs/config.protectli_vp2430_no_emmc: create config variant with eMMC removed
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>
2026-06-02 08:04:28 +02:00
Filip Lewiński 3505babf60 build.sh: fix GOCACHE permissions when building with GH actions
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>
2026-06-01 08:43:17 +02:00
Michał Żygowski 1f23f607af build.sh: Fix permissions when building with GH actions
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>
2026-06-01 08:43:17 +02:00
Filip Lewiński b662f84101 build.sh: bump DASHARO_SDK up to v1.9.0
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>
2026-06-01 08:43:16 +02:00
Wiktor Mowinski 623e9ba192 configs/config.protectli_v2440_no_emmc: config with eMMC disabled
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>
2026-05-26 12:42:29 +02:00
Filip Gołaś f6630a8fc6 build.sh: Add building no-emmc vp46xx variants
Upstream-Status: Inappropriate [Dasharo downstream]
Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>
2026-04-22 14:07:23 +02:00
Filip Lewiński 5e8ac19c50 build.sh: don't patch the Protectli logo
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>
2025-10-21 15:50:38 +02:00
Michał Kopeć b55921c5c6 build.sh: Fix ASRock Rack helptext alignment
Upstream-Status: Inappropriate [Dasharo downstream]

Co-authored-by: SergiiDmytruk <sergii.dmytruk@3mdeb.com>
Change-Id: I721a3f9fed660cc40632dacd3ba8cdcfe7414ad1
Signed-off-by: Michał Kopeć <michal.kopec@3mdeb.com>
2025-09-11 12:38:12 +02:00
Michał Kopeć f65fa65b9a build.sh: Fix indentation of ASRock Rack helptext
Upstream-Status: Inappropriate [Dasharo downstream]

Co-authored-by: Filip Lewiński <filip.lewinski@3mdeb.com>
Change-Id: I31313845471c39d316857a24715e844d6792c01b
Signed-off-by: Michał Kopeć <michal.kopec@3mdeb.com>
2025-09-11 12:38:11 +02:00
Michał Kopeć ebec5e12a1 build.sh: Add ASRock Rack SPC741D8-2L2T/BCM support
Upstream-Status: Inappropriate [Dasharo downstream]
Change-Id: If37c778ee99842f671a6174a4bfb7bc2f7fb9d2a
Signed-off-by: Michał Kopeć <michal.kopec@3mdeb.com>
2025-09-11 12:38:08 +02:00
Michał Kopeć 4f76f7fe17 build.sh: protectli: add default logo
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>
2025-08-25 14:51:04 +02:00
Michał Żygowski 7cf332ecf1 .github/workflows/build.yml: Build netcard variant of ODROID
Add build checks for new ODROID build variant.

Change-Id: Icf2f3645e295b721356252e996900fd14f278b3b
Upstream-Status: Inappropriate [CI configuration]
Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
2025-08-07 17:20:24 +03:00
Filip Lewiński af7548a13d build.sh: add NovaCustom NUC BOX
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>
2025-07-10 13:20:33 +02:00
Michał Żygowski c7ea58c56e .github/workflows/build.yml: Use build.sh where possible
Upstream-Status: Inappropriate [CI workflow and custom build script]
Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
2025-06-13 11:27:32 +02:00
Piotr Król 8b2dbfdf1b build.sh: add backward compatible AIRGAP build
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>
2025-06-13 11:27:28 +02:00
Piotr Król cef43f7cb3 build.sh: replace SDKVER with DASHARO_SDK
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>
2025-06-13 09:35:26 +02:00
Jakub Redmerski 9bfe8e3f64 build.sh add: v1211 to help info
Signed-off-by: Jakub Redmerski <jakub.redmerski@3mdeb.com>
2025-05-27 14:03:52 +02:00
Michał Żygowski a1a06b6b18 build.sh: Fix builds with LAN ROM extraction
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>
2025-05-16 14:23:04 +02:00
Michał Żygowski 410670ee78 build.sh: Remove obtaining LAN ROM from regular NVC builds
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>
2025-05-16 12:11:13 +02:00
Krystian Hebel 3b09b4e618 build.sh: print usage when no argument is passed
Without it, the script failed with cryptic error:

    $ ./build.sh
    ./build.sh: line 259: $1: unbound variable

Change-Id: I2472c3451d6754f978f39b23a3492ed369151861
Signed-off-by: Krystian Hebel <krystian.hebel@3mdeb.com>
2025-05-15 12:36:05 +02:00
Michał Żygowski 7c47dfb7c2 build.sh: Add vp2440 target
Upstream-Status: Inappropriate [Dasharo downstream]

Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
2025-04-25 17:31:40 +02:00
Jakub Redmerski c04157769f build.sh update: add novacustom laptops to build.sh
Change-Id: Ied54e079fe913e724e5da822d1051dc340b29884
Upstream-Status: Inappropriate [Dasharo downstream]
Signed-off-by: Jakub Redmerski <jakub.redmerski@3mdeb.com>
2025-03-26 20:34:41 +02:00