LINUX.ORG.RU

История изменений

Исправление mradermaxlol, (текущая версия) :

Смысл ставить отдельный загрузчик, когда пользуешься UKI? Да и способ с хуками пакмана не совсем корректный - в рач уже некоторое время как завезли более правильные хуки в /etc/initcpio, работающие конкретно на этапе вызова mkinitcpio.

TL;DR по (на данный момент + ИМХО) пацанскому способу настройки сесурбута:

  • прописал commandline ядра в /etc/kernel/cmdline
  • прописал в настройках профиля mkinitcpio генерацию UKI вместо обычного initrd, например:
# mkinitcpio preset file for the 'linux-cachyos-lto' package

ALL_config=(/etc/mkinitcpio.conf)
ALL_kver=(/boot/vmlinuz-linux-cachyos-lto)

PRESETS=('default')

default_uki=(/efi/EFI/Linux/linux.efi)

  • создал загрузочный пункт через efibootmgr: efibootmgr --create --disk /dev/nvme0n1 --part 1 --label "Arch Linux" --loader 'EFI\Linux\linux.efi' --verbose
  • нагенерил самоподписанные ключи через sbkeys где-нибудь в /etc/secureboot с правильным chmod+chown, при желании сделал с мелкософтовским барахлом через флаг -m
  • добавил ключи в фирмварь через условный sbkeysync --keystore /etc/secureboot --pk (на этом этапе может возникнуть прикол с ридонли-переменными EFI, лечение расписано в арчвики)
  • прописал в /etc/initcpio/post/secureboot что-то типа
#!/bin/sh -Eeu

sbsign --key /etc/secureboot/DB.key --cert /etc/secureboot/DB.crt --output "${3}" "${3}" > /dev/null 2>&1 || exit 1
  • запустил mkinitcpio -P и обрадовался подписанному UKI

Пердоллинг с точками монтирования ESP тут опущен. ЕМНИП /boot/efi перевели на /efi просто как правило хорошего тона (или обновились стандарты файловой иерархии в Linux? не помню, да и мне как-то индифферентно вспомнил: это сделано для того, чтобы образы ядра хранить в корневом /boot, а финальное EFI-барахло складировать в ESP в отдельном каталоге /efi на, соответственно, другой ФС; сделано для того, чтобы не захламлять ESP дублирующимися данными: раньше туда клалось и ядро, и UKI (это ядро содержащее), а теперь там остался только UKI).

В качестве загрузчика спокойно используется встроенное загрузочное меню (U)EFI, где в случае дуалбута продолжает спокойно висеть ещё и Windows Boot Manager; в случае же правильной (tm) конфигурации будет один лишь пункт под пингвин.

Использовал и использовал такую штуку с полнодисковым LUKS2 как с, так и без TPM - полёт нормальный. Печально, что на той же арчвики статья написана крайне сумбурно, когда по факту всё достаточно просто.

Исправление mradermaxlol, :

Смысл ставить отдельный загрузчик, когда пользуешься UKI? Да и способ с хуками пакмана не совсем корректный - в рач уже некоторое время как завезли более правильные хуки в /etc/initcpio, работающие именно конкретно на этапе вызова mkinitcpio.

TL;DR по (на данный момент + ИМХО) пацанскому способу настройки сесурбута:

  • прописал commandline ядра в /etc/kernel/cmdline
  • прописал в настройках профиля mkinitcpio генерацию UKI вместо обычного initrd, например:
# mkinitcpio preset file for the 'linux-cachyos-lto' package

ALL_config=(/etc/mkinitcpio.conf)
ALL_kver=(/boot/vmlinuz-linux-cachyos-lto)

PRESETS=('default')

default_uki=(/efi/EFI/Linux/linux.efi)

  • создал загрузочный пункт через efibootmgr: efibootmgr --create --disk /dev/nvme0n1 --part 1 --label "Arch Linux" --loader 'EFI\Linux\linux.efi' --verbose
  • нагенерил самоподписанные ключи через sbkeys где-нибудь в /etc/secureboot с правильным chmod+chown, при желании сделал с мелкософтовским барахлом через флаг -m
  • добавил ключи в фирмварь через условный sbkeysync --keystore /etc/secureboot --pk (на этом этапе может возникнуть прикол с ридонли-переменными EFI, лечение расписано в арчвики)
  • прописал в /etc/initcpio/post/secureboot что-то типа
