my demo kext can't be load

i study how coding a kext . but my project kext can't code sign and can't be load .so , i send an email to apple developer id . they respond me like this :



KEXT signing is intended for signing commercially shipping kexts or projects broadly distributed in a large organization. The use you describe does not need a signed kext.


You can turn off kext signature checking for sample code and development use as described in the OS X 10.10 Kernel Debug Kit located at < https://developer.apple.com/downloads/>


"In order to load unsigned kexts, the system must have "KEXT Developer Mode" enabled by adding the "kext-dev- mode=1" boot-arg. The following command (followed by a reboot) would be suitable to prepare a system for testing non-production kexts:

sudo nvram boot-args="debug=0x146 kext-dev-mode=1"

Once this is done, the machine will be able to load any valid kext; signatures will still be checked, but a failed verification will just result in a log message. Note: This applies to kexts that contain a binary, as well as codeless

(plist-only) kexts.

The system will remain in developer mode until you manually remove the boot-arg or clear nvram and reboot. You can exit developer mode by redefining the boot-arg to your previous settings, or clear your boot-args as follows:

sudo nvram -d boot-args

Apple recommends that you make use of KEXT Developer Mode rather than use your Developer ID certificate to sign drivers while they are under development. Ideally you should sign a driver using a Developer ID certificate only when it reaches its final stages of testing and is being evaluated for release to customers.


Please note: This address is only for requesting kext signing. If you need additional support please visit the Apple Developer Forums at < https://forums.developer.apple.com/community/core-os/kernel> or open a DTS Technical Support Incident following the steps posted here: https://developer.apple.com/support/technical/submit/
so , i use command sudo nvram boot-args="debug=0x146 kext-dev-mode=1" , and reboot my mac
and
1 use xcode to create a demo generic kernel extension (dgkexttest.kext )
2 build it
3 use command
(1)sudo cp -R /Users/mac-agile/Desktop/dgkexttest.kext /tmp
or sudo cp -R /Users/mac-agile/Desktop/dgkexttest.kext /System/Library/Extensions
(2) kextutil -n -t /tmp/dgkexttest.kext or kextutil -n -t /System/Library/Extensions/dgkexttest.kext
4 but , it show like this

Diagnostics for /tmp/dgkexttest.kext:

Code Signing Failure: not code signed

/tmp/dgkexttest.kext appears to be loadable (including linkage for on-disk libraries).


5 then i check by use "kextstat"


system no load my demo dgkexttest.kext


so ,any one can help me ,how to do ?

my terminal info :

Last login: Wed Sep 2 11:30:27 on console


mac-agiledeMac-mini:~ mac-agile$ sudo cp -R /Users/mac-agile/Desktop/dgkexttest.kext /tmp

Password:

mac-agiledeMac-mini:~ mac-agile$ kextutil -n -t /tmp/dgkexttest.kext

Diagnostics for /tmp/dgkexttest.kext:

Code Signing Failure: not code signed

/tmp/dgkexttest.kext appears to be loadable (including linkage for on-disk libraries).

mac-agiledeMac-mini:~ mac-agile$ kextstat


Index Refs Address Size Wired Name (Version) <Linked Against>

1 78 0xffffff7f80a3e000 0x8c50 0x8c50 com.apple.kpi.bsd (14.5.0)

2 7 0xffffff7f80da3000 0x28c0 0x28c0 com.apple.kpi.dsep (14.5.0)

3 95 0xffffff7f80a03000 0x20500 0x20500 com.apple.kpi.iokit (14.5.0)

4 101 0xffffff7f80a24000 0xbf50 0xbf50 com.apple.kpi.libkern (14.5.0)

5 87 0xffffff7f80a00000 0x2d50 0x2d50 com.apple.kpi.mach (14.5.0)

6 45 0xffffff7f80a30000 0x8590 0x8590 com.apple.kpi.private (14.5.0)

7 60 0xffffff7f80a39000 0x4900 0x4900 com.apple.kpi.unsupported (14.5.0)

8 4 0xffffff7f80da9000 0xa0000 0xa0000 com.apple.kec.corecrypto (1.0) <7 6 5 4 3 1>

9 0 0xffffff7f80ee1000 0xc000 0xc000 com.apple.kec.pthread (1) <7 6 5 4 1>

