← Documents Documentation/ABI/testing/sysfs-driver-chromeos-acpi GitHub 원문 ↗

Linux 6.18.37 · ABI / testing

ChromeOS ACPI platform-information sysfs ABI

ChromeOS boot firmware type·version, hardware switches, GPIO assignment, Chromebook identity·ME hash와 verified-boot CMOS/data blocks를 설명합니다.

Source pathDocumentation/ABI/testing/sysfs-driver-chromeos-acpi
Source versionLinux v6.18.37
TranslationDUJINLABS 전문 번역 + 해설

요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.

1. 요약·해설

원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.

Boot firmware and switch state

sysfs-driver-chromeos-acpi:1-66

BINF·CHSW는 EC/main firmware mode와 boot-time hardware switch state를, FMAP·FRID·FWID는 flashmap address와 RO/RW firmware versions를 제공합니다.

ChromeOS GPIO assignments

sysfs-driver-chromeos-acpi:67-108

GPIO.0-3은 signal type, active level, controller-local GPIO number와 controller name을 제공합니다.

Hardware identity and verified boot

sysfs-driver-chromeos-acpi:109-152

HWID·MECK와 VBNV offset/size 및 VDAT가 Chromebook identity, Management Engine firmware hash와 verified-boot shared data를 expose합니다.

2. 영어 원문 전체

번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.

