Rua Álvares de Azevedo 400 - Bela Vista - Divinópolis - MG - Brasil - CEP 35503-822 +553733211150 [email protected] Mon-Fri : 9:00am - 6:00pm

Compilando Kernel RT Fedora 2013

Um Sistema Operacional de Tempo Real (RTOS da sigla em inglês Real Time Operating System) é um sistema operacional destinado à execução de múltiplas tarefas onde o tempo de resposta a um evento (externo ou interno) é pré-definido; não importando, como é comum pensar-se, se a velocidade de resposta é elevada ou não. Esse tempo de resposta é chamado de prazo da tarefa e a perda de um prazo, isto é, o não cumprimento de uma tarefa dentro do prazo esperado, caracteriza uma falha do sistema. Outra característica dos sistemas de tempo real é a sua interação com o meio ao redor. Os STR tem que reagir, dentro de um prazo pré-definido, a um estímulo do meio. Por exemplo, em um hospital, o sistema que monitora os batimentos cardíacos de um paciente deve avisar os médicos caso haja alteração nos batimentos. Outro aspecto importante dos STR é a previsibilidade. O sistema é considerado previsível quando podemos antecipar seu comportamento independentemente de falhas, sobrecargas e variações de hardware.

Um RTOS facilita a concepção de um sistema em tempo real, mas não garante que o resultado final seja um sistema de tempo real, para tal é necessário que o programa nele implementado tenha sido corretamente desenvolvido. Um RTOS não tem que ter necessariamente um elevado débito nas saídas, ou um elevado número de saídas, no entanto, tem que garantir que certas tarefas sejam executadas em um determinado intervalo de tempo. Um RTOS é mais eficaz e é mais valorizado pela forma previsível e rápida na resposta a um evento, do que pela quantidade de dados que processa. Os fatores chave em um STR são, então, fornecer latências de interrupções e de alternância de tarefas mínimas.

Para criar um kernel RT (Real Time) é necessario baixar o kernel principal e o patch do kernet rt.
Baixe o kernel no site : http://www.kernel.org.
Nesse tutorial explicarei como usar o kernel rt 2.6.31.12-rt21
Baixe o kernel:
$ wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.31.12.tar.bz2">http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.31.12.tar.bz2
Baixe o patch:
$ wget http://www.kernel.org/pub/linux/kernel/projects/rt/patch-2.6.31.12-rt21.bz2">http://www.kernel.org/pub/linux/kernel/projects/rt/patch-2.6.31.12-rt21.bz2
Logo após,  baixe e instale os pacotes, logando como root:
# yum install gcc ncurses ncurses-devel kernel-devel -y
Após instalar os pacotes, digite:
# cd /usr/src/kernels
#cp /< diretorio onde voce baixou seu kernel>/linux-2.6.31.12.tar.bz2 .
#cp /< diretorio onde voce baixou seu patch>/patch-2.6.31.12-rt21.bz2 .
Descompacte o kernel:
# tar -jxvf linux-2.6.31.12.tar.bz2
Mude para o diretório do kernel:
# cd linux-2.6.31.12
Faça o patch do kernel:
# bzcat ../patch-2.6.31.12-rt21.bz2 | patch -p1
Obtenha a configuração atual no novo kernel:
# make oldconfig
O kernel vai fazer algumas perguntas, fique atento quanto ele perguntar sobre o kernel, que tem que ser a opção real time.
Logo após isso, execute o comando:
# make menunconfig
Caso tenha algo a mudar no kernel, mude nesses menus.
Ao finalizar, salve as configurações e continue como descrito abaixo:
# make bzImage && make modules && make modules_install
Vai demorar, por isso espere. P.S. : Tome alguns cafés ;)
Após finalizar sem erro, agora e copiar o kernel para /boot:
# cp arch/x86-64/boot/bzImage /boot/vmlinuz-2.6.31.12-rt
# cp System.map /boot/System.map-2.6.31.12-rt
# cp .config /boot/config-2.6.31.12-rt
Gere a imagem:
# cd /boot
# mkinitrd initramfs-2.6.31.12-rt21.img 2.6.31.12-rt21
Agora edite o arquivo do grub para dar o boot no novo kernel:

# cd grub
# gedit menu.lst

Copie uma linha do arquivo e altere os dados para o seu novo kernel, como no exemplo: Copie o do seu arquivo e não este, pois as informações do HD são diferentes.

title Fedora (2.6.31.12-rt)
root (hd0,2)
kernel /vmlinuz-2.6.31.12-rt ro root=/dev/mapper/vg_lcad12-lv_root nomodeset rhgb quiet
initrd /initramfs-2.6.31.12-rt21.img
Salve o arquivo, de uma revisada para ver se não escreveu nenhum nome errado e reinicie.
Observação: Caso utilize alguma placa da Nvidia ou AMD/ATI, e necessário baixar o drive para instalação no primeiro boot.
No module Published on Offcanvas position