10 1 0xffffff7f80efe000 0x9000 0x9000 com.apple.kec.Libm (1) <4>

11 20 0xffffff7f813a4000 0x9000 0x9000 com.apple.iokit.IOACPIFamily (1.4) <7 6 4 3>

12 27 0xffffff7f80b24000 0x2f000 0x2f000 com.apple.iokit.IOPCIFamily (2.9) <7 6 5 4 3>

13 2 0xffffff7f828be000 0x5f000 0x5f000 com.apple.driver.AppleACPIPlatform (3.1) <12 11 7 6 5 4 3 1>

14 1 0xffffff7f810af000 0xb000 0xb000 com.apple.driver.AppleFDEKeyStore (28.30) <8 7 6 5 4 3 1>

15 3 0xffffff7f8139d000 0x7000 0x7000 com.apple.iokit.IOReportFamily (31) <5 4 3>

16 4 0xffffff7f80a47000 0x26000 0x26000 com.apple.iokit.IOStorageFamily (2.0) <7 6 5 4 3 1>

17 0 0xffffff7f814dd000 0x19000 0x19000 com.apple.driver.DiskImages (398) <16 7 6 5 4 3 1>

18 1 0xffffff7f822f5000 0xf000 0xf000 com.apple.driver.AppleCredentialManager (1.0) <7 5 4 3 1>

19 2 0xffffff7f80eae000 0xd000 0xd000 com.apple.driver.AppleMobileFileIntegrity (1.0.5) <7 6 5 4 3 2 1>

20 0 0xffffff7f82304000 0x23000 0x23000 com.apple.driver.AppleKeyStore (2) <19 18 8 7 6 5 4 3 1>

21 0 0xffffff7f80da6000 0x2000 0x2000 com.apple.security.TMSafetyNet (8) <7 6 5 4 2 1>

22 2 0xffffff7f80ebb000 0x5000 0x5000 com.apple.kext.AppleMatch (1.0.0d1) <4 1>

23 1 0xffffff7f80ec0000 0x17000 0x17000 com.apple.security.sandbox (300.0) <22 19 7 6 5 4 3 2 1>

24 0 0xffffff7f80ed7000 0x9000 0x9000 com.apple.security.quarantine (3) <23 22 7 6 5 4 2 1>

25 0 0xffffff7f82934000 0x8000 0x8000 com.apple.nke.applicationfirewall (161) <7 6 5 4 3 1>

26 0 0xffffff7f82891000 0x3000 0x3000 com.apple.driver.AppleAPIC (1.7) <4 3>

27 2 0xffffff7f8132a000 0x4000 0x4000 com.apple.iokit.IOSMBusFamily (1.1) <5 4 3>

28 0 0xffffff7f82923000 0x7000 0x7000 com.apple.driver.AppleACPIEC (3.1) <27 13 11 5 4 3>

29 0 0xffffff7f82208000 0x4000 0x4000 com.apple.driver.AppleSMBIOS (2.1) <7 4 3>

30 0 0xffffff7f82585000 0x3000 0x3000 com.apple.driver.AppleHPET (1.8) <11 7 5 4 3>

31 3 0xffffff7f810ba000 0x76000 0x76000 com.apple.iokit.IOHIDFamily (2.0.0) <14 7 6 5 4 3 2 1>

32 0 0xffffff7f8292d000 0x4000 0x4000 com.apple.driver.AppleACPIButtons (3.1) <31 13 11 7 6 5 4 3 1>

33 1 0xffffff7f825fa000 0x5000 0x5000 com.apple.driver.AppleEFIRuntime (2.0) <7 6 5 4 3>

34 0 0xffffff7f82236000 0x8000 0x8000 com.apple.driver.AppleRTC (2.0) <11 5 4 3 1>

35 1 0xffffff7f825ff000 0xb000 0xb000 com.apple.driver.AppleEFINVRAM (2.0) <33 7 6 5 4 3 1>

37 10 0xffffff7f81027000 0x65000 0x65000 com.apple.iokit.IOUSBFamily (720.4.4) <12 7 5 4 3 1>

38 0 0xffffff7f81162000 0x22000 0x22000 com.apple.driver.AppleUSBXHCI (710.4.11) <37 12 7 5 4 3 1>

40 2 0xffffff7f816be000 0x16000 0x16000 com.apple.iokit.IOAHCIFamily (2.7.5) <5 4 3 1>

41 0 0xffffff7f82896000 0x1b000 0x1b000 com.apple.driver.AppleAHCIPort (3.1.2) <40 12 5 4 3 1>

43 7 0xffffff7f80fe8000 0x2c000 0x2c000 com.apple.iokit.IONetworkingFamily (3.2) <7 6 5 4 3 1>

44 2 0xffffff7f8143d000 0x7000 0x7000 com.apple.driver.mDNSOffloadUserClient (1.0.1b8) <43 4 3 1>

45 1 0xffffff7f81444000 0x7000 0x7000 com.apple.iokit.IOEthernetAVBController (1.0.3b3) <43 5 4 3 1>

46 0 0xffffff7f8144b000 0x39000 0x39000 com.apple.iokit.AppleBCM5701Ethernet (10.1.3) <45 44 43 12 11 6 5 4 3 1>

47 1 0xffffff7f81716000 0xab000 0xab000 com.apple.iokit.IO80211Family (730.60) <43 8 7 6 5 4 3 1>

48 0 0xffffff7f817c9000 0x5e6000 0x5e6000 com.apple.driver.AirPort.Brcm4360 (930.37.3) <47 44 43 12 7 6 5 4 3 1>

49 0 0xffffff7f8221b000 0x13000 0x13000 com.apple.driver.AppleSDXC (1.6.5) <16 15 12 5 4 3 1>

50 5 0xffffff7f8121b000 0xde000 0xde000 com.apple.iokit.IOThunderboltFamily (4.2.2) <5 4 3 1>

51 0 0xffffff7f82125000 0x1b000 0x1b000 com.apple.driver.AppleThunderboltNHI (3.1.7) <50 12 11 5 4 3 1>

52 0 0xffffff7f82113000 0x5000 0x5000 com.apple.driver.AppleThunderboltPCIDownAdapter (2.0.2) <50 12 5 4 3 1>

53 1 0xffffff7f82167000 0xf000 0xf000 com.apple.driver.AppleThunderboltDPAdapterFamily (4.0.6) <50 11 5 4 3 1>

54 0 0xffffff7f82191000 0x6000 0x6000 com.apple.driver.AppleThunderboltDPInAdapter (4.0.6) <53 50 5 4 3 1>

56 0 0xffffff7f816f1000 0x18000 0x18000 com.apple.iokit.IOAHCIBlockStorage (2.7.1) <40 16 6 5 4 3 1>

57 0 0xffffff7f81ff5000 0x3000 0x3000 com.apple.driver.XsanFilter (404) <16 5 4 3 1>

58 0 0xffffff7f81f26000 0xa000 0xa000 com.apple.BootCache (36) <7 6 5 4 3 1>

59 0 0xffffff7f8286a000 0x6000 0x6000 com.apple.AppleFSCompression.AppleFSCompressionTypeZlib (1.0.0) <6 4 3 2 1>

60 0 0xffffff7f82872000 0x3000 0x3000 com.apple.AppleFSCompression.AppleFSCompressionTypeDataless (1.0.0d1) <7 6 4 3 2 1>

62 0 0xffffff7f811c7000 0x1c000 0x1c000 com.apple.driver.AppleUSBHub (705.4.2) <37 5 4 3 1>

63 1 0xffffff7f81158000 0xa000 0xa000 com.apple.driver.AppleUSBComposite (705.4.9) <37 4 3 1>

64 1 0xffffff7f8114e000 0xa000 0xa000 com.apple.iokit.IOUSBHIDDriver (705.4.0) <37 31 5 4 3 1>

65 0 0xffffff7f82327000 0x4000 0x4000 com.apple.driver.AppleIRController (327.5) <64 37 31 5 4 3>

66 0 0xffffff7f811c0000 0x7000 0x7000 com.apple.driver.AppleUSBMergeNub (705.4.0) <63 37 4 3 1>

67 0 0xffffff7f80ae2000 0x2b000 0x2b000 com.apple.iokit.IOSCSIArchitectureModelFamily (3.7.5) <5 4 3 1>

68 12 0xffffff7f81486000 0x3b000 0x3b000 com.apple.iokit.IOGraphicsFamily (2.4.1) <12 7 5 4 3 1>

