A computer-implemented method performed by at least one processor to examine an operating system kernel to identify code and data for pre-layout in a byte-addressable, persistent random access memory, BPRAM, the method comprising: identifying a target operating system kernel for which to create a fast-booting image layout of the kernel for storage in BPRAM, wherein the kernel has a stored format comprising one or more modules that differs in layout from the fast-booting image; performing static analysis on the identified target operating system kernel to determine one or more statically or dynamically linked modules associated with the kernel and to identify data used by the kernel that is changing rarely enough in order to avoid writing to BPRAM a number of times in excess of a wear specification for the BPRAM so that BPRAM is suitable for storing the data, wherein performing static analysis comprises loading a main module associated with the kernel and examining an executable format of the loaded main module to identify one or more sections of the module; performing dynamic analysis by executing the operating system kernel and monitoring initialization of the kernel to identify additional modules and data associated with the kernel, wherein the dynamic analysis provides information to identify particular code and data that is suitable for layout in BPRAM; identifying a BPRAM device suitable for storing a pre-laid out image from which to fast boot the operating system kernel; creating a layout for a fast-booting image, based on an in-memory layout of the kernel and the identified code and data suitable for storing in BPRAM identified during static and dynamic analysis, that differs in layout from the stored format of the kernel, wherein the fast-booting image is ready for executing without first going through an initialization process that copies from a stored format to a format ready for executing and wherein the fast booting image is created before receiving a request to execute the kernel; and copying the created layout image to the identified BPRAM. identifying a target operating system kernel for which to create a fast-booting image layout of the kernel for storage in BPRAM, wherein the kernel has a stored format comprising one or more modules that differs in layout from the fast-booting image; performing static analysis on the identified target operating system kernel to determine one or more statically or dynamically linked modules associated with the kernel and to identify data used by the kernel that is changing rarely enough in order to avoid writing to BPRAM a number of times in excess of a wear specification for the BPRAM so that BPRAM is suitable for storing the data, wherein performing static analysis comprises loading a main module associated with the kernel and examining an executable format of the loaded main module to identify one or more sections of the module; performing dynamic analysis by executing the operating system kernel and monitoring initialization of the kernel to identify additional modules and data associated with the kernel, wherein the dynamic analysis provides information to identify particular code and data that is suitable for layout in BPRAM; identifying a BPRAM device suitable for storing a pre-laid out image from which to fast boot the operating system kernel; creating a layout for a fast-booting image, based on an in-memory layout of the kernel and the identified code and data suitable for storing in BPRAM identified during static and dynamic analysis, that differs in layout from the stored format of the kernel, wherein the fast-booting image is ready for executing without first going through an initialization process that copies from a stored format to a format ready for executing and wherein the fast booting image is created before receiving a request to execute the kernel; and copying the created layout image to the identified BPRAM.