원문 전체 펼치기
1 What: /sys/bus/platform/devices/GGL0001:*/BINF.2
2 /sys/bus/platform/devices/GOOG0016:*/BINF.2
3 Date: May 2022
4 KernelVersion: 5.19
5 Description:
6 Returns active EC firmware of current boot (boolean).
7
8 == ===============================
9 0 Read only (recovery) firmware.
10 1 Rewritable firmware.
11 == ===============================
12
13 What: /sys/bus/platform/devices/GGL0001:*/BINF.3
14 /sys/bus/platform/devices/GOOG0016:*/BINF.3
15 Date: May 2022
16 KernelVersion: 5.19
17 Description:
18 Returns main firmware type for current boot (integer).
19
20 == =====================================
21 0 Recovery.
22 1 Normal.
23 2 Developer.
24 3 Netboot (factory installation only).
25 == =====================================
26
27 What: /sys/bus/platform/devices/GGL0001:*/CHSW
28 /sys/bus/platform/devices/GOOG0016:*/CHSW
29 Date: May 2022
30 KernelVersion: 5.19
31 Description:
32 Returns switch position for Chrome OS specific hardware
33 switches when the firmware is booted (integer).
34
35 ==== ===========================================
36 0 No changes.
37 2 Recovery button was pressed.
38 4 Recovery button was pressed (EC firmware).
39 32 Developer switch was enabled.
40 512 Firmware write protection was disabled.
41 ==== ===========================================
42
43 What: /sys/bus/platform/devices/GGL0001:*/FMAP
44 /sys/bus/platform/devices/GOOG0016:*/FMAP
45 Date: May 2022
46 KernelVersion: 5.19
47 Description:
48 Returns physical memory address of the start of the main
49 processor firmware flashmap.
50
51 What: /sys/bus/platform/devices/GGL0001:*/FRID
52 /sys/bus/platform/devices/GOOG0016:*/FRID
53 Date: May 2022
54 KernelVersion: 5.19
55 Description:
56 Returns firmware version for the read-only portion of the
57 main processor firmware.
58
59 What: /sys/bus/platform/devices/GGL0001:*/FWID
60 /sys/bus/platform/devices/GOOG0016:*/FWID
61 Date: May 2022
62 KernelVersion: 5.19
63 Description:
64 Returns firmware version for the rewritable portion of the
65 main processor firmware.
66
67 What: /sys/bus/platform/devices/GGL0001:*/GPIO.X/GPIO.0
68 /sys/bus/platform/devices/GOOG0016:*/GPIO.X/GPIO.0
69 Date: May 2022
70 KernelVersion: 5.19
71 Description:
72 Returns type of the GPIO signal for the Chrome OS specific
73 GPIO assignments (integer).
74
75 =========== ==================================
76 1 Recovery button.
77 2 Developer mode switch.
78 3 Firmware write protection switch.
79 256 to 511 Debug header GPIO 0 to GPIO 255.
80 =========== ==================================
81
82 What: /sys/bus/platform/devices/GGL0001:*/GPIO.X/GPIO.1
83 /sys/bus/platform/devices/GOOG0016:*/GPIO.X/GPIO.1
84 Date: May 2022
85 KernelVersion: 5.19
86 Description:
87 Returns signal attributes of the GPIO signal (integer bitfield).
88
89 == =======================
90 0 Signal is active low.
91 1 Signal is active high.
92 == =======================
93
94 What: /sys/bus/platform/devices/GGL0001:*/GPIO.X/GPIO.2
95 /sys/bus/platform/devices/GOOG0016:*/GPIO.X/GPIO.2
96 Date: May 2022
97 KernelVersion: 5.19
98 Description:
99 Returns the GPIO number on the specified GPIO
100 controller.
101
102 What: /sys/bus/platform/devices/GGL0001:*/GPIO.X/GPIO.3
103 /sys/bus/platform/devices/GOOG0016:*/GPIO.X/GPIO.3
104 Date: May 2022
105 KernelVersion: 5.19
106 Description:
107 Returns name of the GPIO controller.
108
109 What: /sys/bus/platform/devices/GGL0001:*/HWID
110 /sys/bus/platform/devices/GOOG0016:*/HWID
111 Date: May 2022
112 KernelVersion: 5.19
113 Description:
114 Returns hardware ID for the Chromebook.
115
116 What: /sys/bus/platform/devices/GGL0001:*/MECK
117 /sys/bus/platform/devices/GOOG0016:*/MECK
118 Date: May 2022
119 KernelVersion: 5.19
120 Description:
121 Returns the SHA-1 or SHA-256 hash that is read out of the
122 Management Engine extended registers during boot. The hash
123 is exported via ACPI so the OS can verify that the Management
124 Engine firmware has not changed. If Management Engine is not
125 present, or if the firmware was unable to read the extended registers, this buffer size can be zero.
126
127 What: /sys/bus/platform/devices/GGL0001:*/VBNV.0
128 /sys/bus/platform/devices/GOOG0016:*/VBNV.0
129 Date: May 2022
130 KernelVersion: 5.19
131 Description:
132 Returns offset in CMOS bank 0 of the verified boot non-volatile
133 storage block, counting from the first writable CMOS byte
134 (that is, 'offset = 0' is the byte following the 14 bytes of
135 clock data).
136
137 What: /sys/bus/platform/devices/GGL0001:*/VBNV.1
138 /sys/bus/platform/devices/GOOG0016:*/VBNV.1
139 Date: May 2022
140 KernelVersion: 5.19
141 Description:
142 Return the size in bytes of the verified boot non-volatile
143 storage block.
144
145 What: /sys/bus/platform/devices/GGL0001:*/VDAT
146 /sys/bus/platform/devices/GOOG0016:*/VDAT
147 Date: May 2022
148 KernelVersion: 5.19
149 Description:
150 Returns the verified boot data block shared between the
151 firmware verification step and the kernel verification step
152 (hex dump).
153

3. 한국어 전문 번역

영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.

Active EC firmware type

1-12
항목한국어 전문 번역
What/sys/bus/platform/devices/GGL0001:*/BINF.2; /sys/bus/platform/devices/GOOG0016:*/BINF.2
Date2022년 5월
KernelVersion5.19
DescriptionCurrent boot에서 active한 EC firmware를 boolean으로 반환합니다. 0은 read-only(recovery) firmware, 1은 rewritable firmware입니다.
ChromeOS ACPI information groups
GroupAttributes
Firmware boot stateBINF.2, BINF.3, CHSW
Firmware identityFMAP, FRID, FWID
GPIO assignmentGPIO.X/GPIO.0-3
Hardware / ME identityHWID, MECK
Verified bootVBNV.0, VBNV.1, VDAT

