16

I know the disadvantages of disabling kext signing, but I was wondering how I can actually disable this on Mac OS X 10.10 "Yosemite"?

2 Answers 2

21

To disable the kext signing security setting:

sudo nvram boot-args=kext-dev-mode=1

After changing this setting you need to restart the computer to have OS X recognize it.

It is important to note that the kext-signing setting is global, if you disable it you should be careful to only install system drivers from sources that you trust.

To reenable again use:

sudo nvram -d boot-args
5
  • so how do you enable it back ON ?
    – Ruskes
    Dec 22, 2014 at 19:56
  • 13
    Careful: You may already have set other boot-args (I did, to enable old-style external monitor behavior on my Macbook). To check, use the command nvram boot-args. If that prints any values (e.g. "iog=0x0"), add them to the above command using a comma, like this: sudo nvram boot-args=kext-dev-mode=1,iog=0x0. Then, to disable the kext-dev-mode, do not use the "-d" command but rather omit that part when setting the old boot-args. Jan 7, 2015 at 20:33
  • I have a MacPro 4.1 and the "nvram boot-args=kext-dev-mode=1" command doesn't save the value persistent in the NVRAM. When I look with "nvram -p" directly after setting it, it prints out the value. After a reboot, it's gone. How can that happen, or better, how can that be repaired?
    – konran
    May 4, 2015 at 15:39
  • Ok, my question is solved: the Mavericks-to-Yosemite upgrade broke the NVRAM. After a NVRAM-reset the boot-args value keeps stored.
    – konran
    May 4, 2015 at 16:17
  • 2
    I've been trying to do this to avoid an issue with my VPN client, but I keep getting nvram: Error setting variable - 'boot-args': (iokit/common) general error as an error message. I can't find what "general error" might mean. Any help would be appreciated. Oct 6, 2016 at 12:16
2

Quoting Apple's documentation:

To enable or disable System Integrity Protection, you must boot to Recovery OS and run the csrutil(1) command from the Terminal.

Boot to Recovery OS by restarting your machine and holding down the Command and R keys at startup. Launch Terminal from the Utilities menu. Enter the following command: $ csrutil enable

After enabling or disabling System Integrity Protection on a machine, a reboot is required.

Source: Configuring System Integrity Protection

Still quoting:

As of OS X El Capitan, the kext-dev-mode boot-arg is now obsolete.

sudo nvram boot-args="kext-dev-mode=1" # Has No Effect

Source: Kernel Extensions

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .