Standard OSI e DMI - Maggiore compatibilita’ bios-kernel

Ho scovato di recente una di quelle opzioni da passare al boot (o da rendere permanenti in /boot/grub/menu.lst) che potrebbe apportare dei benefici in termini di compatibilita' bios-kernel, e sistemare cosi' alcune lacune lasciate dal diverso comportamento dei driver e dei firmware quando viene caricato un sistema operativo, in questo caso, diverso da Windows.
acpi_osi="Linux"
Con questo parametro, in poche parole, viene "parsato" un file (OSI string) alla ricerca di informazioni sul nostro laptop, mettendo in condizioni il bios di eseguire un "triggering" piu' accurato e di modificare il proprio comportamento sulla base di queste specifiche. In realta' non si tratta di un meccanismo "pulito", ma alcuni produttori (Lenovo in primis) rimangono saldamente ancorati a questa linea di pensiero per l'abilitazione di alcune funzioni come il suspend, il backlight restore, la mappatura dei tasti speciali etc..
Per controllare la predisposizione alla DMI-Table e' sufficiente recuperare i messaggi che il kernel scrive nei log:
dmesg | grep osi
dyve@n200:~$ dmesg | grep osi [0.000000] Kernel command line: root=/dev/sda1 acpi_osi="Linux" ro quiet splash dyve@n200:~$
dmesg | grep DMI
dyve@n200:~$ dmesg | grep DMI [20.973698] ACPI: DMI System Vendor: LENOVO [20.973699] ACPI: DMI Product Name: 0769BFG [20.973701] ACPI: DMI Product Version: 3000 N200 [20.973703] ACPI: DMI Board Name: IEL10 [20.973705] ACPI: DMI BIOS Vendor: LENOVO [20.973706] ACPI: DMI BIOS Date: 10/17/2007 [20.973708] ACPI: Please send DMI info above to linux-acpi@vger.kernel.org dyve@n200:~$
Vale la pena di provare ad inserire acpi_osi=Linux nella command-line del nostro kernel via /boot/grub/menu.lst. Nel caso in cui non si dovessero notare dei significativi cambiamenti possiamo sempre cancellarla e tentare altre strade.
kdesudo kate /boot/grub/menu.lst
Aggiungiamo il parametro come nell'esempio e salviamo il file:
title Ubuntu hardy (hardening), kernel 2.6.24.4-dharma root (hd0,0) kernel /boot/vmlinuz-2.6.24.4-dharma root=/dev/sda1 acpi_osi="Linux" ro quiet splash initrd /boot/initrd.img-2.6.24.4-dharma quiet
In aggiunta a quanto detto fin qui, segnalo un tool che e' in grado di leggere nella memoria RAM ogni tipo di informazione che il BIOS imprime sin dal primo avvio (biosdecode). Dal momento che queste informazioni non sono in formato leggibile da un essere umano, utilizzeremo dmidecode per il dumping del contenuto della DMI-table. Dmidecode e' gia' incluso nelle core-utility della nostra distribuzione (Ubuntu) percio' non dobbiamo fare altro che aprire un terminale e seguire questi esempi:
- Dmidecode -
- Dispositivi IPMI:
sudo dmidecode --type 38
# dmidecode 2.9 SMBIOS 2.4 present.
- Informazioni su slots PCI / PCIe:
sudo dmidecode --type 9
Handle 0x0009, DMI type 9, 13 bytes System Slot Information Designation: PCI Slot J8B1 Type: 32-bit PCI Current Usage: Unknown Length: Long ID: 0 Characteristics: 5.0 V is provided 3.3 V is provided
- Informazioni sul BIOS:
sudo dmidecode --type 0
- Informazioni sul power-supply:
sudo dmidecode --type 39
________________________
Le opzioni sono tante. Ecco una tabella riassuntiva:
dmidecode --type {KEYWORD / Number }KEYWORD:
- bios, system, baseboard, chassis, processor, memory, cache, connector, slot
Number:
| # numero | Breve descrizione |
| 0 | BIOS |
| 1 | System |
| 2 | Base Board |
| 3 | Chassis |
| 4 | Processor |
| 5 | Memory Controller |
| 6 | Memory Module |
| 7 | Cache |
| 8 | Port Connector |
| 9 | System Slots |
| 10 | On Board Devices |
| 11 | OEM Strings |
| 12 | System Configuration Options |
| 13 | BIOS Language |
| 14 | Group Associations |
| 15 | System Event Log |
| 16 | Physical Memory Array |
| 17 | Memory Device |
| 18 | 32-bit Memory Error |
| 19 | Memory Array Mapped Address |
| 20 | Memory Device Mapped Address |
| 21 | Built-in Pointing Device |
| 22 | Portable Battery |
| 23 | System Reset |
| 24 | Hardware Security |
| 25 | System Power Controls |
| 26 | Voltage Probe |
| 27 | Cooling Device |
| 28 | Temperature Probe |
| 29 | Electrical Current Probe |
| 30 | Out-of-band Remote Access |
| 31 | Boot Integrity Services |
| 32 | System Boot |
| 33 | 64-bit Memory Error |
| 34 | Management Device |
| 35 | Management Device Component |
| 36 | Management Device Threshold Data |
| 37 | Memory Channel |
| 38 | IPMI Device |
| 39 | Power Supply |
Alcune di queste fonti sono state prese da:
AGGIUNTA: Un ottimo tool grafico che lista gran parte di queste informazioni si chiama Info-sistema, gia' recensito sul Blog e realizzato da Davide Garatti.
- blog di divilinux
- 743 letture

Invia nuovo commento