Criando Kernel RT Ubuntu 12.04
As informações abaixo são baseadas em: https://rt.wiki.kernel.org/index.php/RT_PREEMPT_HOWTO
Atualize o apt-get:
# apt-get update
Baixe o kernel da versão desejada de http://www.kernel.org/pub/linux/kernel/v3.x
Você deve escolher um kernel da mesma versão que o seu, mas um pouco mais novo (ex. se o seu é 3.8.0, pode pegar um 3.8.13). Para instalar o RT, você vai, na verdade, atualizar seu kernel usando os fontes de um novo kernel, um pouco mais novo que o seu - o RT é um patch em um fonte de kernel existente.
Nos exemplos abaixo, o kernel escolhido é o 3.4.52:
$ wget http://www.kernel.org/pub/linux/kernel/v3.x/linux-3.4.52.tar.bz2
Baixe o patch RT para o kernel escolhido de http://www.kernel.org/pub/linux/kernel/projects/rt/ Se não existir, escolha outro kernel (ver acima). No exemplo abaixo, o patch é para o kernel 3.4.52:
$ wget http://www.kernel.org/pub/linux/kernel/projects/rt/3.4/patch-3.4.52-rt67.patch.bz2
Logo após, instale os pacotes abaixo:
$ sudo apt-get install gcc libncurses5-dev
Após instalar os pacotes, digite:
$ sudo su # cd /usr/src/ # cp /< diretório onde voce baixou seu kernel>/linux-3.4.52.tar.bz2 . # cp /< diretório onde voce baixou seu patch>/patch-3.4.52-rt67.patch.bz2 .
Descompacte o kernel:
# tar -jxvf linux-3.4.52.tar.bz2
Mude para o diretório do kernel:
# cd linux-3.4.52
Faca o patch do kernel:
# bzcat ../patch-3.4.52-rt67.patch.bz2 | patch -p1
Obtenha a configuração atual no novo kernel:
# make oldconfig
O make vai fazer algumas perguntas, responda com o padrão EXCETO sobre as opções real time e modo debug. Ou seja, quando perguntado por:
- "Preemption Model"
- Escolha "5. Fully Preemptible Kernel (RT) (PREEMPT_RT_FULL) (NEW)"
- "Debug preemptible kernel (DEBUG_PREEMPT)"
- Escolha "n"
Caso tenha algo a mudar no kernel, use o comando abaixo e mude de acordo com seu interesse nos menus.
# make menuconfig
Ao finalizar, salve as configurações e continue como descrito abaixo (alguns dos comandos abaixo demoram dezenas de minutos para terminar):
# make bzImage # make modules # make modules_install
Após finalizar sem erro, copiar o kernel para /boot:
# cp arch/x86_64/boot/bzImage /boot/vmlinuz-3.4.52-rt67 # cp System.map /boot/System.map-3.4.52-rt67 # cp .config /boot/config-3.4.52-rt67
Gere a imagem:
# cd /boot # mkinitramfs -o initramfs-3.4.52-rt67.img 3.4.52-rt67
Atualize o grub:
# grub2-mkconfig -o /boot/grub2/grub.cfg ou # update-grub
Reinicie o computador para verificar se tudo está certo. Deve aparece o kernel com real time. Exemplo (Linux car01 3.8.13-rt16 #1 SMP PREEMPT RT)
# uname -a
Para instalar a placa de video NVIDIA siga esses passos:
Baixe o driver NVIDIA-Linux-x86_64-352.41.run no site da nvidia
Faça o Download do patch do nvidia https://dl.dropboxusercontent.com/u/1015089/online-ref/nvidia-352.41-rt.patch
Instalei o ssh
$ sudo apt-get install ssh
Descompacte o driver da nvidia
$ cd ~/Downloads $ sudo sh ./NVIDIA-Linux-x86_64-352.41.run --extract-only
Aplique o patch
$ less nvidia-352.41-rt.patch | patch NVIDIA-Linux-x86_64-352.41/kernel/nv-linux.h
Faça a instalação do driver Atenção!!! Nesse momento o driver vai apresentar um erro, não se preocupe continue com a instalação. O driver vai perguntar se deseja criar um arquivo para desabilitar o nouveau, aceite esse opcão. Termine os passos e reincie o pc.
pressione Ctrl+Alt+F1 para entrar no modo texto $ sudo service lightdm stop $ cd NVIDIA-Linux-x86_64-352.41 $ sudo sh ./nvidia-installer Renicie a maquina
Agora acesse a maquina por outro pc via ssh para continuar a instalação
$ ssh usuario@ip
Entre em modo super usuário
$ sudo su
Mate o lightdm
# sudo service lightdm stop
Instale o driver (Será feitas algumas perguntas, fique atento sobre a execução do nvidia-xconfig, escolha yes)
# export IGNORE_PREEMPT_RT_PRESENCE=1 # cd ~/Download/NVIDIA-Linux-x86_64-352.41 # sudo sh ./nvidia-installer
Quando terminar inicie novamente o servidor X e volte a usar a maquina
# sudo service lightdm start
Verifique se o driver foi instalado corretamente, deve mostrar as informações da placa de video
$ nvidia-settings