55# SPDX-License-Identifier: Apache-2.0
66
77# shellcheck disable=SC2034
8+ # shellcheck source=../include/hal/dts-hal.sh
9+ source $DTS_HAL
10+ # shellcheck source=../include/dts-functions.sh
11+ source $DTS_FUNCS
812
913# Text colors:
1014NORMAL=' \033[0m'
@@ -13,15 +17,22 @@ YELLOW='\033[0;33m'
1317GREEN=' \033[0;32m'
1418BLUE=' \033[0;36m'
1519
16- # DPP options :
20+ # DPP variables :
1721DPP_SERVER_ADDRESS=" https://dl.dasharo.com"
1822DPP_SERVER_USER_ALIAS=" premium"
1923DPP_PACKAGE_MANAGER_DIR=" /var/dasharo-package-manager"
2024DPP_AVAIL_PACKAGES_LIST=" $DPP_PACKAGE_MANAGER_DIR /packages-list.json"
2125DPP_PACKAGES_SCRIPTS_PATH=" $DPP_PACKAGE_MANAGER_DIR /packages-scripts"
2226DPP_SUBMENU_JSON=" $DPP_PACKAGES_SCRIPTS_PATH /submenu.json"
27+ DPP_CREDENTIAL_FILE=" /etc/cloud-pass"
28+ FW_STORE_URL=" ${FW_STORE_URL_DEV:- https:// dl.3mdeb.com/ open-source-firmware/ Dasharo} "
29+ FW_STORE_URL_DPP=" https://cloud.3mdeb.com/public.php/webdav"
30+ CLOUD_REQUEST=" X-Requested-With: XMLHttpRequest"
31+ BASE_CLOUDSEND_LOGS_URL=" 39d4biH4SkXD8Zm"
32+ BASE_CLOUDSEND_PASSWORD=" 1{\[\k6G"
33+ DEPLOY_REPORT=" false"
2334
24- # DTS options:
35+ # DTS menu options:
2536HCL_REPORT_OPT=" 1"
2637DASHARO_FIRM_OPT=" 2"
2738REST_FIRM_OPT=" 3"
@@ -42,20 +53,24 @@ SEND_LOGS_OPT_LOW="$(echo $SEND_LOGS_OPT | awk '{print tolower($0)}')"
4253VERBOSE_OPT=" V"
4354VERBOSE_OPT_LOW=" $( echo $VERBOSE_OPT | awk ' {print tolower($0)}' ) "
4455
45- SYSTEM_VENDOR=" ${SYSTEM_VENDOR:- $(dmidecode -s system-manufacturer)} "
46- SYSTEM_MODEL=" ${SYSTEM_MODEL:- $(dmidecode -s system-product-name)} "
47- BOARD_VENDOR=" ${BOARD_VENDOR:- $(dmidecode -s system-manufacturer)} "
48- BOARD_MODEL=" ${BOARD_MODEL:- $(dmidecode -s baseboard-product-name)} "
56+ # Hardware variables:
57+ SYSTEM_VENDOR=" $( $DMIDECODE dump_var_mock -s system-manufacturer) "
58+ SYSTEM_MODEL=" $( $DMIDECODE dump_var_mock -s system-product-name) "
59+ BOARD_MODEL=" $( $DMIDECODE dump_var_mock -s baseboard-product-name) "
60+ CPU_VERSION=" $( $DMIDECODE dump_var_mock -s processor-version) "
4961
50- CPU_VERSION= " $( dmidecode -s processor-version ) "
51- BIOS_VENDOR=" ${BIOS_VENDOR :- $(dmidecode -s bios-vendor)} "
52- BIOS_VERSION=" ${BIOS_VERSION :- $(dmidecode -s bios-version)} "
62+ # Firmware variables
63+ BIOS_VENDOR=" $( $DMIDECODE dump_var_mock -s bios-vendor) "
64+ BIOS_VERSION=" $( $DMIDECODE dump_var_mock -s bios-version) "
5365DASHARO_VERSION=" $( echo $BIOS_VERSION | cut -d ' ' -f 3 | tr -d ' v' ) "
5466DASHARO_FLAVOR=" $( echo $BIOS_VERSION | cut -d ' ' -f 1,2) "
5567
56- # path to temporary files, created while deploying or updating Dasharo firmware
57- BIOS_UPDATE_FILE=" /tmp/biosupdate.rom"
58- EC_UPDATE_FILE=" /tmp/ecupdate.rom"
68+ # Paths to temporary files, created while deploying or updating Dasharo
69+ # firmware, are used globally for both: updating via binaries and via UEFI
70+ # Capsule Update.
71+ BIOS_UPDATE_FILE=" /tmp/biosupdate"
72+ BIOS_DUMP_FILE=" /tmp/bios.bin"
73+ EC_UPDATE_FILE=" /tmp/ecupdate"
5974BIOS_HASH_FILE=" /tmp/bioshash.sha256"
6075EC_HASH_FILE=" /tmp/echash.sha256"
6176BIOS_SIGN_FILE=" /tmp/biossignature.sig"
@@ -65,10 +80,6 @@ RESIGNED_BIOS_UPDATE_FILE="/tmp/biosupdate_resigned.rom"
6580SYSTEM_UUID_FILE=" /tmp/system_uuid.txt"
6681SERIAL_NUMBER_FILE=" /tmp/serial_number.txt"
6782
68- # default value for flash chip related information
69- FLASH_CHIP_SELECT=" "
70- FLASH_CHIP_SIZE=" "
71-
7283# dasharo-deploy backup cmd related variables, do we still use and need this as
7384# backup is placed in HCL?
7485ROOT_DIR=" /"
@@ -77,50 +88,104 @@ FW_BACKUP_DIR="${ROOT_DIR}${FW_BACKUP_NAME}"
7788FW_BACKUP_TAR=" ${FW_BACKUP_DIR} .tar.gz"
7889FW_BACKUP_TAR=" $( echo " $FW_BACKUP_TAR " | sed ' s/\ /_/g' ) "
7990
80- # path to system files
91+ # Paths to system files
8192ERR_LOG_FILE=" /var/local/dts-err.log"
8293FLASHROM_LOG_FILE=" /var/local/flashrom.log"
8394FLASH_INFO_FILE=" /tmp/flash_info"
8495OS_VERSION_FILE=" /etc/os-release"
8596KEYS_DIR=" /tmp/devkeys"
8697
87- # path to system commands
88- CMD_POWEROFF= " /sbin/poweroff "
89- CMD_REBOOT= " /sbin/reboot "
90- CMD_SHELL= " /bin/bash "
98+ # Paths to system commands:
99+ CMD_SHELL= " bash "
100+
101+ # Paths to DTS commands:
91102CMD_DASHARO_HCL_REPORT=" /usr/sbin/dasharo-hcl-report"
92103CMD_NCMENU=" /usr/sbin/novacustom_menu"
93104CMD_DASHARO_DEPLOY=" /usr/sbin/dasharo-deploy"
94105CMD_CLOUD_LIST=" /usr/sbin/cloud_list"
95106CMD_EC_TRANSITION=" /usr/sbin/ec_transition"
96107
97- # default values for flashrom programmer
98- FLASHROM=" ${FLASHROM:- flashrom} "
108+ # Configuration variables declaration and default values (see dts-functions.sh/
109+ # board_config function for more inf.):
110+ # Versions and names:
111+ declare DASHARO_REL_NAME
112+ declare DASHARO_REL_VER
113+ declare DASHARO_REL_VER_DPP
114+ declare DASHARO_REL_VER_DPP_CAP
115+ declare HEADS_REL_VER_DPP
116+ declare DASHARO_REL_VER_DPP_SEABIOS
117+ declare COMPATIBLE_EC_FW_VERSION
118+ # and for capsules:
119+ declare DASHARO_REL_VER_CAP
120+ declare DASHARO_REL_VER_DPP_CAP
121+ # To use capsule update a platform should already run a firmware with capsule
122+ # update support. Therefore DTS should check, from which Dasharo firmware
123+ # version capsule update is supported for the platform and compare with the
124+ # version of the currently installed firmware. This variable holds the version
125+ # from which Dasharo firmware supports capsule update for current patform. It is
126+ # set in board_config:
127+ declare DASHARO_SUPPORT_CAP_FROM
128+ # Links to files:
129+ declare BIOS_LINK_COMM
130+ declare BIOS_HASH_LINK_COMM
131+ declare BIOS_SIGN_LINK_COMM
132+ declare BIOS_LINK_DPP
133+ declare BIOS_HASH_LINK_DPP
134+ declare BIOS_SIGN_LINK_DPP
135+ declare BIOS_LINK_DPP_SEABIOS
136+ declare BIOS_HASH_LINK_DPP_SEABIOS
137+ declare BIOS_SIGN_LINK_DPP_SEABIOS
138+ declare EC_LINK_COMM
139+ declare EC_HASH_LINK_COMM
140+ declare EC_SIGN_LINK_COMM
141+ declare EC_LINK_DPP
142+ declare EC_HASH_LINK_DPP
143+ declare EC_SIGN_LINK_DPP
144+ declare HEADS_LINK_DPP
145+ declare HEADS_HASH_LINK_DPP
146+ declare HEADS_SIGN_LINK_DPP
147+ # and for capsules:
148+ declare BIOS_LINK_COMM_CAP
149+ declare BIOS_HASH_LINK_COMM_CAP
150+ declare BIOS_SIGN_LINK_COMM_CAP
151+ declare BIOS_LINK_DPP_CAP
152+ declare BIOS_HASH_LINK_DPP_CAP
153+ declare BIOS_SIGN_LINK_DPP_CAP
154+ declare EC_LINK_COMM_CAP
155+ declare EC_HASH_LINK_COMM_CAP
156+ declare EC_SIGN_LINK_COMM_CAP
157+ # Configs, are used in dasharo-deploy script:
158+ CAN_INSTALL_BIOS=" false"
159+ HAVE_HEADS_FW=" false"
160+ HAVE_EC=" false"
161+ NEED_EC_RESET=" false"
162+ NEED_SMBIOS_MIGRATION=" false"
163+ NEED_SMMSTORE_MIGRATION=" false"
164+ NEED_BOOTSPLASH_MIGRATION=" false"
165+ NEED_BLOB_TRANSMISSION=" false"
166+ NEED_ROMHOLE_MIGRATION=" false"
167+ # Default flashrom parameters, may differ depending on a platform:
99168PROGRAMMER_BIOS=" internal"
100- PROGRAMMER_EC=" ite_ec"
101-
102- DASHARO_ECTOOL=" ${DASHARO_ECTOOL:- dasharo_ectool} "
103-
104- # variables defining Dasharo specific entries in DMI tables, used to check if
105- # Dasharo FW is already installed
169+ PROGRAMMER_EC=" ite_ec:boardmismatch=force,romsize=128K,autoload=disable"
170+ declare FLASHROM_ADD_OPT_UPDATE_OVERRIDE
171+ declare HEADS_SWITCH_FLASHROM_OPT_OVERRIDE
172+ # Platform-specific:
173+ declare PLATFORM_SIGN_KEY
174+
175+ # Other variables:
176+ # Default values for flash chip related information:
177+ declare FLASH_CHIP_SELECT
178+ declare FLASH_CHIP_SIZE
179+ # Default UEFI Capsule Update device:
180+ CAP_UPD_DEVICE=" /dev/efi_capsule_loader"
181+ # Variables defining Dasharo specific entries in DMI tables, used to check if
182+ # Dasharo FW is already installed:
106183DASHARO_VENDOR=" 3mdeb"
107184DASHARO_NAME=" Dasharo"
108-
109- # most the time one flash chipset will be detected, for other cases (like for
110- # ASUS KGPE-D16) we will test the following list in check_flash_chip function
185+ # Most the time one flash chipset will be detected, for other cases (like for
186+ # ASUS KGPE-D16) we will test the following list in check_flash_chip function:
111187FLASH_CHIP_LIST=" W25Q64BV/W25Q64CV/W25Q64FV W25Q64JV-.Q W25Q128.V..M"
112188
113- # Dasharo Supporters Entrance variables
114- DPP_credential_file=" /etc/cloud-pass"
115- FW_STORE_URL=" ${FW_STORE_URL_DEV:- https:// dl.3mdeb.com/ open-source-firmware/ Dasharo} "
116- FW_STORE_URL_DPP=" https://cloud.3mdeb.com/public.php/webdav"
117- CLOUD_REQUEST=" X-Requested-With: XMLHttpRequest"
118-
119- # # base values
120- BASE_CLOUDSEND_LOGS_URL=" 39d4biH4SkXD8Zm"
121- BASE_CLOUDSEND_PASSWORD=" 1{\[\k6G"
122- DEPLOY_REPORT=" false"
123-
124189BASE_DTS_LOGS_URL=" xjBCYbzFdyq3WLt"
125190DTS_LOGS_PASSWORD=" /w\J&<y1"
126191
0 commit comments