Contents
This page used to describe testing Secure Boot in Debian when we were still using a temporary test key. We have now enabled signing with our production key, meaning a lot of the previous steps are now un-necessary.
Test procedure on an existing installation
This writeup only works if you have an already-installed and running system.
For testing the secure boot feature on a real hardware, the steps below were followed:
1. First of all, a system running an up-to-date Debian unstable or buster is needed. The following assumes an amd64 system, which is most likely.
2. Install the signed shim, grub and linux signed packages:
# apt install shim-signed grub-efi-amd64-signed linux-image-4.19.0-4-amd64
3. Enable Secure boot
4. Reboot the machine and enjoy the Secure boot feature
Do not forget to check if grub is loading the signed linux image 4.19.0-4-amd64. You can also run the following command to check the Secure Boot status :
# mokutil --sb-state
Tested hardware (testing key)
The initial testing steps were performed in the following hardware until now:
?ThinkPad X230
- Minnowboard Turbot
- HP 250 G4 (using method b)
ASUS ?ZenBook Pro 15 UX550GE
ASUS ?VivoBook Pro NX580GD-E4359R
5 mokutil throws an error message, but it seems it has worked
- no password asked when enrolling keys
after enabling secure boot in bios and rebooting everything seems OK as mokutil --sb-state responds SecureBoot enabled
Dell XPS 13 2013 (L322X) failed at 5.
- [2019-01-08] tested by coucouf
mokutil fails with message Failed to enroll new keys and return code 255 after giving a new password twice
- no visible way to get to a UEFI shell on that machine for method b)
- [2019-01-08] tested by coucouf
?ThinkPad Yoga12
mokutil fails with Failed to enroll new keys
5b works with a shell on Vfat-USB stick from https://github.com/tianocore/edk2/tree/master/ShellBinPkg/UefiShell/X64 saved in EFI/BOOT/Shellx64.efi and booted from USB stick. Then it is
Shell> fs1:\EFI\debian\mmx64.efi
- Bios setting Secure boot to Custom settings needed.
Home-build PC using ?AsRock mainboard (H97 Pro4 P1.60) (using method b)
?ThinkPad T480
?ThinkPad A285
- [2019-01-09] tested by Haruki TSURUMOTO
mokutil was failed.
- [2019-01-09] tested by Haruki TSURUMOTO
HP ?EliteBook 840 G3
5a fails: mokutil fails with Failed to enroll new keys
- 5b works. No EFI shell available by default, but it was possible to launch mmx64.efi via "Boot from file" in the boot menu.
- Dell Inspiron 15 - 5547
- 5a works
- Schenker S403 (Clevo W840SN based)
Tested and works with cat /etc/issue : Debian GNU/Linux buster/sid
shim-signed had to be installed; grub-efi-amd64-signed linux-image-4.19.0-1-amd64 were already installed with default Debian Buster preview installer
- 5b works, 5a possibly fails
5a: mokutil fails with Failed to enroll new keys; moreover, trying mokutil --password fails with Failed to write MokPW
- 5b:
after copying the certificate test-signing-certs.der to /boot/efi/EFI/debian and rebooting the mokmanager tool launches and certificates waiting to be imported can be selected, i.e. it was not necessary to select a file
However, i.a., it shows the following
Issuer: CN=secure-boot-test-key-lfaraone Validity Not Before: Apr 8 09:46:38 2018 GMT Not After : May 8 09:46:38 2018 GMT
- Leaving the menus with escape key seemed to not stop the import
Anyway, after rebooting and enabling Secure Boot Custom, Grub boots Debian and mokutil --sb-state shows SecureBoot enabled
mokutil --list-enrolled lists two certificates:
the first one as above with [key 1]
the second one with [key 2] having, i.a.,
Issuer: CN=Debian Secure Boot CA Validity Not Before: Aug 16 18:09:18 2016 GMT Not After : Aug 9 18:09:18 2046 GMT
Last, VirtualBox seems to be broken due to missing virtualbox-dkms
- ASUS UX561UAR
- Supermicro A1SAi-2750F BIOS 2.1 (method 5b)
BIOS Security -> Secure Boot menu
- Secure Boot Mode [Custom]
Key Management -> Default Key Provision [Enabled]
- Secure Boot Mode [Standard] (optional)
- Secure Boot [Enabled]
?ThinkPad X270
- In UEFI setup menu, enable Secure Boot and then Reset to Setup Mode.
Install shim-signed and the other packages.
mokutil --import will throw errors at you but it has worked...
- Reboot and enrol the key through shim.
- Go back to UEFI setup and Restore Factory Keys. This does not wipe the MOKs.
- You should now be able to boot normally, with Secure Boot enabled.
?ThinkPad P52S
mokutil --import throws an error but everything actually works fine.
- Razer Blade Pro (2017) FHD (RZ09-02202E75)
Not currently able to enable external monitor through HDMI, due to modprobe: ERROR: could not insert 'nvidia_current': Required key not available
- Dell G3 15-3779 Laptop
Acer Aspire 7 (A717-71G, current BIOS version 1.21)
Tested and works with with the Buster Sid image from March 18th 2019 (cat /etc/issue : Debian GNU/Linux buster/sid)
Make sure, that all ?BitLocker keys for Windows are available offline!!!
The Windows Recovery console is always accessible from Windows > Settings > Update and Security > Recovery: Advanced startup > Restart now
fresh Debian installation using a DVD/USB image from March 18th 2019 works fine using secure boot; booting from Windows Recovery console Use a device > UEFI USB device
- after installation, disabling secure boot is necessary, otherwise a blue screen will pop up, telling, that access has been refused
don't be alarmed to be asked for the ?BitLocker key: just quit and jump into the Recovery console following the links below the dialog, then choose Options
access the BIOS from the Windows Recovery console: Troubleshoot > UEFI firmware settings
set a BIOS password in the Security tab of the BIOS (necessary for the next step)
then change the value for Secure Boot in the Boot tab to disable
- save and exit (F10)
- Boot into Debian
- either it now boots directly into it after disabling secure boot or
if it boots Windows instead, boot Debian from the Windows Recovery console choosing Use a device > debian
shim-signed grub-efi-amd64-signed linux-image-4.19.0-1-amd64 were already installed in the Debian installation with the Debian Buster preview installer image used
5a fails: mokutil fails with Failed to enroll new keys
- 5b works:
- open the BIOS (see above)
from the Security tab choose Select an UEFI file as trusted for executing, select debian/EFI/mmx64.efi and choose a name for the boot entry
save & exit (F10) and reboot
- now boot this file: either
reboot into Windows recovery console and choose Use a device and select whatever name you've given this boot entry or
- boot into the BIOS and change the Boot order or
- use the Boot menu (never worked for me)
- a blue screen with a dialog pops up
- follow the dialog to add the DER certificate
- reboot
enable secure boot by changing back the value in the Boot tab of the BIOS to enable
- fix the boot order if necessary
- the boot order chosen in the BIOS seems to have the most impact
- the name of the Grub/Debian boot entry in the BIOS is unreadable tough
- Booting into the Grub menu works fine now
- no further issues so far
when booting into Windows, the ?BitLocker key for the system drive must be entered once
Tested hardware (production key)
- Dell XPS 13 (9350)
Buster installer images
Since 14th Jan 2019, our normal daily and weekly amd64 debian-installer images should boot and install correctly with Secure Boot enabled so long as the test key is already imported for MOK to use. This includes the d-i buster alpha 5 release.
If you test with one of these, please note the exact version (date) that you used.
Since the d-i buster alpha RC1 release, we have been using production keys and all our installer images should work out of the box with Secure Boot enabled.
See
https://get.debian.org/images/daily-builds/daily/current/amd64/iso-cd/ (daily netinst build)
https://get.debian.org/images/weekly-builds/ (weekly full builds)
https://get.debian.org/images/buster_di_rc1/ (buster d-i RC1)
Tested hardware (testing key)
Home-build PC using ?AsRock mainboard (H97 Pro4 P1.60) boots fine, installs fine using netinst and xfce CD images from 2019-01-14
- Minnowboard Turbot (boots and installs fine with the netinst image from 2019-01-16)
- Razer Blade Pro (2017) FHD (RZ09-02202E75) with the image from 2019-03-16
Tested hardware (production key)
Buster live images
Since 16th Jan 2019, our normal weekly amd64 live images should live-boot with Secure Boot enabled so long as the test key is already imported for MOK to use. This includes the d-i buster alpha 5 release. Weekly live builds since at least 1st April 2019 should work without needing the test key.
They should also support installation of a Secure Boot enabled system directly.
See https://get.debian.org/images/weekly-live-builds/
If you test with one of these, please note the exact version (date) that you used.
Tested hardware (testing key)
Home-build PC using ?AsRock mainboard (H97 Pro4 P1.60) live-boots and installation works fine with gnome live image from 2019-01-16.
- Minnowboard Turbot (live-boots and installs fine with gnome live image from 2019-01-17)