The recent changes made in the Linux kernel aimed at achieving better energy efficiency through a tighter integration between the CPU scheduler and the frequency-scaling subsystem. However, in the original implementation, the frequency scaling mechanism was used only when there were no real-time tasks in execution. This paper shows how the deadline scheduler and the cpufreq subsystem have been extended to relax this constraint and implement an energy-aware real-time scheduling algorithm. In particular, we describe the design issues encountered when implementing the GRUB-PA algorithm on a real operating system like Linux. A set of experimental results on a multi-core ARM platform validate the effectiveness of the proposed implementation, which has been recently merged into the official Linux kernel.