Firmware, switches, GPIO, identity와 verified-boot attributes를 묶었습니다.

Active EC firmware values
ValueFirmware
0Read-only recovery firmware
1Rewritable firmware

Current boot가 사용하는 EC firmware partition입니다.

Main firmware boot type

13-26
항목한국어 전문 번역
What/sys/bus/platform/devices/GGL0001:*/BINF.3; /sys/bus/platform/devices/GOOG0016:*/BINF.3
Date2022년 5월
KernelVersion5.19
DescriptionCurrent boot의 main firmware type을 integer로 반환합니다. 0은 Recovery, 1은 Normal, 2는 Developer, 3은 factory installation에서만 사용하는 Netboot입니다.
Main firmware type values
ValueBoot type
0Recovery
1Normal
2Developer
3Netboot, factory installation only

원문의 integer value table을 구조화했습니다.

Boot-time ChromeOS hardware switches

27-42
항목한국어 전문 번역
What/sys/bus/platform/devices/GGL0001:*/CHSW; /sys/bus/platform/devices/GOOG0016:*/CHSW
Date2022년 5월
KernelVersion5.19
DescriptionFirmware가 boot될 때 ChromeOS-specific hardware switch의 position을 integer로 반환합니다. 0은 No changes, 2는 recovery button pressed, 4는 EC firmware의 recovery button pressed, 32는 developer switch enabled, 512는 firmware write protection disabled를 뜻합니다.
ChromeOS hardware-switch values
ValueState
0No changes
2Recovery button pressed
4Recovery button pressed, EC firmware
32Developer switch enabled
512Firmware write protection disabled

Boot 시점에 firmware가 관측한 switch state입니다.

Main firmware flashmap address

43-50
항목한국어 전문 번역
What/sys/bus/platform/devices/GGL0001:*/FMAP; /sys/bus/platform/devices/GOOG0016:*/FMAP
Date2022년 5월
KernelVersion5.19
DescriptionMain processor firmware flashmap 시작 지점의 physical memory address를 반환합니다.

Read-only main firmware version

51-58
항목한국어 전문 번역
What/sys/bus/platform/devices/GGL0001:*/FRID; /sys/bus/platform/devices/GOOG0016:*/FRID
Date2022년 5월
KernelVersion5.19
DescriptionMain processor firmware의 read-only portion에 대한 firmware version을 반환합니다.

Rewritable main firmware version

59-66
항목한국어 전문 번역
What/sys/bus/platform/devices/GGL0001:*/FWID; /sys/bus/platform/devices/GOOG0016:*/FWID
Date2022년 5월
KernelVersion5.19
DescriptionMain processor firmware의 rewritable portion에 대한 firmware version을 반환합니다.

ChromeOS GPIO signal type

67-81
항목한국어 전문 번역
What/sys/bus/platform/devices/GGL0001:*/GPIO.X/GPIO.0; /sys/bus/platform/devices/GOOG0016:*/GPIO.X/GPIO.0
Date2022년 5월
KernelVersion5.19
DescriptionChromeOS-specific GPIO assignment의 GPIO signal type을 integer로 반환합니다. 1은 recovery button, 2는 developer-mode switch, 3은 firmware write-protection switch, 256-511은 debug-header GPIO 0-255입니다.
ChromeOS GPIO signal types
ValueSignal type
1Recovery button
2Developer mode switch
3Firmware write protection switch
256-511Debug header GPIO 0-255

원문의 integer/range table을 구조화했습니다.

ChromeOS GPIO signal attributes

