Questa guida spieghera in pochi passi come compilare un kernel linux con il supporto real-time abilitato.
Attenzione: Non tutte le versioni del kernel hanno la loro patch per il real-time quindi controllate prima per quali versioni
è disponibile la patch e scaricateci il relativo kernel. Notate che dovete la versione della patch deve corrispondere a quella del kernel.
Per prima cosa dovete procurarvi i sorgenti del kernel linux che volete pathcare (li trovate su www.kernel.org) Dopo di che scaricate la relativa patch da: http://www.kernel.org/pub/linux/kernel/projects/rt/
Ora scompattate il kernel in /usr/src e posizionatevi nella cartella con i sorgenti (normalmente sara tipo: linux-2-6-xx.
A questo punto vi conviene partire dalla vecchia configurazione del kernel (soprattutto se avete hardware particolari), quindi copiate il file config che sta in /boot:
cp /boot/config /usr/src/linux-2.6.xx
ovvero la cartella del linux che state per compilare. Dopo di che da dentro tale cartella lanciate:
make oldconfig
VI porrà molte domande, normalmente le scelte che propone lui vanno bene. Ora dalla cartella dei sorgenti sempre applicate la patch:
bzcat path/to/patch-2.6.xx-rtyy.tar.bz2 | patch -p1
ovviamente sostituite il nome dell’esempio con quello della patch che avete scaricato. Una volta terminato, potete dare:
make menuconfig
Da qui portatevi su:
Processor Type and features
e poi selezionate:
Preemption Mode
Nel menu seguente scegliete l’opzione:
Complete Preemption (Real-Time)
Inoltre sempre da Processor Type and Features impostate come valore per Timer frequency 1000hz Ora se volete potete personalizzare il kernel, levando magari moduli che non servono, o altro. uscite e salvate. Ora potete compilare il kernel con:
make -j5 bzImage
make -j5 modules
make modules_install
Al termine di questi 3 comandi, copiate in /boot i seguenti file:
.config
System.map
arch/x86/boot/bzImage
Vi conviene cambiare nome a questi files anche per non rischiare di sovrascrivere quelli gia esistenti. Infine editate il vostro grub o lilo per caricare il file bzImage come kernel, riavviate e il gioco è fatto 🙂