Проверка функционала управления bios из linux на тк b4comtech

Обновлено: 05.07.2024

1. lscpu

Команда lscpu выдает информацию о процессоре и его составляющих. В ней нет каких-либо дополнительных параметров или функциональных возможностей.

Утилита общего назначения, которая сообщает подробную и краткую информацию о нескольких различных аппаратных устройствах, таких как процессор, память, диск, контроллеры usb, сетевые адаптеры и т.д. Команда lscpu извлекает информацию из различных файлов /proc.

Если вы хотите больше узнать о команде lshw, то обратите внимание на пост Получаем интфомацию в Linux об аппаратных частях компьютера с помощью команды lshw .

Утилита hwinfo является еще одной универсальной утилитой зондирования аппаратуры, которая может сообщить подробную и краткую информацию о многих различных аппаратных компонентах, причем может сообщить больше, чем утилита lshw.

Отфильтруйте информацию о конкретном устройстве с помощью команды grep.

Выдается список устройств scsi/sata, например, жестких дисков и оптических приводов.

Эта команда показывает информацию о контроллерах usb и подробные сведения о подключенных к ним устройствах. По умолчанию выдается краткая информация. Для того, чтобы о каждом порте usb получить подробную информацию, используйте параметр "-v".

В системе, информация о которой приведена выше, один порт usb используется для подключения мыши.

7. Inxi

Inxi является мега скриптом bash, состоящим из 10000 строк кода, с помощью которого из разных источников и команд системы будет получена подробная информация об аппаратном обеспечении и будет создан отчет в виде, позволяющим его читать пользователям, которые не являются техническими специалистами.


Перечисляется информация о всех блочных устройствах, которыми являются разделы жестких дисков и других устройств хранения данных, например, оптических приводов и флэш-накопителей

Отчеты о различных разделах, об их точках монтирования и о том, сколько в каждом разделе есть свободного места.

Улучшенный вариант команды df , написанной на языке python, который выдает информацию в цвете, что выглядит лучше, чем информация, выдаваемая командой df

11. fdisk

Fdisk является утилитой, предназначенной для изменения разделов жестких дисков, и ей также можно пользоваться для получения информации о списке имеющихся разделов.

12. mount

Команда mount используется для монтирования/демонтирования, а также для просмотра смонтированных файловых систем.

Опять же, используйте команду grep для отфильтровывания информации только о тех файловых системах, которые вам интересны

С помощью команды free проверьте объем используемой, свободной и общий объема оперативной памяти, имеющейся в системе.

14. dmidecode

Команда dmidecode отличается от всех других команд. Она извлекает информацию об оборудовании, читая для этого данные из структур данных SMBOIS (которые также называются таблицами DMI).

Подробности смотрите на странице man.

15. Файлы /proc

Во многих виртуальных файлах каталога /proc содержится информация об аппаратном обеспечении и о конфигурациях. Ниже приведены некоторые из них.

Информация о процессоре/памяти

Информация о Linux/ядре

16. hdparm

Команда hdparm получает информацию об устройствах sata, например, жестких дисков.

Заключение

В каждой из команд используется чуть-чуть иной способ извлечения информации, и вам для, чтобы получить определенную информацию об оборудовании, возможно, потребуется попробовать более одной команды. Но все они есть в большинстве дистрибутивов Linux и их легко можно установить из репозиториев, используемых по умолчанию.

Изображение пользователя stylliaga.

столкнулся с такой проблемой.
шеф дал ноут, который принес из сервиски.
грит, поставь вынь.
ставлю вынь - не хочет ибо установщик не находит хард, который есть sata.
в сервиске биос поставили старый, без поддержки usb что сильно зарудняет работу и возможности определения в ручную типа соединения харда.
через диск биос не обновить ибо в досе он не видит привод почемуто.
но вот линь поставился на ура и все увидел(хотя usb все таки проигнорировал)
ноут Acer Aspire 5110
пришла мысля поставить линь и через него прошить bios.
порылся в и-нете и наткнулся на статью.
думаю пригодиться.

Перед записью новой прошивки в БИОС, желательно сохранить старую версию, то есть скопировать прошивку, которая уже прошита в БИОСе, чтобы потом можно было легко восстановить все обратно:

