Last active 9 months ago

drholy revised this gist 9 months ago. Go to revision

1 file changed, 170 insertions

Readme.md(file created)

@@ -0,0 +1,170 @@
1 + На серверах **Huawei 2288H V5** (и других серверах Huawei серии V5) работа с графическим выводом и framebuffer в UEFI-режиме имеет особенности, связанные с тем, что:
2 +
3 + - Эти серверы **не имеют выделенного GPU** — используется **встроенный видеоконтроллер на базе ASPEED AST2500** (или аналогичного BMC-чипа).
4 + - В UEFI-режиме **VESA-совместимый режим отключён** (как раз то, о чём говорит ошибка `vesa: Refusing to run on UEFI`).
5 + - По умолчанию Linux может не видеть `/dev/fb0`, если не загружен правильный драйвер.
6 +
7 + ---
8 +
9 + ### ✅ Цель
10 + Включить **framebuffer** (`/dev/fb0`) в Linux под UEFI на Huawei 2288H V5 для запуска X.Org или консольной графики.
11 +
12 + ---
13 +
14 + ## 🔧 Шаг 1: Убедитесь, что включён видеовыход в BIOS/UEFI
15 +
16 + 1. Перезагрузите сервер.
17 + 2. Зайдите в **BIOS Setup** (обычно клавиша `Delete` или `F2`).
18 + 3. Перейдите в:
19 + ```
20 + Advanced → PCI Subsystem Settings → AST2500 VGA Support
21 + ```
22 + 4. Убедитесь, что **AST2500 VGA Support = Enabled**.
23 + 5. Также проверьте:
24 + - `Primary Display` → `AST2500`
25 + - `UEFI GOP Driver` → **Enabled** (GOP = Graphics Output Protocol)
26 +
27 + > ⚠️ Без **GOP** в UEFI Linux не получит графический вывод.
28 +
29 + 6. Сохраните настройки и перезагрузитесь.
30 +
31 + ---
32 +
33 + ## 🔧 Шаг 2: Проверьте наличие устройства в Linux
34 +
35 + После загрузки Linux выполните:
36 +
37 + ```bash
38 + lspci | grep -i vga
39 + ```
40 +
41 + Вы должны увидеть что-то вроде:
42 + ```
43 + 04:00.0 VGA compatible controller: ASPEED Technology, Inc. ASPEED Graphics Family
44 + ```
45 +
46 + Также проверьте:
47 + ```bash
48 + ls /dev/fb*
49 + dmesg | grep -i ast
50 + dmesg | grep -i frame
51 + ```
52 +
53 + Если `/dev/fb0` отсутствует, скорее всего, не загружен драйвер `ast`.
54 +
55 + ---
56 +
57 + ## 🔧 Шаг 3: Убедитесь, что загружен драйвер `ast`
58 +
59 + Драйвер ядра Linux для ASPEED называется **`ast`**.
60 +
61 + Проверьте:
62 + ```bash
63 + lsmod | grep ast
64 + ```
65 +
66 + Если нет — загрузите вручную:
67 + ```bash
68 + modprobe ast
69 + ```
70 +
71 + Если команда завершается ошибкой (`modprobe: FATAL: Module ast not found`), значит, ваш ядро **не содержит драйвер `ast`**.
72 +
73 + ### 📌 Решение:
74 + - Используйте **более новое ядро Linux** (≥ 4.15, лучше ≥ 5.4).
75 + - Или пересоберите ядро с включённой опцией:
76 + ```
77 + CONFIG_DRM_AST=y
78 + ```
79 + (это драйвер DRM/KMS для ASPEED).
80 +
81 + > 💡 Начиная с ядра **4.10–4.15**, поддержка ASPEED AST2500 улучшена. В Ubuntu 20.04+ / Debian 11+ / RHEL 8+ драйвер обычно есть.
82 +
83 + ---
84 +
85 + ## 🔧 Шаг 4: Проверьте, работает ли framebuffer
86 +
87 + После загрузки `ast`:
88 + ```bash
89 + ls /dev/fb0 # должен появиться
90 + cat /sys/class/graphics/fb0/name
91 + ```
92 +
93 + Вы можете даже вывести изображение (например, через `fbi`):
94 + ```bash
95 + sudo apt install fbi
96 + sudo fbi -T 1 image.jpg
97 + ```
98 +
99 + ---
100 +
101 + ## 🔧 Шаг 5: Настройка X.Org (если нужно)
102 +
103 + Создайте файл `/etc/X11/xorg.conf.d/20-aspeed.conf`:
104 +
105 + ```conf
106 + Section "Device"
107 + Identifier "ASPEED"
108 + Driver "modesetting"
109 + BusID "PCI:4:0:0" # ← замените на ваш BusID из lspci!
110 + EndSection
111 +
112 + Section "Screen"
113 + Identifier "Screen0"
114 + Device "ASPEED"
115 + DefaultDepth 24
116 + EndSection
117 + ```
118 +
119 + > Узнайте точный BusID:
120 + > ```bash
121 + > lspci -nn | grep ASPEED
122 + > # Пример: 04:00.0 → BusID = "PCI:4:0:0"
123 + > ```
124 +
125 + Затем попробуйте запустить X:
126 + ```bash
127 + startx
128 + ```
129 +
130 + ---
131 +
132 + ## ⚠️ Важные ограничения
133 +
134 + - ASPEED AST2500 — **очень слабый GPU**, предназначен только для **удалённого управления (iBMC)** и базовой консоли.
135 + - Он **не поддерживает аппаратное ускорение 3D**.
136 + - Разрешение обычно ограничено **1920×1200** или **1280×1024**.
137 + - В некоторых прошивках BMC **графический вывод отключён полностью** — проверьте версию BIOS/iBMC.
138 +
139 + ---
140 +
141 + ## 🔍 Дополнительно: Обновите BIOS/iBMC
142 +
143 + Убедитесь, что у вас **последняя версия BIOS и iBMC** от Huawei:
144 + - Старые версии могут не предоставлять GOP в UEFI.
145 + - Обновления часто добавляют/фиксят поддержку framebuffer.
146 +
147 + Скачать можно с [официального портала Huawei Enterprise](https://support.huawei.com/enterprise/).
148 +
149 + ---
150 +
151 + ## 📌 Краткий чек-лист
152 +
153 + | Шаг | Статус |
154 + |-----|--------|
155 + | ✅ AST2500 VGA в BIOS включён | ✔ |
156 + | ✅ UEFI GOP включён | ✔ |
157 + | ✅ Ядро ≥ 5.4 (или с `CONFIG_DRM_AST`) | ✔ |
158 + | ✅ Модуль `ast` загружен | ✔ |
159 + | ✅ `/dev/fb0` существует | ✔ |
160 +
161 + Если всё сделано — framebuffer заработает, и X.Org сможет использовать `modesetting` драйвер.
162 +
163 + ---
164 +
165 + Если вы укажете:
166 + - Ваш дистрибутив и версию ядра (`uname -r`)
167 + - Вывод `lspci -nn | grep ASPEED`
168 + - Есть ли `/dev/fb0`
169 +
170 + — я помогу точнее!
Newer Older