Eu compilei o preempt kernel do Linux várias vezes e IMHO, você está melhor tentando compilar uma versão mais antiga do kernel como 3.4 do que a 3.18.
Dito isto, você está no caminho certo. Você precisa baixar o kernel e o patch. Corrigir o kernel baixado, definir as configurações desejadas, compilar e instalar. Configurações detalhadas e como estão disponíveis nesta página: link . Você pode então reiniciar no kernel em tempo real se tudo correr bem. Você não pode simplesmente substituir seu kernel por um em tempo real manualmente.
Por último, embora eu não tenha tentado executar o preempt kernel em uma máquina virtual, IMHO não será um sistema de tempo real difícil no final, porque se a comunicação com o aplicativo externo é através do sistema operacional host, então o as prioridades do sistema operacional host afetariam o desempenho do sistema geral.