Где NewBIOS.bin - это имя скачанной прошивки. Также, можно добавить ключ -v чтобы программа проверила записанную прошивку и еще можно добавить ключ -V чтобы вывод работы был более информативным:

С остальными же ключами можно ознакомиться с помощью --help

$flashrom --help

/temp$ sudo flashrom
[sudo] password for krik:
Calibrating delay loop. OK.
No coreboot table found.
Found chipset "Intel ICH8/ICH8R", enabling flash write. OK.
Found chip "Macronix MX25L8005" (1024 KB) at physical address 0xfff00000.
Found chip "Macronix unknown Macronix SPI chip" (0 KB) at physical address 0x0.
Multiple flash chips were detected: MX25L8005 unknown Macronix SPI chip
Please specify which chip to use with the -c option.

На материнской плате установлено два чипа BIOS. Один главный, второй - запасной (в случае повреждения первого, прошивка восстанавливается со второго). Флэшер нашел оба этих чипа и предложил выбрать, который использовать. Чтобы выбрать чипсет - надо использовать ключ -c. Для этой материнской платы, чтобы прочитать уже стоящею прошивку БИОСа в файл, пришлось запустить ее с такими параметрами:

/temp$ sudo flashrom -r MyBIOS.bin -c MX25L8005

/temp$ sudo flashrom -Vvw -c MX25L8005 965PDQ6.12K

Где файл 965PDQ6.12K - и есть сама прошивка с официального сайта (на сайте расположены exe-файлы, но это всего-лишь SFX-RAR архив с самой прошивкой и программой-флэшером для ДОСа). Теперь можно перезагрузиться с новым биосом.
Настройки NVRAM (CMOS)

Не секрет, что производители материнских плат и ноутбуков не всегда дают возможность пользователям Linux обновить UEFI/BIOS прошивку так же ненавязчиво, как это делают пользователи Windows. Тем не менее для HP EliteBook 840G1, которым я пользуюсь, сделать это немногим сложнее.




Для этого дела понадобятся следующие артефакты:

  • FAT32 EFI System Partition (ESP)
  • WINE
  • Переменный электрический ток

FAT32 ESP

Ноутбуки линейки HP EliteBook содержат 3 режима загрузки. Узнать какой из режимов выбран можно в настройках UEFI/BIOS → System Configuration → Boot Mode . Данный раздел следует читать, если только выбран последний, бескомпромиссный режим UEFI , в остальных случаях можно проскочить.

  • Legacy
  • UEFI Hybrid with compatibility support module (CSM)
  • UEFI Native without CSM

Если вы внимательно читали топик про Linux kernel EFI Boot Stub, то вы наверняка знаете, что и как нужно сделать, для того, чтобы создать дисковый раздел. Можно использовать gdisk , parted или KDE Disk Partition для создания ESP раздела. Вот так выглядит уже готовый раздел.




Рекомендуется ESP раздел монтировать в /boot/efi , а не просто в /boot , для того чтобы можно было хранить образы ядра Linux и файлы загрузчика ОС на штатных линуксовых ФС, вместо того, чтобы все держать в FAT32 EFI System Partition.

Мы уже знаем, что UEFI/BIOS будет искать \EFI\BOOT\bootx64.efi , для чего абсолютный путь к файлу должен быть /boot/efi/EFI/Boot/Bootx64.efi , иначе все пропало и UEFI/BIOS не найдет загрузчик ОС! Обновлению системной прошивки это не помешает, но для чего же тогда нужна прошивка, если нельзя загрузить операционную систему? Очень немаловажно, что по-умолчанию GRUB-2 не копирует необходимый файл и поэтому bootx64.efi надо скопировать вручную.

Подготовка

Берем свежую прошивку с сайта HP, выбираем Linux в выпадающем списке ОС, затем BIOS, скачиваем… и обнаруживаем исполняемый файл для Windows — sp64081.exe . Нет, глаза нас не подвели.

Опытные пользователи бывают готовы к подобным сюрпризам, для чего держат Windows VM либо пользуются не-эмулятором WINE или и то и другое вместе, бо случаи бывают разные. Для распаковки файла возможностей WINE вполне достаточно. Запускаем:




Программа завершает работу с бестактной ошибкой, напоминая лишний раз о том, что нам подсунули не то, что мы ожидали.




