> uint8_t *p = _kernel_end; _kernel_end is not a pointer, it is a symbol. Take its address with &_kernel_end instead. Disclaimer: Untested, I am currently commuting. Vojta Káně