#!/bin/sh -Eeu

sbsign --key /etc/secureboot/DB.key --cert /etc/secureboot/DB.crt --output "${3}" "${3}" > /dev/null 2>&1 || exit 1
  • запустил mkinitcpio -P и обрадовался подписанному UKI

Пердоллинг с точками монтирования ESP тут опущен. ЕМНИП /boot/efi перевели на /efi просто как правило хорошего тона (или обновились стандарты файловой иерархии в Linux? не помню, да и мне как-то индифферентно вспомнил: это сделано для того, чтобы образы ядра хранить в корневом /boot, а финальное EFI-барахло складировать в ESP в отдельном каталоге /efi на, соответственно, другой ФС; сделано для того, чтобы не захламлять ESP дублирующимися данными: раньше туда клалось и ядро, и UKI (это ядро содержащее), а теперь там остался только UKI).

В качестве загрузчика спокойно используется встроенное загрузочное меню (U)EFI, где в случае дуалбута продолжает спокойно висеть ещё и Windows Boot Manager; в случае же правильной (tm) конфигурации будет один лишь пункт под пингвин.

Использовал и использовал такую штуку с полнодисковым LUKS2 как с, так и без TPM - полёт нормальный. Печально, что на той же арчвики статья написана крайне сумбурно, когда по факту всё достаточно просто.

Исправление mradermaxlol, :

Смысл ставить отдельный загрузчик, когда пользуешься UKI? Да и способ с хуками пакмана не совсем корректный - в рач уже некоторое время как завезли более правильные хуки в /etc/initcpio, работающие именно конкретно на этапе вызова mkinitcpio.

TL;DR по (на данный момент + ИМХО) пацанскому способу настройки сесурбута:

  • прописал commandline ядра в /etc/kernel/cmdline
  • прописал в настройках профиля mkinitcpio генерацию UKI вместо обычного initrd, например:
# mkinitcpio preset file for the 'linux-cachyos-lto' package

ALL_config=(/etc/mkinitcpio.conf)
ALL_kver=(/boot/vmlinuz-linux-cachyos-lto)

PRESETS=('default')

default_uki=(/efi/EFI/Linux/linux.efi)

  • создал загрузочный пункт через efibootmgr: efibootmgr --create --disk /dev/nvme0n1 --part 1 --label "Arch Linux" --loader 'EFI\Linux\linux.efi' --verbose
  • нагенерил самоподписанные ключи через sbkeys где-нибудь в /etc/secureboot с правильным chmod+chown, при желании сделал с мелкософтовским барахлом через флаг -m
  • добавил ключи в фирмварь через условный sbkeysync --keystore /etc/secureboot --pk (на этом этапе может возникнуть прикол с ридонли-переменными EFI, лечение расписано в арчвики)
  • прописал в /etc/initcpio/post/secureboot что-то типа
#!/bin/sh -Eeu

sbsign --key /etc/secureboot/DB.key --cert /etc/secureboot/DB.crt --output "${3}" "${3}" > /dev/null 2>&1 || exit 1
  • запустил mkinitcpio -P и обрадовался подписанному UKI

Пердоллинг с точками монтирования ESP тут опущен. ЕМНИП /boot/efi перевели на /efi просто как правило хорошего тона (или обновились стандарты файловой иерархии в Linux? [s]не помню, да и мне как-то индифферентно[/s] вспомнил: это сделано для того, чтобы образы ядра хранить в корневом /boot, а финальное EFI-барахло складировать в ESP в отдельном каталоге /efi на, соответственно, другой ФС; сделано для того, чтобы не захламлять ESP дублирующимися данными: раньше туда клалось и ядро, и UKI (это ядро содержащее), а теперь там остался только UKI).

В качестве загрузчика спокойно используется встроенное загрузочное меню (U)EFI, где в случае дуалбута продолжает спокойно висеть ещё и Windows Boot Manager; в случае же правильной (tm) конфигурации будет один лишь пункт под пингвин.

Использовал и использовал такую штуку с полнодисковым LUKS2 как с, так и без TPM - полёт нормальный. Печально, что на той же арчвики статья написана крайне сумбурно, когда по факту всё достаточно просто.

Исправление mradermaxlol, :