Однако, это не должно никого волновать, так как файлы распакованы верно а сверх этого ничего и не требовалось.

Из этого списка нам понадобятся только 3 файла: L71_0137.bin , HpBiosUpdate.efi и HpBiosUpdate.s12 и теперь внимание: скопировать файлы нужно точно в указанные места.

Чтобы попасть в меню настройки UEFI/BIOS надо после включения нажать клавишу Esc или F10 а далее File → Update System BIOS .




После выбора Accept , процесс обновления стартует без прочих реверансов. Видимо зная цену своим аккумуляторам, производители обновляют прошивку только при включенном электрическом питании компьютера. 2-3 минуты, и процесс благополучно завершен.

UPDATE: По итогам здравых идей в комментариях необходимы некоторые дополнения.

Есть необходимость через удалённый доступ изменить некоторые параметры BIOS(в частности нужно включить таймер(выставить время) - включения по расписанию)из ОСи Linux и BSD(ясно что два разных ПК, на одном Федора, а на другом FreeBSD). Биосы Award(linux), AMI(BSD).

Если кто с этим сталкивался, как(чем) это можно проделать и вообще можно ли?



емнип, нельзя такого. иначе было бы офигенное решето


да, хм. ну можно же к примеру сбросить пароль или тупо нарушить cmos. из командной строки.
Может ты просто не в курсе.
ЗЫ:такие утилиты где попало не валяются;)


емнип, нельзя такого. иначе было бы офигенное решето

Бивас деллов, например, вполне себе обновляется из системы. Удобно.


Но нужно готовое(сырое) решение(частичное), короче в нужном направление что то.

Инфа размышления.) - как вариант(для моего случая неприменимый, нет локального доступа к ПК) это сдампить смоs, затем в БИОСе внести нужные изменения, затем снова сдампить и сравнить изменения.


вот видишь, ты САМ задал себе инструменты, которые как ТЕБЕ кажется, решат задачу.

а ставить нужно ВСЕГДА ЦЕЛЬ!


Насколько я знаю если доступ к bios и бывает то чаще ro но никак не rw. Да и то, как правило, еще и не всех мест.


обновление и модификация cmos не одно и то же, там разные области памяти пишутся


обновление и модификация cmos не одно и то же, там разные области памяти пишутся

Какие области, какой памяти? Если можно перезаписать, то скорее всего можно и изменить, не?


ты не понимаешь сути вопроса(задачи), воздержись от комментариев в дальнейшем, не твоя это тема.
ЗЫ: Надеюсь не обидел.


ты не понимаешь сути вопроса(задачи), воздержись от комментариев в дальнейшем, не твоя это тема.

Тебе направление показать или сам разберешся?


нуэ.. есть ROM BIOS, там хранится непосредственно прошивка, т.е. только код, она энергонезваисимая и ее можно перезаписать из системы спц утилитами. Есть CMOS, энергозависимая память, в которой хранятся настройки, ее, насколько я знаю, перезаписать извне BIOS нельзя, можно только сбросить, вытащив батарейку


выше писал же что можно вносить изменения

В винде это проделать можно.

мне нужно что-то для *никсов.


перезаписать извне BIOS нельзя, можно только сбросить, вытащив батарейку

Сбросить BIOS ? Он в EEPROME и от батарейки не зависит.


Дык прочитать cmos (читать/писать в порты) - только рутовые привилегии нужны и мозги :)

man ioperm, man iopl


CMOS перезаписать извне BIOS нельзя

в смысле перезаписать CMOS может только прошивка из ROM BIOS. ROM BIOS сбросить нельзя

а разве микросхемы BIOS readonly ещё выпускают. 8)
Вроде куда не глянешь, всюду можно запихать новую прошивку ;)

Похоже оно. Обновление BIOS и обновление CMOS разные вещи. BIOS хранит свои настройки в CMOS - энергонезависимой памяти, там-же и часы, и питается это от батарейки. Linux легко пишет туда, например hwclock -w записывает в ней системное время.

lvi ★★★★ ( 10.07.13 11:20:50 )
Последнее исправление: lvi 10.07.13 11:28:46 (всего исправлений: 1)

нельзя. в uefi сделали софт, но он под венду. надеюсь он скоро появится под линукс

Читайте также: