Skip to main content

Custom Kernels

The kernel is a program at the core of a device's operating system and has complete control over everything in the system. The iOS kernel is the XNU kernel of Darwin, whereas Android uses a modified version of the Linux kernel with further architectural changes implemented by Google.


On Enterprise Accounts, a custom Linux kernel can be uploaded for Android devices. It will be used instead of the default Linux kernel. For instance, you may want to customize a kernel to:

  • generate a vmlinux to aid kernel debugging.
  • enable debug symbols.
  • add instrumentation, like KASAN or Kcov.
  • add or remove exploit mitigations.
  • integrate training modules or revert security patches, for security testing.

For iOS devices, you can upload and use any compatible ARM kernel to be used instead of the stock kernel.

For either device, simply drag your custom kernel into the appropriate place in Settings to upload it. All custom kernels must be unencrypted and uncompressed.