Смысл ставить отдельный загрузчик, когда пользуешься UKI? Да и способ с хуками пакмана не совсем корректный - в рач уже некоторое время как завезли более правильные хуки в /etc/initcpio, работающие именно конкретно на этапе вызова mkinitcpio.

TL;DR по (на данный момент + ИМХО) пацанскому способу настройки сесурбута:

  • прописал commandline ядра в /etc/kernel/cmdline
  • прописал в настройках профиля mkinitcpio генерацию UKI вместо обычного initrd
  • создал загрузочный пункт через efibootmgr: efibootmgr --create --disk /dev/nvme0n1 --part 1 --label "Arch Linux" --loader 'EFI\Linux\linux.efi' --verbose
  • нагенерил самоподписанные ключи через sbkeys где-нибудь в /etc/secureboot с правильным чмодом+човном, при желании сделал с мелкософтовским барахлом через ключ -m
  • добавил ключи в фирмварь через условный sbkeysync --keystore /etc/secureboot --pk (на этом этапе может возникнуть прикол с ридонли-переменными EFI, лечение расписано в арчвики)
  • прописал в /etc/initcpio/post/secureboot что-то типа
#!/bin/sh -Eeu

sbsign --key /etc/secureboot/DB.key --cert /etc/secureboot/DB.crt --output "${3}" "${3}" > /dev/null 2>&1 || exit 1
  • запустил mkinitcpio -P и обрадовался подписанному UKI

Пердоллинг с точками монтирования ESP тут опущен. ЕМНИП /boot/efi перевели на /efi просто как правило хорошего тона (или обновились стандарты файловой иерархии в Linux? не помню, да и мне как-то индифферентно).

В качестве загрузчика спокойно используется встроенное загрузочное меню (U)EFI, где в случае дуалбута продолжает спокойно висеть ещё и Windows Boot Manager; в случае же правильной (tm) конфигурации будет один лишь пункт под пингвин.

Использовал и использовал такую штуку с полнодисковым LUKS2 как с, так и без TPM - полёт нормальный. Печально, что на той же арчвики статья написана крайне сумбурно, когда по факту всё достаточно просто.

Исходная версия mradermaxlol, :

Смысл ставить отдельный загрузчик, когда пользуешься UKI? Да и способ с хуками пакмана не совсем корректный - в рач уже некоторое время как завезли более правильные хуки в /etc/initcpio, работающие именно конкретно на этапе вызова mkinitcpio.

TL;DR по (на данный момент + ИМХО) пацанскому способу настройки сесурбута:

  • прописал commandline ядра в /etc/kernel/cmdline
  • прописал в настройках профиля mkinitcpio генерацию UKI вместо обычного initrd
  • создал загрузочный пункт через efibootmgr: efibootmgr --create --disk /dev/nvme0n1 --part 1 --label "Arch Linux" --loader 'EFI\Linux\linux.efi' --verbose
  • нагенерил самоподписанные ключи через sbkeys где-нибудь в /etc/secureboot с правильным чмодом+човном, при желании сделал с мелкософтовским барахлом через ключ -m
  • добавил ключи в фирмварь через условный sbkeysync --keystore /etc/secureboot --pk (на этом этапе может возникнуть прикол с ридонли-переменными EFI, лечение расписано в арчвики)
  • прописал в /etc/initcpio/post/secureboot что-то типа
#!/bin/sh -Eeu

sbsign --key /etc/secureboot/DB.key --cert /etc/secureboot/DB.crt --output "${3}" "${3}" > /dev/null 2>&1 || exit 1
  • запустил mkinitcpio -P и обрадовался подписанному UKI

Пердоллинг с точками монтирования ESP тут опущен. ЕМНИП /boot/efi перевели на /efi просто как правило хорошего тона (или обновились стандарты файловой иерархии в Linux? не помню, да и мне как-то индифферентно).

В качестве загрузчика спокойно используется встроенное загрузочное меню (U)EFI, где в случае дуалбута продолжает спокойно висеть ещё и Windows Boot Manager; в случае же правильной (tm) конфигурации будет один лишь пункт под пингвин.

Использовал и использовал такую штуку с полнодисковым LUKS2 как с, так и без TPM - полёт нормальный. Печально, что на той же арчвики статья написана крайне сумбурно, когда по факту всё достаточно просто.