69 2 0xffffff7f82394000 0x6f000 0x6f000 com.apple.iokit.IOAcceleratorFamily2 (156.16) <68 12 7 6 5 4 3 1>

70 3 0xffffff7f8249b000 0x7000 0x7000 com.apple.AppleGraphicsDeviceControl (3.10.25) <7 6 5 4 3 1>

71 0 0xffffff7f824a2000 0x4b000 0x4b000 com.apple.driver.AppleIntelFramebufferAzul (10.0.6) <70 69 68 15 12 11 7 6 5 4 3 1>

72 2 0xffffff7f814cd000 0x10000 0x10000 com.apple.iokit.IONDRVSupport (2.4.1) <68 12 7 5 4 3>

73 1 0xffffff7f81315000 0x13000 0x13000 com.apple.iokit.IOSurface (97.4) <7 5 4 3 1>

74 0 0xffffff7f82411000 0x60000 0x60000 com.apple.driver.AppleIntelHD5000Graphics (10.0.6) <73 69 68 12 7 6 5 4 3 1>

77 0 0xffffff7f82145000 0x17000 0x17000 com.apple.driver.AppleThunderboltIP (2.0.2) <50 43 12 5 4 3 1>

78 4 0xffffff7f813ad000 0xa000 0xa000 com.apple.driver.IOPlatformPluginFamily (5.9.1d7) <11 7 6 5 4 3>

79 3 0xffffff7f813b7000 0x1a000 0x1a000 com.apple.driver.AppleSMC (3.1.9) <11 7 5 4 3 1>

80 1 0xffffff7f813d3000 0x17000 0x17000 com.apple.driver.X86PlatformPlugin (1.0.0) <79 78 37 11 7 6 5 4 3 1>

83 1 0xffffff7f81338000 0xe000 0xe000 com.apple.iokit.IOSerialFamily (11) <7 6 5 4 3 1>

85 1 0xffffff7f8132e000 0x5000 0x5000 com.apple.iokit.IOSlowAdaptiveClockingFamily (1.0.0) <7 6 5 4 3 1>

86 0 0xffffff7f8232e000 0x2000 0x2000 com.apple.driver.AppleIntelSlowAdaptiveClocking (4.0.0) <85 4 3>

87 0 0xffffff7f82547000 0xb000 0xb000 com.apple.driver.AppleHV (1) <7 6 5 4 3 1>

88 2 0xffffff7f81580000 0xad000 0xad000 com.apple.iokit.IOBluetoothFamily (4.3.6f3) <15 7 5 4 3 1>

89 1 0xffffff7f8163d000 0x23000 0x23000 com.apple.iokit.IOBluetoothHostControllerUSBTransport (4.3.6f3) <88 37 12 11 7 5 4 3 1>

90 0 0xffffff7f81660000 0x9000 0x9000 com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport (4.3.6f3) <89 88 37 12 11 7 5 4 3>

91 0 0xffffff7f810ac000 0x3000 0x3000 com.apple.iokit.IOUSBUserClient (705.4.0) <37 7 5 4 3 1>

93 2 0xffffff7f81f3d000 0x78000 0x78000 com.apple.vecLib.kext (1.2.0) <10 6 5 4 3>

94 4 0xffffff7f81fb5000 0x30000 0x30000 com.apple.iokit.IOAudioFamily (203.3) <93 5 4 3 1>

95 2 0xffffff7f825b8000 0xc000 0xc000 com.apple.iokit.IOHDAFamily (272.18.1) <5 4 3 1>

96 1 0xffffff7f825cb000 0x1c000 0x1c000 com.apple.driver.AppleHDAController (272.18.1) <95 94 68 12 7 6 5 4 3 1>

97 0 0xffffff7f82542000 0x3000 0x3000 com.apple.driver.AppleHWAccess (1) <7 5 4 3>

98 0 0xffffff7f81e22000 0x5000 0x5000 com.apple.Dont_Steal_Mac_OS_X (7.0.0) <79 7 4 3 1>

101 0 0xffffff7f8101b000 0x6000 0x6000 com.apple.iokit.IOUserEthernet (1.0.1) <43 6 5 4 3 1>

102 0 0xffffff7f822ed000 0x3000 0x3000 com.apple.driver.AppleLPC (1.7.3) <78 12 5 4 3>

