Дамп биоса VGA из Linux

Если кого-то интересует исправление для этой bashфункции, а не столько философия, стоящая за ней , вот предложение:

Не запускайте проблемную команду напрямую, а из оболочки, которая a )ожидает ее завершения b )не связывается с сигналами, а c )не не реализует сам механизм WCE, но просто умирает при получении SIGINT.

Такую оболочку можно сделать с помощью awk+ ее system()функции.

$ while true; do awk 'BEGIN{system("ping -c5 localhost")}'; done
PING localhost(localhost (::1)) 56 data bytes
64 bytes from localhost (::1): icmp_seq=1 ttl=64 time=0.082 ms
64 bytes from localhost (::1): icmp_seq=2 ttl=64 time=0.087 ms
^C
--- localhost ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1022ms
rtt min/avg/max/mdev = 0.082/0.084/0.087/0.009 ms
[3]-  Terminated              ping -c5 localhost

Вставить скрипт как у OP:

#!/bin/bash
while true; do
        echo -e "\n*** DATE:" `date` " ***";
        echo "********************************************"
        awk 'BEGIN{system(ARGV[1])}' "ping -c5 ${1-localhost}"
done

1
11.10.2020, 04:14
2 ответа
root@gonzo:/home/jasen# dd if=/dev/mem bs=64k skip=12 count=1 | strings | head
1+0 records in
1+0 records out
65536 bytes (66 kB, 64 KiB) copied, 8.9787e-05 s, 730 MB/s
K7400
VIDEO 
IBM VGA Compatible
P10/24/11
DPMIDl
3GV-N560OC-1GI/F32
Version 70.24.21.00.02 
Copyright (C) 1996-2011 NVIDIA Corp.
GF104B Board - 10400050

мне кажется VGA ROM.

1
18.03.2021, 22:57

Отличная тема. Теперь следует мой способ получить vbios.rom под Kubuntu 20.04 LTS:

Сначала я не знал, где искать ром-файл, к счастью, существует команда, которая находит и отображает любой ром-файл:

clemens@iMac-4:~$ find /sys/devices -name rom

Это показывает мне два файла:

/sys/devices/pci0000:00/0000:00:1c.0/0000:02:00.0/rom
/sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/rom

Но какой из них правильный? Также для этого существует хорошая команда:

clemens@iMac-4:~$ lspci | grep 02:00.0
02:00.0 Ethernet controller: Marvell Technology Group Ltd. 88E8053 PCI-E Gigabit Ethernet Controller (rev 22)

Это был не тот вариант, похоже, это ПЗУ сетевой карты Marvell. Еще одна попытка...

clemens@iMac-4:~$ lspci | grep 01:00.0
01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] RV530/M56-P [Mobility Radeon X1600]

Вот и мы! Это видеобиография видеокарты AMD/ATI Mobility Radeon X1600 GPU!

Итак, я выполнил две другие команды, но с несколько более логичным синтаксисом, первая:

clemens@iMac-4:~$ echo 1 | sudo tee /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/rom
1

Тот только что показал мне "1", -хорошо. Но второй дает мне, наконец, файл vbios.rom, который попал прямо в мою пользовательскую папку :

.
sudo cat /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/rom > vbios.rom

Заключительное замечание: -попробуем это также под Mac OS . Может быть, это работает и там. Обновление:Это не работает в Mac OS, поскольку Mac OS не поддерживает функцию sysfs.

Источник:

reddit -дамп биоса vga

Колин Ян Кинг -Использование интерфейса PCI sysfs для создания дампа ПЗУ Video BIOS

1
15.09.2021, 12:12

Теги

Похожие вопросы