요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.
1. 요약·해설
원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.
Password and certificate authentication
sysfs-class-firmware-attributes:149-329BIOS Admin·System·drive password session과 Dell·Lenovo·HP validation, Lenovo certificate workflow와 SPM role을 설명합니다.
Reboot, reset, save, and debug control
sysfs-class-firmware-attributes:330-430Pending reboot 표시, BIOS reset profile, Lenovo single·bulk save mode와 vendor 권고 debug command를 제공합니다.
HP SPM and Sure Start audit data
sysfs-class-firmware-attributes:432-494SPM endorsement·signing RSA key, JSON provisioning status와 Sure Start audit log의 binary layout·entry metadata를 정의합니다.
2. 영어 원문 전체
번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.
원문 전체 펼치기
What: /sys/class/firmware-attributes/*/attributes/*/
Date: February 2021
KernelVersion: 5.11
Contact: Divya Bharathi <[email protected]>,
Prasanth KSR <[email protected]>
Description:
A sysfs interface for systems management software to enable
configuration capability on supported systems. This directory
exposes interfaces for interacting with configuration options.
Unless otherwise specified in an attribute description all attributes are optional
and will accept UTF-8 input.
type:
A file that can be read to obtain the type of attribute.
This attribute is mandatory.
The following are known types:
- enumeration: a set of pre-defined valid values
- integer: a range of numerical values
- string
HP specific types
-----------------
- ordered-list - a set of ordered list valid values
All attribute types support the following values:
current_value:
A file that can be read to obtain the current
value of the <attr>.
This file can also be written to in order to update the value of a
<attr>
This attribute is mandatory.
default_value:
A file that can be read to obtain the default
value of the <attr>
display_name:
A file that can be read to obtain a user friendly
description of the at <attr>
display_name_language_code:
A file that can be read to obtain
the IETF language tag corresponding to the
"display_name" of the <attr>
"enumeration"-type specific properties:
possible_values:
A file that can be read to obtain the possible
values of the <attr>. Values are separated using
semi-colon (``;``).
"integer"-type specific properties:
min_value:
A file that can be read to obtain the lower
bound value of the <attr>
max_value:
A file that can be read to obtain the upper
bound value of the <attr>
scalar_increment:
A file that can be read to obtain the scalar value used for
increments of current_value this attribute accepts.
"string"-type specific properties:
max_length:
A file that can be read to obtain the maximum
length value of the <attr>
min_length:
A file that can be read to obtain the minimum
length value of the <attr>
Dell specific class extensions
------------------------------
On Dell systems the following additional attributes are available:
dell_modifier:
A file that can be read to obtain attribute-level
dependency rule. It says an attribute X will become read-only or
suppressed, if/if-not attribute Y is configured.
modifier rules can be in following format::
[ReadOnlyIf:<attribute>=<value>]
[ReadOnlyIfNot:<attribute>=<value>]
[SuppressIf:<attribute>=<value>]
[SuppressIfNot:<attribute>=<value>]
For example::
AutoOnFri/dell_modifier has value,
[SuppressIfNot:AutoOn=SelectDays]
This means AutoOnFri will be suppressed in BIOS setup if AutoOn
attribute is not "SelectDays" and its value will not be effective
through sysfs until this rule is met.
Enumeration attributes also support the following:
dell_value_modifier:
A file that can be read to obtain value-level dependency.
This file is similar to dell_modifier but here, an
attribute's current value will be forcefully changed based
dependent attributes value.
dell_value_modifier rules can be in following format::
<value>[ForceIf:<attribute>=<value>]
<value>[ForceIfNot:<attribute>=<value>]
For example::
LegacyOrom/dell_value_modifier has value:
Disabled[ForceIf:SecureBoot=Enabled]
This means LegacyOrom's current value will be forced to
"Disabled" in BIOS setup if SecureBoot is Enabled and its
value will not be effective through sysfs until this rule is
met.
HP specific class extensions
------------------------------
On HP systems the following additional attributes are available:
"ordered-list"-type specific properties:
elements:
A file that can be read to obtain the possible
list of values of the <attr>. Values are separated using
semi-colon (``;``) and listed according to their priority.
An element listed first has the highest priority. Writing
the list in a different order to current_value alters
the priority order for the particular attribute.
What: /sys/class/firmware-attributes/*/authentication/
Date: February 2021
KernelVersion: 5.11
Contact: Divya Bharathi <[email protected]>,
Prasanth KSR <[email protected]>
Description:
Devices support various authentication mechanisms which can be exposed
as a separate configuration object.
For example a "BIOS Admin" password and "System" Password can be set,
reset or cleared using these attributes.
- An "Admin" password is used for preventing modification to the BIOS
settings.
- A "System" password is required to boot a machine.
Change in any of these two authentication methods will also generate an
uevent KOBJ_CHANGE.
is_enabled:
A file that can be read to obtain a 0/1 flag to see if
<attr> authentication is enabled.
This attribute is mandatory.
role:
The type of authentication used.
This attribute is mandatory.
Known types:
bios-admin:
Representing BIOS administrator password
power-on:
Representing a password required to use
the system
system-mgmt:
Representing System Management password.
See Lenovo extensions section for details
HDD:
Representing HDD password
See Lenovo extensions section for details
NVMe:
Representing NVMe password
See Lenovo extensions section for details
mechanism:
The means of authentication. This attribute is mandatory.
Supported types are "password" or "certificate".
max_password_length:
A file that can be read to obtain the
maximum length of the Password
min_password_length:
A file that can be read to obtain the
minimum length of the Password
current_password:
A write only value used for privileged access such as
setting attributes when a system or admin password is set
or resetting to a new password
This attribute is mandatory when mechanism == "password".
new_password:
A write only value that when used in tandem with
current_password will reset a system or admin password.
Note, password management is session specific. If Admin password is set,
same password must be written into current_password file (required for
password-validation) and must be cleared once the session is over.
For example::
echo "password" > current_password
echo "disabled" > TouchScreen/current_value
echo "" > current_password
Drivers may emit a CHANGE uevent when a password is set or unset
userspace may check it again.
On Dell, Lenovo and HP systems, if Admin password is set, then all BIOS attributes
require password validation.
On Lenovo systems if you change the Admin password the new password is not active until
the next boot.
Lenovo specific class extensions
--------------------------------
On Lenovo systems the following additional settings are available:
role: system-mgmt This gives the same authority as the bios-admin password to control
security related features. The authorities allocated can be set via
the BIOS menu SMP Access Control Policy
role: HDD & NVMe This password is used to unlock access to the drive at boot. Note see
'level' and 'index' extensions below.
lenovo_encoding:
The encoding method that is used. This can be either "ascii"
or "scancode". Default is set to "ascii"
lenovo_kbdlang:
The keyboard language method that is used. This is generally a
two char code (e.g. "us", "fr", "gr") and may vary per platform.
Default is set to "us"
level:
Available for HDD and NVMe authentication to set 'user' or 'master'
privilege level.
If only the user password is configured then this should be used to
unlock the drive at boot. If both master and user passwords are set
then either can be used. If a master password is set a user password
is required.
This attribute defaults to 'user' level
index:
Used with HDD and NVME authentication to set the drive index
that is being referenced (e.g hdd1, hdd2 etc)
This attribute defaults to device 1.
certificate, signature, save_signature:
These attributes are used for certificate based authentication. This is
used in conjunction with a signing server as an alternative to password
based authentication.
The user writes to the attribute(s) with a BASE64 encoded string obtained
from the signing server.
The attributes can be displayed to check the stored value.
Some usage examples:
Installing a certificate to enable feature::
echo "supervisor password" > authentication/Admin/current_password
echo "signed certificate" > authentication/Admin/certificate
Updating the installed certificate::
echo "signature" > authentication/Admin/signature
echo "signed certificate" > authentication/Admin/certificate
Removing the installed certificate::
echo "signature" > authentication/Admin/signature
echo "" > authentication/Admin/certificate
Changing a BIOS setting::
echo "signature" > authentication/Admin/signature
echo "save signature" > authentication/Admin/save_signature
echo Enable > attribute/PasswordBeep/current_value
You cannot enable certificate authentication if a supervisor password
has not been set.
Clearing the certificate results in no bios-admin authentication method
being configured allowing anyone to make changes.
After any of these operations the system must reboot for the changes to
take effect.
Admin and System certificates are supported from 2025 systems onward.
certificate_thumbprint:
Read only attribute used to display the MD5, SHA1 and SHA256 thumbprints
for the certificate installed in the BIOS.
certificate_to_password:
Write only attribute used to switch from certificate based authentication
back to password based.
Usage::
echo "signature" > authentication/Admin/signature
echo "password" > authentication/Admin/certificate_to_password
HP specific class extensions
--------------------------------
On HP systems the following additional settings are available:
role: enhanced-bios-auth:
This role is specific to Secure Platform Management (SPM) attribute.
It requires configuring an endorsement (kek) and signing certificate (sk).
What: /sys/class/firmware-attributes/*/attributes/pending_reboot
Date: February 2021
KernelVersion: 5.11
Contact: Divya Bharathi <[email protected]>,
Prasanth KSR <[email protected]>
Description:
A read-only attribute reads 1 if a reboot is necessary to apply
pending BIOS attribute changes. Also, an uevent_KOBJ_CHANGE is
generated when it changes to 1.
== =========================================
0 All BIOS attributes setting are current
1 A reboot is necessary to get pending BIOS
attribute changes applied
== =========================================
Note, userspace applications need to follow below steps for efficient
BIOS management,
1. Check if admin password is set. If yes, follow session method for
password management as briefed under authentication section above.
2. Before setting any attribute, check if it has any modifiers
or value_modifiers. If yes, incorporate them and then modify
attribute.
Drivers may emit a CHANGE uevent when this value changes and userspace
may check it again.
What: /sys/class/firmware-attributes/*/attributes/reset_bios
Date: February 2021
KernelVersion: 5.11
Contact: Divya Bharathi <[email protected]>,
Prasanth KSR <[email protected]>
Description:
This attribute can be used to reset the BIOS Configuration.
Specifically, it tells which type of reset BIOS configuration is being
requested on the host.
Reading from it returns a list of supported options encoded as:
- 'builtinsafe' (Built in safe configuration profile)
- 'lastknowngood' (Last known good saved configuration profile)
- 'factory' (Default factory settings configuration profile)
- 'custom' (Custom saved configuration profile)
The currently selected option is printed in square brackets as
shown below::
# echo "factory" > /sys/class/firmware-attributes/*/device/attributes/reset_bios
# cat /sys/class/firmware-attributes/*/device/attributes/reset_bios
builtinsafe lastknowngood [factory] custom
Note that any changes to this attribute requires a reboot
for changes to take effect.
What: /sys/class/firmware-attributes/*/attributes/save_settings
Date: August 2023
KernelVersion: 6.6
Contact: Mark Pearson <[email protected]>
Description:
On Lenovo platforms there is a limitation in the number of times an attribute can be
saved. This is an architectural limitation and it limits the number of attributes
that can be modified to 48.
A solution for this is instead of the attribute being saved after every modification,
to allow a user to bulk set the attributes, and then trigger a final save. This allows
unlimited attributes.
Read the attribute to check what save mode is enabled (single or bulk).
E.g:
# cat /sys/class/firmware-attributes/thinklmi/attributes/save_settings
single
Write the attribute with 'bulk' to enable bulk save mode.
Write the attribute with 'single' to enable saving, after every attribute set.
The default setting is single mode.
E.g:
# echo bulk > /sys/class/firmware-attributes/thinklmi/attributes/save_settings
When in bulk mode write 'save' to trigger a save of all currently modified attributes.
Note, once a save has been triggered, in bulk mode, attributes can no longer be set and
will return a permissions error. This is to prevent users hitting the 48+ save limitation
(which requires entering the BIOS to clear the error condition)
E.g:
# echo save > /sys/class/firmware-attributes/thinklmi/attributes/save_settings
What: /sys/class/firmware-attributes/*/attributes/debug_cmd
Date: July 2021
KernelVersion: 5.14
Contact: Mark Pearson <[email protected]>
Description:
This write only attribute can be used to send debug commands to the BIOS.
This should only be used when recommended by the BIOS vendor. Vendors may
use it to enable extra debug attributes or BIOS features for testing purposes.
Note that any changes to this attribute requires a reboot for changes to take effect.
HP specific class extensions - Secure Platform Manager (SPM)
--------------------------------
What: /sys/class/firmware-attributes/*/authentication/SPM/kek
Date: March 2023
KernelVersion: 5.18
Contact: "Jorge Lopez" <[email protected]>
Description:
'kek' Key-Encryption-Key is a write-only file that can be used to configure the
RSA public key that will be used by the BIOS to verify
signatures when setting the signing key. When written,
the bytes should correspond to the KEK certificate
(x509 .DER format containing an OU). The size of the
certificate must be less than or equal to 4095 bytes.
What: /sys/class/firmware-attributes/*/authentication/SPM/sk
Date: March 2023
KernelVersion: 5.18
Contact: "Jorge Lopez" <[email protected]>
Description:
'sk' Signature Key is a write-only file that can be used to configure the RSA
public key that will be used by the BIOS to verify signatures
when configuring BIOS settings and security features. When
written, the bytes should correspond to the modulus of the
public key. The exponent is assumed to be 0x10001.
What: /sys/class/firmware-attributes/*/authentication/SPM/status
Date: March 2023
KernelVersion: 5.18
Contact: "Jorge Lopez" <[email protected]>
Description:
'status' is a read-only file that returns ASCII text in JSON format reporting
the status information.
"State": "not provisioned | provisioned | provisioning in progress",
"Version": "Major.Minor",
"Nonce": <16-bit unsigned number display in base 10>,
"FeaturesInUse": <16-bit unsigned number display in base 10>,
"EndorsementKeyMod": "<256 bytes in base64>",
"SigningKeyMod": "<256 bytes in base64>"
What: /sys/class/firmware-attributes/*/attributes/Sure_Start/audit_log_entries
Date: March 2023
KernelVersion: 5.18
Contact: "Jorge Lopez" <[email protected]>
Description:
'audit_log_entries' is a read-only file that returns the events in the log.
Audit log entry format
Byte 0-15: Requested Audit Log entry (Each Audit log is 16 bytes)
Byte 16-127: Unused
What: /sys/class/firmware-attributes/*/attributes/Sure_Start/audit_log_entry_count
Date: March 2023
KernelVersion: 5.18
Contact: "Jorge Lopez" <[email protected]>
Description:
'audit_log_entry_count' is a read-only file that returns the number of existing
audit log events available to be read. Values are separated using comma. (``,``)
[No of entries],[log entry size],[Max number of entries supported]
log entry size identifies audit log size for the current BIOS version.
The current size is 16 bytes but it can be up to 128 bytes long in future BIOS
versions.
3. 한국어 전문 번역
영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.
Firmware configuration attribute schema
1-148| 항목 | 한국어 전문 번역 |
|---|---|
| What | /sys/class/firmware-attributes/*/attributes/*/ |
| Date | 2021년 2월 |
| KernelVersion | 5.11 |
| Contact | Divya Bharathi <[email protected]>, Prasanth KSR <[email protected]>, [email protected] |
| Description | 지원되는 system에서 system management software가 configuration 기능을 사용할 수 있게 하는 sysfs interface입니다. 이 directory는 configuration option과 상호 작용하는 interface를 노출합니다. Attribute 설명에서 달리 지정하지 않는 한 모든 attribute는 선택 사항이며 UTF-8 입력을 받습니다. |
type file은 필수이며 attribute 종류를 읽어 확인합니다.
모든 attribute type이 지원하는 file과 필수 여부입니다.
Enumeration·integer·string·HP ordered-list에 추가되는 metadata입니다.
Dell 전용 class 확장
Dell system은 dell_modifier를 추가로 제공합니다. 이 file은 attribute 수준 dependency rule을 읽는 데 사용합니다. Attribute Y의 configuration 여부나 값에 따라 attribute X를 read-only로 만들거나 BIOS setup에서 숨길 수 있습니다.
[ReadOnlyIf:<attribute>=<value>]
[ReadOnlyIfNot:<attribute>=<value>]
[SuppressIf:<attribute>=<value>]
[SuppressIfNot:<attribute>=<value>]
AutoOnFri/dell_modifier:
[SuppressIfNot:AutoOn=SelectDays]
이 예시는 AutoOn attribute가 "SelectDays"가 아니면 AutoOnFri가 BIOS setup에서 숨겨지고, rule을 만족할 때까지 sysfs로 설정한 값이 효력을 갖지 않는다는 뜻입니다.
Enumeration attribute는 dell_value_modifier도 지원합니다. 이는 dell_modifier와 비슷하지만 dependent attribute 값에 따라 현재 값을 강제로 변경하는 value-level dependency입니다.
<value>[ForceIf:<attribute>=<value>]
<value>[ForceIfNot:<attribute>=<value>]
LegacyOrom/dell_value_modifier:
Disabled[ForceIf:SecureBoot=Enabled]
이 예시는 SecureBoot가 Enabled이면 BIOS setup에서 LegacyOrom의 현재 값을 "Disabled"로 강제하고, 해당 rule을 만족할 때까지 sysfs를 통한 값이 효력을 갖지 않는다는 뜻입니다.
HP 전용 ordered-list 확장
HP system의 ordered-list type에서 elements file은 가능한 값을 세미콜론으로 구분해 우선순위순으로 표시합니다. 먼저 나오는 element의 우선순위가 가장 높습니다. current_value에 목록을 다른 순서로 쓰면 해당 attribute의 우선순위 순서가 변경됩니다.
Firmware authentication object
149-329| 항목 | 한국어 전문 번역 |
|---|---|
| What | /sys/class/firmware-attributes/*/authentication/ |
| Date | 2021년 2월 |
| KernelVersion | 5.11 |
| Contact | Divya Bharathi <[email protected]>, Prasanth KSR <[email protected]>, [email protected] |
| Description | Device가 지원하는 여러 authentication mechanism을 별도 configuration object로 노출합니다. 예를 들어 이 attribute로 "BIOS Admin" password와 "System" password를 설정·재설정·삭제할 수 있습니다. Admin password는 BIOS 설정 변경을 막고, System password는 machine boot에 필요합니다. 두 authentication 방식 중 하나가 바뀌면 KOBJ_CHANGE uevent도 생성됩니다. |
Authentication object의 상태·role·mechanism과 password field입니다.
Role 문자열과 보호 대상을 정리합니다.
Password session 관리
Password 관리는 session별로 이뤄집니다. Admin password가 설정되어 있으면 password validation을 위해 같은 값을 current_password에 쓰고, session이 끝나면 반드시 비워야 합니다.
echo "password" > current_password
echo "disabled" > TouchScreen/current_value
echo "" > current_password
Driver는 password가 설정되거나 해제될 때 CHANGE uevent를 보낼 수 있고 userspace는 상태를 다시 확인할 수 있습니다. Dell·Lenovo·HP system에서 Admin password가 설정되어 있으면 모든 BIOS attribute에 password validation이 필요합니다. Lenovo system에서 Admin password를 변경하면 새 password는 다음 boot 전까지 활성화되지 않습니다.
Lenovo 전용 class 확장
System management, drive password와 입력 encoding을 위한 추가 attribute입니다.
HDD·NVMe level에서 user password만 설정했다면 boot 때 drive를 unlock하는 데 user를 사용합니다. Master와 user password가 모두 있으면 둘 중 하나를 쓸 수 있으며, master password를 설정하려면 user password도 필요합니다.
Lenovo certificate authentication
certificate, signature, save_signature attribute는 signing server와 함께 사용하는 certificate 기반 authentication용이며 password 방식의 대안입니다. 사용자는 signing server에서 받은 BASE64 encoded 문자열을 해당 attribute에 씁니다. 저장된 값은 표시해 확인할 수 있습니다.
# Certificate 설치
echo "supervisor password" > authentication/Admin/current_password
echo "signed certificate" > authentication/Admin/certificate
# 설치된 certificate 갱신
echo "signature" > authentication/Admin/signature
echo "signed certificate" > authentication/Admin/certificate
# 설치된 certificate 제거
echo "signature" > authentication/Admin/signature
echo "" > authentication/Admin/certificate
# BIOS 설정 변경
echo "signature" > authentication/Admin/signature
echo "save signature" > authentication/Admin/save_signature
echo Enable > attribute/PasswordBeep/current_value
Supervisor password가 설정되지 않으면 certificate authentication을 활성화할 수 없습니다. Certificate를 지우면 bios-admin authentication 방식이 하나도 남지 않아 누구나 변경할 수 있습니다. 위 작업 후 변경을 적용하려면 system을 reboot해야 합니다. Admin과 System certificate는 2025년 이후 system에서 지원됩니다.
certificate_thumbprint는 BIOS에 설치된 certificate의 MD5·SHA1·SHA256 thumbprint를 표시하는 read-only attribute입니다. certificate_to_password는 certificate 기반 authentication에서 password 기반 방식으로 되돌리는 write-only attribute입니다.
echo "signature" > authentication/Admin/signature
echo "password" > authentication/Admin/certificate_to_password
HP 전용 class 확장
HP system의 role "enhanced-bios-auth"는 Secure Platform Management(SPM) attribute 전용입니다. 이 role은 endorsement certificate(kek)와 signing certificate(sk)를 구성해야 합니다.
Pending BIOS 변경의 reboot 요구
330-357| 항목 | 한국어 전문 번역 |
|---|---|
| What | /sys/class/firmware-attributes/*/attributes/pending_reboot |
| Date | 2021년 2월 |
| KernelVersion | 5.11 |
| Contact | Divya Bharathi <[email protected]>, Prasanth KSR <[email protected]>, [email protected] |
| Description | Read-only attribute입니다. Pending BIOS attribute 변경을 적용하려면 reboot가 필요할 때 1을 읽습니다. 값이 1로 바뀌면 uevent_KOBJ_CHANGE도 생성됩니다. |
BIOS 설정의 적용 상태를 나타냅니다.
효율적인 BIOS 관리를 위해 userspace application은 먼저 Admin password가 설정되었는지 확인하고, 설정되어 있다면 authentication 절의 session password 관리 절차를 따라야 합니다. Attribute를 설정하기 전에는 modifier 또는 value_modifier가 있는지 확인하고, 있다면 이를 반영한 뒤 attribute를 변경해야 합니다. Driver는 값 변경 시 CHANGE uevent를 보낼 수 있으며 userspace는 값을 다시 확인할 수 있습니다.
BIOS configuration reset profile
359-385| 항목 | 한국어 전문 번역 |
|---|---|
| What | /sys/class/firmware-attributes/*/attributes/reset_bios |
| Date | 2021년 2월 |
| KernelVersion | 5.11 |
| Contact | Divya Bharathi <[email protected]>, Prasanth KSR <[email protected]>, [email protected] |
| Description | BIOS configuration을 reset하는 데 사용하며 host에서 요청하는 reset BIOS configuration의 종류를 지정합니다. 읽으면 지원 option 목록을 반환하고, 현재 선택한 option은 대괄호로 표시합니다. 이 attribute의 변경을 적용하려면 reboot가 필요합니다. |
지원되는 네 가지 BIOS configuration profile입니다.
# echo "factory" > /sys/class/firmware-attributes/*/device/attributes/reset_bios
# cat /sys/class/firmware-attributes/*/device/attributes/reset_bios
builtinsafe lastknowngood [factory] custom
Lenovo BIOS setting save mode
387-415| 항목 | 한국어 전문 번역 |
|---|---|
| What | /sys/class/firmware-attributes/*/attributes/save_settings |
| Date | 2023년 8월 |
| KernelVersion | 6.6 |
| Contact | Mark Pearson <[email protected]> |
| Description | Lenovo platform에는 attribute를 저장할 수 있는 횟수에 architecture상 제한이 있어 수정 가능한 attribute 수가 48개로 제한됩니다. 매번 수정할 때 저장하는 대신 여러 attribute를 일괄 설정하고 마지막에 한 번 저장하면 제한 없이 attribute를 다룰 수 있습니다. 이 attribute를 읽어 single 또는 bulk save mode를 확인합니다. 'bulk'를 쓰면 bulk mode, 'single'을 쓰면 attribute를 설정할 때마다 저장하는 mode가 됩니다. 기본값은 single입니다. Bulk mode에서 'save'를 쓰면 현재 수정한 모든 attribute를 저장합니다. Bulk mode에서 한 번 save를 시작한 뒤에는 attribute를 더 설정할 수 없고 permission error가 반환됩니다. 이는 BIOS에 들어가야 해제할 수 있는 48회 초과 save 오류를 막기 위한 것입니다. |
# cat /sys/class/firmware-attributes/thinklmi/attributes/save_settings
single
# echo bulk > /sys/class/firmware-attributes/thinklmi/attributes/save_settings
# echo save > /sys/class/firmware-attributes/thinklmi/attributes/save_settings
Lenovo attribute 저장 시점과 bulk mode의 final action입니다.
BIOS debug command
417-430| 항목 | 한국어 전문 번역 |
|---|---|
| What | /sys/class/firmware-attributes/*/attributes/debug_cmd |
| Date | 2021년 7월 |
| KernelVersion | 5.14 |
| Contact | Mark Pearson <[email protected]> |
| Description | BIOS에 debug command를 보내는 write-only attribute입니다. BIOS vendor가 권고할 때만 사용해야 합니다. Vendor는 testing 목적으로 추가 debug attribute나 BIOS feature를 활성화하는 데 사용할 수 있습니다. 이 attribute의 변경을 적용하려면 reboot가 필요합니다. 이어지는 항목은 HP 전용 Secure Platform Manager(SPM) class 확장입니다. |
SPM Key-Encryption-Key certificate
432-442| 항목 | 한국어 전문 번역 |
|---|---|
| What | /sys/class/firmware-attributes/*/authentication/SPM/kek |
| Date | 2023년 3월 |
| KernelVersion | 5.18 |
| Contact | "Jorge Lopez" <[email protected]> |
| Description | 'kek' Key-Encryption-Key는 signing key를 설정할 때 BIOS가 signature를 검증하는 데 사용할 RSA public key를 구성하는 write-only file입니다. 쓰는 byte는 OU를 포함한 x509 .DER 형식 KEK certificate여야 하며 certificate 크기는 4095 byte 이하여야 합니다. |
SPM signature key
444-453| 항목 | 한국어 전문 번역 |
|---|---|
| What | /sys/class/firmware-attributes/*/authentication/SPM/sk |
| Date | 2023년 3월 |
| KernelVersion | 5.18 |
| Contact | "Jorge Lopez" <[email protected]> |
| Description | 'sk' Signature Key는 BIOS setting과 security feature를 구성할 때 BIOS가 signature를 검증하는 데 사용할 RSA public key를 설정하는 write-only file입니다. 쓰는 byte는 public key modulus여야 하며 exponent는 0x10001로 가정합니다. |
SPM provisioning 상태
455-468| 항목 | 한국어 전문 번역 |
|---|---|
| What | /sys/class/firmware-attributes/*/authentication/SPM/status |
| Date | 2023년 3월 |
| KernelVersion | 5.18 |
| Contact | "Jorge Lopez" <[email protected]> |
| Description | 'status'는 상태 정보를 보고하는 JSON 형식 ASCII text를 반환하는 read-only file입니다. |
"State": "not provisioned | provisioned | provisioning in progress",
"Version": "Major.Minor",
"Nonce": <16-bit unsigned number display in base 10>,
"FeaturesInUse": <16-bit unsigned number display in base 10>,
"EndorsementKeyMod": "<256 bytes in base64>",
"SigningKeyMod": "<256 bytes in base64>"
JSON text에 포함되는 provisioning·version·nonce·key field입니다.
Sure Start audit log entry
470-480| 항목 | 한국어 전문 번역 |
|---|---|
| What | /sys/class/firmware-attributes/*/attributes/Sure_Start/audit_log_entries |
| Date | 2023년 3월 |
| KernelVersion | 5.18 |
| Contact | "Jorge Lopez" <[email protected]> |
| Description | 'audit_log_entries'는 log의 event를 반환하는 read-only file입니다. Byte 0-15에는 요청한 Audit Log entry가 들어가며 각 Audit Log는 16 byte입니다. Byte 16-127은 사용하지 않습니다. |
현재 128-byte 반환 영역에서 실제 entry와 미사용 영역을 구분합니다.
Sure Start audit log metadata
482-494| 항목 | 한국어 전문 번역 |
|---|---|
| What | /sys/class/firmware-attributes/*/attributes/Sure_Start/audit_log_entry_count |
| Date | 2023년 3월 |
| KernelVersion | 5.18 |
| Contact | "Jorge Lopez" <[email protected]> |
| Description | 'audit_log_entry_count'는 읽을 수 있는 기존 audit log event 수를 반환하는 read-only file입니다. 값은 comma로 구분한 [entry 수],[log entry 크기],[지원하는 최대 entry 수] 형식입니다. log entry 크기는 현재 BIOS version의 audit log 크기를 나타냅니다. 현재 크기는 16 byte이지만 향후 BIOS version에서는 최대 128 byte까지 늘어날 수 있습니다. |
[No of entries],[log entry size],[Max number of entries supported]
Attribute types and vendor extensions
sysfs-class-firmware-attributes:1-148Enumeration·integer·string·ordered-list type의 공통 metadata와 Dell modifier·value modifier, HP priority list를 정의합니다.