103 0 0xffffff7f82295000 0x4000 0x4000 com.apple.driver.AppleOSXWatchdog (1) <12 7 6 5 4 3 1>

104 1 0xffffff7f825e7000 0x13000 0x13000 com.apple.kext.OSvKernDSPLib (1.15) <5 4>

105 1 0xffffff7f8260a000 0x131000 0x131000 com.apple.driver.DspFuncLib (272.18.1) <104 94 93 35 6 5 4 3 1>

106 0 0xffffff7f82745000 0xab000 0xab000 com.apple.driver.AppleHDA (272.18.1) <105 96 95 94 72 68 6 5 4 3 1>

107 1 0xffffff7f822a2000 0xe000 0xe000 com.apple.driver.AppleSMBusController (1.0.13d1) <27 12 11 5 4 3>

108 0 0xffffff7f822b3000 0xe000 0xe000 com.apple.driver.AppleMCCSControl (1.2.12) <107 68 12 11 7 5 4 3 1>

109 1 0xffffff7f8285c000 0x3000 0x3000 com.apple.driver.AppleGraphicsControl (3.10.25) <68 12 11 7 5 4 3 1>

110 0 0xffffff7f8285f000 0x7000 0x7000 com.apple.driver.AppleGraphicsDevicePolicy (3.7.7) <109 70 68 12 11 7 6 5 4 3 1>

111 0 0xffffff7f820a3000 0x5000 0x5000 com.apple.driver.AppleUpstreamUserClient (3.6.1) <68 12 11 7 5 4 3 1>

113 2 0xffffff7f80e49000 0x5000 0x5000 com.apple.kext.triggers (1.0) <7 6 5 4 3 1>

114 0 0xffffff7f81f32000 0x9000 0x9000 com.apple.filesystems.autofs (3.0) <113 7 6 5 4 3 1>

115 1 0xffffff7f813ea000 0x7000 0x7000 com.apple.driver.X86PlatformShim (1.0.0) <80 79 78 7 4 3>

116 0 0xffffff7f8228e000 0x4000 0x4000 com.apple.driver.ApplePlatformEnabler (2.2.0d4) <7 5 4 3>

117 0 0xffffff7f8283f000 0x14000 0x14000 com.apple.driver.AGPM (110.19.6) <78 72 70 68 12 5 4 3>

118 0 0xffffff7f81fed000 0x5000 0x5000 com.apple.driver.AudioAUUC (1.70) <94 68 12 11 7 5 4 3 1>

119 0 0xffffff7f8156c000 0xa000 0xa000 com.apple.iokit.IOBluetoothSerialManager (4.3.6f3) <83 7 5 4 3 1>

120 0 0xffffff7f8293e000 0xd000 0xd000 com.eset.kext.esets_pfw (600.01.43f01) <4 3 1>

121 0 0xffffff7f8294b000 0x15000 0x15000 com.eset.kext.esets_kac (600.01.43f01) <5 4 3 1>

122 0 0xffffff7f80e4e000 0x59000 0x59000 com.apple.filesystems.smbfs (3.0.2) <113 8 7 6 5 4 3 1>

mac-agiledeMac-mini:~ mac-agile$

system no load my demo dgkexttest.kext 。


Answered by Rum in 48004022

have you tried it with sudo?

sudo kextload /tmp/dgkexttest.kext


And please check what kext owner is root:wheel

Have you tried to actually load the KEXT using (using

kextload
)? The fact that
kextutil
complains that the KEXT is not signed is expected; you have
kext-dev-mode
so the system will ignore the broken signature.

Share and Enjoy

Quinn "The Eskimo!"
Apple Developer Relations, Developer Technical Support, Core OS/Hardware

let myEmail = "eskimo" + "1" + "@apple.com"

i use kextutil -n -t /tmp/dgkexttest.kext


it is not correct ?

so, i try kextload



kextload /tmp/dgkexttest.kext

/tmp/dgkexttest.kext failed to load - (libkern/kext) not privileged; check the system/kernel logs for errors or try kextutil(8).



but failed .

Accepted Answer

have you tried it with sudo?

sudo kextload /tmp/dgkexttest.kext


And please check what kext owner is root:wheel

....

my demo kext can't be load
 
 
Q