82-93
항목한국어 전문 번역
What/sys/bus/platform/devices/GGL0001:*/GPIO.X/GPIO.1; /sys/bus/platform/devices/GOOG0016:*/GPIO.X/GPIO.1
Date2022년 5월
KernelVersion5.19
DescriptionGPIO signal attribute를 integer bitfield로 반환합니다. 0은 signal active low, 1은 signal active high를 뜻합니다.
GPIO active-level values
ValueSignal
0Active low
1Active high

Signal polarity bitfield의 정의입니다.

Controller-local GPIO number

94-101
항목한국어 전문 번역
What/sys/bus/platform/devices/GGL0001:*/GPIO.X/GPIO.2; /sys/bus/platform/devices/GOOG0016:*/GPIO.X/GPIO.2
Date2022년 5월
KernelVersion5.19
Description지정한 GPIO controller 안의 GPIO number를 반환합니다.

GPIO controller name

102-108
항목한국어 전문 번역
What/sys/bus/platform/devices/GGL0001:*/GPIO.X/GPIO.3; /sys/bus/platform/devices/GOOG0016:*/GPIO.X/GPIO.3
Date2022년 5월
KernelVersion5.19
DescriptionGPIO controller의 name을 반환합니다.

Chromebook hardware identifier

109-115
항목한국어 전문 번역
What/sys/bus/platform/devices/GGL0001:*/HWID; /sys/bus/platform/devices/GOOG0016:*/HWID
Date2022년 5월
KernelVersion5.19
DescriptionChromebook의 hardware ID를 반환합니다.

Management Engine firmware hash

116-126
항목한국어 전문 번역
What/sys/bus/platform/devices/GGL0001:*/MECK; /sys/bus/platform/devices/GOOG0016:*/MECK
Date2022년 5월
KernelVersion5.19
DescriptionBoot 중 Management Engine extended register에서 읽은 SHA-1 또는 SHA-256 hash를 반환합니다. OS가 Management Engine firmware가 변경되지 않았는지 verify할 수 있도록 ACPI를 통해 hash를 export합니다. Management Engine이 없거나 firmware가 extended register를 읽지 못했다면 buffer size는 0일 수 있습니다.
Management Engine verification hash
Boot firmware reads ME extended registersProduce SHA-1 or SHA-256 hashExport hash through ACPI MECKOS verifies ME firmware unchanged

Firmware가 extended-register hash를 ACPI를 통해 OS에 전달합니다.

Verified-boot CMOS storage offset

127-136
항목한국어 전문 번역
What/sys/bus/platform/devices/GGL0001:*/VBNV.0; /sys/bus/platform/devices/GOOG0016:*/VBNV.0
Date2022년 5월
KernelVersion5.19
DescriptionVerified-boot non-volatile storage block의 CMOS bank 0 offset을 반환합니다. Offset은 첫 writable CMOS byte부터 계산하며, 즉 offset = 0은 clock data 14 bytes 바로 다음 byte입니다.
Verified-boot CMOS offset origin
CMOS bank 014 bytes of clock dataFirst writable CMOS byteVBNV.0 offset 0 origin

Clock-data region 다음 첫 writable byte가 VBNV offset 0입니다.

Verified-boot CMOS storage size

137-144
항목한국어 전문 번역
What/sys/bus/platform/devices/GGL0001:*/VBNV.1; /sys/bus/platform/devices/GOOG0016:*/VBNV.1
Date2022년 5월
KernelVersion5.19
DescriptionVerified-boot non-volatile storage block의 size를 bytes로 반환합니다.

Verified-boot shared data block

145-152
항목한국어 전문 번역
What/sys/bus/platform/devices/GGL0001:*/VDAT; /sys/bus/platform/devices/GOOG0016:*/VDAT
Date2022년 5월
KernelVersion5.19
DescriptionFirmware verification step과 kernel verification step이 공유하는 verified-boot data block을 hex dump로 반환합니다.