Доверенные команды ATA — как установить libata allow_tpm

Я хочу отправить доверенную отправку/доверенное получение на свой жесткий диск. Я нашел эту страницу: Доверенные команды ATA в Linux. (Спасибо Вам эфемент и Дмитрий Обухов).

На данный момент моя проблема заключается в том, как установить libata allow_tpm = 1. Я использую Ubuntu 13.10. Мой код такой же, как у Дмитрия Обухова (идеально работает для идентификация и всех остальных команд, но не для доверенных команд).

Посмотрев в другую сторону, вот что я сделал:

- In BIOS, set AHCI mode.

В терминале:

- sudo dmesg -c:

   [    0.157207] SCSI subsystem initialized.

   [    0.157209] ACPI: bus type ATA registered.

   [    0.157236] libata version 3.00 loaded.

   [    0.878999] ahci 0000:00:1f.2: AHCI 0001.0300 32 slots 6 ports 6
   Gbps 0x3 impl SATA mode.

   [    0.887125] ata1: SATA max UDMA/133 abar m2048@0xf7c16000 port
   0xf7c16100 irq 41.

   [    0.887127] ata2: SATA max UDMA/133 abar m2048@0xf7c16000 port
   0xf7c16180 irq 41.

   [    1.205449] ata2: SATA link up 3.0 Gbps (SStatus 123 SControl
   300).

   [    1.205477] ata1: SATA link up 3.0 Gbps (SStatus 123 SControl
   300).

   [    1.206127] ata2.00: supports DRM functions and may not be fully
   accessible.

   [    1.206131] ata2.00: ATA-8: ST500LT025-1A5142, 0001SDM7, max
   UDMA/133.

   [    1.206133] ata2.00: 976773168 sectors, multi 1: LBA48 NCQ (depth
   31/32).

   [    1.206159] ata1.00: supports DRM functions and may not be fully
   accessible.

   [    1.206163] ata1.00: ATA-8: ST500LT025-1A5142, 0001SDM7, max
   UDMA/133.

   [    1.206165] ata1.00: 976773168 sectors, multi 1: LBA48 NCQ (depth
   31/32).



- systool -a -v -m libata

  Module = "libata"

  Attributes:
    uevent              = <store method only>
    version             = "3.00"

  Parameters:
    acpi_gtf_filter     = "7"
    allow_tpm           = "0"
    ata_probe_timeout   = "0"
    atapi_an            = "0"
    atapi_dmadir        = "0"
    atapi_enabled       = "1"
    atapi_passthru16    = "1"
    dma                 = "7"
    fua                 = "0"
    ignore_hpa          = "0"
    noacpi              = "0"
    zpodd_poweroff_delay= "30"

- sudo nano /etc/modprobe.d/local.conf.
  Add this line: options libata allow_tpm=1

- sudo nano /boot/grub/menu.lst.
  Add this line: combined_mode=libata

- sudo update-initramfs -u&& sudo update-grub2

После перезагрузки снова запускаю systool -a -v -m libata, с allow_tpm ничего не меняется. Что мне делать, чтобы изменить allow_tpm?


person tdQuang    schedule 10.12.2013    source источник


Ответы (3)


Если вы хотите навсегда изменить allow_tpm, сообщите об этом grub, добавив libata.allow_tpm=1 к GRUB_CMDLINE_LINUX_DEFAULT в /etc/default/grub. Например:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash libata.allow_tpm=1"

После этого запустите sudo update-grub и перезагрузитесь.

person magic_al    schedule 14.06.2016

Я пробовал это для CentOs 7: загрузка Uefi

Добавить флаг ядра: libata.allow_tpm=1

Я попробовал это для CentOs 7: Uefi Boot, и это сработало как шарм:

  1. Изменить /etc/default/grub
  2. Добавить GRUB_CMDLINE_LINUX_DEFAULT="quiet splash libata.allow_tpm=1"
  3. Сохрани это
  4. Выполнить команду: grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg или для ОС без UEFI grub2-mkconfig -o /boot/grub2/grub.cfg

  5. systemctl reboot

  6. cat /proc/cmdline вы видите, как показано ниже
BOOT_IMAGE=/vmlinuz-3.10.0-957.27.2.el7.X86_64 root=/dev/mapper/centos-root ro crashkernel=autord.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quite splash libata.allow_tpm=1
person Shirish Jadhav    schedule 19.08.2019

Мне только что удалось изменить значение allow_tpm, поэтому команды ATA Trusted теперь работают.

- cd /sys/module/libata/parameters
- sudo chmod 644 allow_tpm
- sudo nano allow_tpm
  Delete number 0 and write number 1. Save file.

Возможно, это не совсем так, потому что значение в файле allow_tpm сбрасывается на 0 каждый раз, когда я перезагружаю компьютер.

person tdQuang    schedule 12.12.2013
comment
Я получил ошибку при попытке изменить и сохранить этот файл (да, с привилегиями root). Если это не помогло, попробуйте метод /etc/default/grub. - person Jesus H; 09.07.2017