Script de compilação automatica do Kernel Linux 3.3.7 para ubuntu 11.10 64 bits

Iniciado por 4d4c47, 07 de Maio de 2012, 22:08

tópico anterior - próximo tópico

4d4c47

Script feito em bash para compilação automatica do kernel linux no ubuntu 11.10 64 BITS (e posteriores) para PC/NOTEBOOKs que tenha no minímo 2 GB de memoria RAM, ele baixa e compila tudo automaticamente usando CFLAGS -MARCH=NATIVE + -Ofast + patch 3.3.0-ck1 do Con Kolivas, só sendo necessario escolher a arquitetura exata do seu processador no MENUCONFIG.
scrip

wiki:

script de compilação do kernel 3.3.X para uso no ubuntu 11.10 64 bits, baixa tudo automaticamente (dependências, compiladores, kernel e patchs) com patch 3.3.0-ck1 e usando cflag -march=native + -Ofast.

para usa-lo salve ele com o nome de scriptkernel e para executa-lo, utilize um terminal MAXIMIZADO e execute:

$ time sudo bash scriptkernel

e em 2 minutos aparecerá uma tela do menuconfig, escolha a sua arquitetura de seu processador na parte PROCESSOR TYPE AND FEATURES e depois clicke em EXIT e em YES, e logo começará a compilação e no final a instalação automatica.

OBS= para maior exito na compilação (certeza que irá ser executado sem erros) deve ter em seu PC ou NOTEBOOK no mínimo de 2 GB de RAM e ter pelo menos 15 GB livre em seu disco rígido (não é uma regra, mas evita de erro por falta de espaço no disco)

Site do projeto:

http://sourceforge.net/projects/scriptkernel/


#!/bin/bash

# script PARA USUARIOS DO UBUNTU 11.10 baixa e compila kernel tudo automaticamente CRIADO PELOS USUÁRIOS DO FORUM UBUNTU BR:
# http://ubuntuforum-br.org/index.php/topic,29799.3960.html
#
#
# Pagina do projeto:
#
# http://sourceforge.net/projects/scriptkernel/
#
# totalmente GPL-3
#
#
#
#
# script de compilação do kernel 3.3.X para uso no ubuntu 11.10 64 bits,
# baixa tudo automaticamente (dependências, compiladores,
# kernel e patchs) com patch 3.3.0-ck1   e usando cflag -march=native + -Ofast.
#
# para usa-lo salve ele com o nome de scriptkernel e para executa-lo, utilize um terminal MAXIMIZADO e execute:
#
# $ time sudo bash scriptkernel
#
# e em 2 minutos aparecerá uma tela do menuconfig,
# escolha a sua arquitetura de seu processador na parte PROCESSOR TYPE AND FEATURES e depois clicke em EXIT e em YES,  
# e logo começará a compilação e no final a instalação automatica.
#
# OBS= para maior exito na compilação (certeza que irá ser executado sem erros)
# deve ter em seu PC ou NOTEBOOK no mínimo de 2 GB de RAM e ter pelo menos 15 GB livre
# em seu disco rígido (não é uma regra, mas evita de erro por falta de espaço no disco)
#
#
############################################################################################################################################



############################################
#vc só vai ter o trabalho de editar aqui:

#versão do kernel a ser compilado
kernel=3.3

#path de atualização
patchkernel=3.3.7

#patch BFQ
bfq=3.3.0-v3r3


#patch ck
patchck=3.3-ck1

#sufixo
ckk=ck1


#.config antigo
kernelantigo=atual

############################################

# não precisa mexer em mais nada aqui

##################################
#arquitetura: amd64 ou i386
arqt=$(dpkg --print-architecture)


#CL=CONCURRENCY_LEVEL do processador
CL=$(grep -c processor /proc/cpuinfo)
##################################

########baixando compiladores e dependencias########################################################
sudo apt-get update
sudo apt-get install kernel-package gcc-4.6 libncurses5 libncurses5-dev build-essential patch -y
####################################################################################################



######deletando patchs antigos#############
sudo rm /usr/src/patch-$patchkernel
sudo rm /usr/src/patch-$patchck
sudo rm /usr/src/0001-base-packaging.patch
sudo rm /usr/src/0002-debian-changelog.patch
sudo rm /usr/src/0003-default-configs.patch
sudo rm /usr/src/0001-block-cgroups-kconfig-build-bits-for-BFQ-v3r3-3.3.patch
sudo rm /usr/src/0002-block-introduce-the-BFQ-v3r3-I-O-sched-for-3.3.patch
############################################




cd /usr/src
wget -c http://www.kernel.org/pub/linux/kernel/v3.x/linux-$kernel.tar.bz2


sudo tar -jxpvf /usr/src/linux-$kernel.tar.bz2
sudo mv /usr/src/linux-$kernel /usr/src/linux-$patchkernel-$ckk


wget -c http://www.kernel.org/pub/linux/kernel/v3.x/patch-$patchkernel.bz2
wget -c http://ck.kolivas.org/patches/3.0/$kernel/$patchck/patch-$patchck.bz2
wget -c http://algo.ing.unimo.it/people/paolo/disk_sched/patches/$bfq/0001-block-cgroups-kconfig-build-bits-for-BFQ-v3r3-3.3.patch
wget -c http://algo.ing.unimo.it/people/paolo/disk_sched/patches/$bfq/0002-block-introduce-the-BFQ-v3r3-I-O-sched-for-3.3.patch



#ubuntu patch
wget -c http://kernel.ubuntu.com/~kernel-ppa/mainline/v$patchkernel-precise/0001-base-packaging.patch
wget -c http://kernel.ubuntu.com/~kernel-ppa/mainline/v$patchkernel-precise/0002-debian-changelog.patch
wget -c http://kernel.ubuntu.com/~kernel-ppa/mainline/v$patchkernel-precise/0003-default-configs.patch



sudo bunzip2 /usr/src/patch-$patchkernel.bz2
sudo bunzip2 /usr/src/patch-$patchck.bz2


cd /usr/src/linux-$patchkernel-$ckk

sudo patch -p1 < /usr/src/patch-$patchkernel
sudo patch -p1 < /usr/src/patch-$patchck
sudo patch -p1 < /usr/src/0001-block-cgroups-kconfig-build-bits-for-BFQ-v3r3-3.3.patch
sudo patch -p1 < /usr/src/0002-block-introduce-the-BFQ-v3r3-I-O-sched-for-3.3.patch
sudo patch -p1 < /usr/src/0001-base-packaging.patch
sudo patch -p1 < /usr/src/0002-debian-changelog.patch
sudo patch -p1 < /usr/src/0003-default-configs.patch


######################
#sudo cp /boot/config-$kernelantigo /usr/src/linux-$patchkernel-$ckk/.config

config_file=$(locate /boot/config-* | sort -r | head -1)

sudo cp $config_file /usr/src/linux-$patchkernel-$ckk

#########################

#sudo gedit Makefile  

sleep 3

sudo make menuconfig

sudo sed 's/CONFIG_RTS5139=m/# CONFIG_RTS5139 is not set/g' /usr/src/linux-$patchkernel-$ckk/.config > /usr/src/linux-$patchkernel-$ckk/cc && mv /usr/src/linux-$patchkernel-$ckk/cc /usr/src/linux-$patchkernel-$ckk/.config

sleep 3

############ script do grande Stivekx #######################

#!/bin/bash

#Script para automatizar a mudança das flags na hora de compilar o kernel.
#Mais informações sobre como compilar o kernel para seu processador:
#http://ubuntuforum-br.org/index.php/topic,81718.0.html

#Modo de usar:
#Após baixar o kernel, descompactar, criar um link simbólico para ele no /usr/src/linux:
# cd /usr/src/linux
# sudo su
# chmod +x script.sh
# ./script.sh
#O script deve ser executado como root. Recomendo que use sudo su - e rode o script ao invés de sudo sh script.sh


#Script criado por André Steinn

#Aqui é a lista de arquivos que ele vai dar replace no -march= por -march=native. Você pode mudar essa lista de arquivos passando a lista pela opção a e separados pro virgula
#e.g.: ./script.sh -a arch/x86/boot/compressed/Makefile,arch/x86/boot/Makefile,arquivo1,arquivo2,arquivo3

arquivos=( "arch/x86/boot/compressed/Makefile" "arch/x86/boot/Makefile" "arch/x86/kernel/acpi/realmode/Makefile" "arch/x86/Kconfig.cpu" "arch/x86/Makefile" "arch/x86/Makefile_32.cpu")

#Aqui eu verifico se a pessoa passou algum argumento na hora de executar o script
while getopts ":a:c" opt; do
 case $opt in
   a)
     echo "Você setou uma lista de arquivos personalizada: $OPTARG" >&2
IFS=',' read -ra arquivos <<< "$OPTARG"
     ;;
   \?)
     echo "Opção inválida: -$OPTARG" >&2
     exit 1
     ;;
 esac
done

#Aqui eu faço um loop e altero os arquivos, removendo o -march=() por -march=native
for i in "${arquivos[@]}"
do
echo "Path no arquivo:"$i
sed -e 's/-march=\([A-Z0-9a-z]\+\)/-march=native -Ofast/g'  $i > "$i.file_changed"
mv "$i.file_changed" $i
done



################

sleep 3


#time sudo CONCURRENCY_LEVEL=2 make-kpkg --initrd kernel_image kernel_headers modules_image

time sudo CONCURRENCY_LEVEL=$CL make-kpkg --initrd kernel_image kernel_headers modules_image


cd /usr/src
sudo dpkg -i linux-image-$patchkernel-$ckk\_$patchkernel-$ckk-10.00.Custom_$arqt.deb linux-headers-$patchkernel-$ckk\_$patchkernel-$ckk-10.00.Custom_$arqt.deb

sleep 3

cd /lib/modules
sudo mkinitramfs -o /boot/initrd.img-$patchkernel-$ckk $patchkernel-$ckk
sudo update-grub

sleep 5
echo 'tudo belezinha'



criado pelos usuários do forum ubuntu-br,

o script baixa e compila tudo automaticamente, adiciona automaticamente patch BFS + CFLAGS MARCH=NATIVE -Ofast, dessa forma acelerando por completo todo o sistema, vc só terá o trabalho de especificar a arquitetura de seu processador no MENUCONFIG

OBS= a compilação demora de 2 á 3 horas (dependendo de seu processador).

REQUISITOS MÍNIMOS: ter o sistema operacional UBUNTU 11.10 64 BITS e o mínimo de 2 GB de ram

vampire_thunder

Testando agora!!!

Edit: o que vai demorar aqui não é a compilação e sim o download.

Edit²:
done
tudo belezinha

real 29m27.576s
user 87m8.883s
sys 7m4.979s

4d4c47

Citação de: vampire_thunder online 07 de Maio de 2012, 23:36
Testando agora!!!

Edit: o que vai demorar aqui não é a compilação e sim o download.

EEEÉ... o download vai depender mais é da velocidade de sua internet aé, hoje um plano de 5 a 10 Mb/s já tá mais acessivel que no passado. Por isso nem especifiquei isso.

vampire_thunder

Citação de: 4d4c47 online 08 de Maio de 2012, 01:58
Citação de: vampire_thunder online 07 de Maio de 2012, 23:36
Testando agora!!!

Edit: o que vai demorar aqui não é a compilação e sim o download.

EEEÉ... o download vai depender mais é da velocidade de sua internet aé, hoje um plano de 5 a 10 Mb/s já tá mais acessivel que no passado. Por isso nem especifiquei o isso.

Acontece que moro na Baixada e aqui só tem 600K, quando tem. A minha é 3G.
Vou reinciar, mas vou testar mesmo amanhã, pq só estava esperando a compilação acabar para dormir.

4d4c47

Citação de: 4d4c47 online 08 de Maio de 2012, 01:58
Citação de: vampire_thunder online 07 de Maio de 2012, 23:36
Testando agora!!!

Edit: o que vai demorar aqui não é a compilação e sim o download.

EEEÉ... o download vai depender mais é da velocidade de sua internet aé, hoje um plano de 5 a 10 Mb/s já tá mais acessivel que no passado. Por isso nem especifiquei isso.

só pra ter uma ideia de tempo, aqui com uma net de 1 Mb, em um notebook acer aspire 4540 com processador M300 e 4 GB de ram, demorou cerca de 160 minutos (mais ou menos isso).



vampire_thunder

Já estou usando o novo Kernel. Detalhe que estou usando o Ubuntu 12.04, e não o 11.10, como diz no tópico. Funcionou perfeitamente no 12.04.
Só o Plymouth não está aparecendo na inicialização. Estou usando uma placa NVidia.

4d4c47

Citação de: vampire_thunder online 08 de Maio de 2012, 07:56
Já estou usando o novo Kernel. Detalhe que estou usando o Ubuntu 12.04, e não o 11.10, como diz no tópico. Funcionou perfeitamente no 12.04.
Só o Plymouth não está aparecendo na inicialização. Estou usando uma placa NVidia.


o script é de facil leitura ( quase sem IF ou ELSE, a maior parte é só comandos diretos), fiquem a vontade pra mudar ou acrescentar o  que quiserem, tava até pensando colocar o BFQ, por acaso sabem onde baixo o mais atual ?





vampire_thunder

Citação de: 4d4c47 online 08 de Maio de 2012, 16:08
Citação de: vampire_thunder online 08 de Maio de 2012, 07:56
Já estou usando o novo Kernel. Detalhe que estou usando o Ubuntu 12.04, e não o 11.10, como diz no tópico. Funcionou perfeitamente no 12.04.
Só o Plymouth não está aparecendo na inicialização. Estou usando uma placa NVidia.


o script é de facil leitura ( quase sem IF ou ELSE, a maior parte é só comandos diretos), fiquem a vontade pra mudar ou acrescentar o  que quiserem, tava até pensando colocar o BFQ, por acaso sabem onde baixo o mais atual ?


Aqui:
http://algo.ing.unimo.it/people/paolo/disk_sched/sources.php

Coloque, sim. Quando eu compilo, sempre coloco. Mas com a minha falta de tempo não tenho parado para compilar.

O script eu executei do jeito que baixei, não alterei nada. Funciona normal no 12.04, pode editar o título do tópico.

4d4c47

Citação de: 4d4c47 online 08 de Maio de 2012, 16:08
Citação de: vampire_thunder online 08 de Maio de 2012, 07:56
Já estou usando o novo Kernel. Detalhe que estou usando o Ubuntu 12.04, e não o 11.10, como diz no tópico. Funcionou perfeitamente no 12.04.
Só o Plymouth não está aparecendo na inicialização. Estou usando uma placa NVidia.


o script é de facil leitura ( quase sem IF ou ELSE, a maior parte é só comandos diretos), fiquem a vontade pra mudar ou acrescentar o  que quiserem, tava até pensando colocar o BFQ, por acaso sabem onde baixo o mais atual ?


aqui vai uma atualização do script com o BFQ, estou testando aqui e até agora sem erro nenhum:



#!/bin/bash

# script PARA USUARIOS DO UBUNTU 11.10 baixa e compila kernel tudo automaticamente CRIADO PELOS USUÁRIOS DO FORUM UBUNTU BR:
# http://ubuntuforum-br.org/index.php/topic,29799.3960.html
#
#
# Pagina do projeto:
#
# http://sourceforge.net/projects/scriptkernel/
#
# totalmente GPL-3
#
#
#
#
# script de compilação do kernel 3.3.X para uso no ubuntu 11.10 64 bits,
# baixa tudo automaticamente (dependências, compiladores,
# kernel e patchs) com patch 3.3.0-ck1   e usando cflag -march=native + -Ofast.
#
# para usa-lo salve ele com o nome de scriptkernel e para executa-lo, utilize um terminal MAXIMIZADO e execute:
#
# $ time sudo bash scriptkernel
#
# e em 2 minutos aparecerá uma tela do menuconfig,
# escolha a sua arquitetura de seu processador na parte PROCESSOR TYPE AND FEATURES e depois clicke em EXIT e em YES,  
# e logo começará a compilação e no final a instalação automatica.
#
# OBS= para maior exito na compilação (certeza que irá ser executado sem erros)
# deve ter em seu PC ou NOTEBOOK no mínimo de 2 GB de RAM e ter pelo menos 15 GB livre
# em seu disco rígido (não é uma regra, mas evita de erro por falta de espaço no disco)
#
#
############################################################################################################################################



############################################
#vc só vai ter o trabalho de editar aqui:

#versão do kernel a ser compilado
kernel=3.3

#path de atualização
patchkernel=3.3.7

#patch BFQ
bfq=3.3.0-v3r3


#patch ck
patchck=3.3-ck1

#sufixo
ckk=ck1


#.config antigo
kernelantigo=atual

############################################

# não precisa mexer em mais nada aqui

##################################
#arquitetura: amd64 ou i386
arqt=$(dpkg --print-architecture)


#CL=CONCURRENCY_LEVEL do processador
CL=$(grep -c processor /proc/cpuinfo)
##################################

########baixando compiladores e dependencias########################################################
sudo apt-get update
sudo apt-get install kernel-package gcc-4.6 libncurses5 libncurses5-dev build-essential patch -y
####################################################################################################



######deletando patchs antigos#############
sudo rm /usr/src/patch-$patchkernel
sudo rm /usr/src/patch-$patchck
sudo rm /usr/src/0001-base-packaging.patch
sudo rm /usr/src/0002-debian-changelog.patch
sudo rm /usr/src/0003-default-configs.patch
sudo rm /usr/src/0001-block-cgroups-kconfig-build-bits-for-BFQ-v3r3-3.3.patch
sudo rm /usr/src/0002-block-introduce-the-BFQ-v3r3-I-O-sched-for-3.3.patch
############################################




cd /usr/src
wget -c http://www.kernel.org/pub/linux/kernel/v3.x/linux-$kernel.tar.bz2


sudo tar -jxpvf /usr/src/linux-$kernel.tar.bz2
sudo mv /usr/src/linux-$kernel /usr/src/linux-$patchkernel-$ckk


wget -c http://www.kernel.org/pub/linux/kernel/v3.x/patch-$patchkernel.bz2
wget -c http://ck.kolivas.org/patches/3.0/$kernel/$patchck/patch-$patchck.bz2
wget -c http://algo.ing.unimo.it/people/paolo/disk_sched/patches/$bfq/0001-block-cgroups-kconfig-build-bits-for-BFQ-v3r3-3.3.patch
wget -c http://algo.ing.unimo.it/people/paolo/disk_sched/patches/$bfq/0002-block-introduce-the-BFQ-v3r3-I-O-sched-for-3.3.patch



#ubuntu patch
wget -c http://kernel.ubuntu.com/~kernel-ppa/mainline/v$patchkernel-precise/0001-base-packaging.patch
wget -c http://kernel.ubuntu.com/~kernel-ppa/mainline/v$patchkernel-precise/0002-debian-changelog.patch
wget -c http://kernel.ubuntu.com/~kernel-ppa/mainline/v$patchkernel-precise/0003-default-configs.patch



sudo bunzip2 /usr/src/patch-$patchkernel.bz2
sudo bunzip2 /usr/src/patch-$patchck.bz2


cd /usr/src/linux-$patchkernel-$ckk

sudo patch -p1 < /usr/src/patch-$patchkernel
sudo patch -p1 < /usr/src/patch-$patchck
sudo patch -p1 < /usr/src/0001-block-cgroups-kconfig-build-bits-for-BFQ-v3r3-3.3.patch
sudo patch -p1 < /usr/src/0002-block-introduce-the-BFQ-v3r3-I-O-sched-for-3.3.patch
sudo patch -p1 < /usr/src/0001-base-packaging.patch
sudo patch -p1 < /usr/src/0002-debian-changelog.patch
sudo patch -p1 < /usr/src/0003-default-configs.patch


######################
#sudo cp /boot/config-$kernelantigo /usr/src/linux-$patchkernel-$ckk/.config

config_file=$(locate /boot/config-* | sort -r | head -1)

sudo cp $config_file /usr/src/linux-$patchkernel-$ckk

#########################

#sudo gedit Makefile  

sleep 3

sudo make menuconfig

sudo sed 's/CONFIG_RTS5139=m/# CONFIG_RTS5139 is not set/g' /usr/src/linux-$patchkernel-$ckk/.config > /usr/src/linux-$patchkernel-$ckk/cc && mv /usr/src/linux-$patchkernel-$ckk/cc /usr/src/linux-$patchkernel-$ckk/.config

sleep 3

############ script do grande Stivekx #######################

#!/bin/bash

#Script para automatizar a mudança das flags na hora de compilar o kernel.
#Mais informações sobre como compilar o kernel para seu processador:
#http://ubuntuforum-br.org/index.php/topic,81718.0.html

#Modo de usar:
#Após baixar o kernel, descompactar, criar um link simbólico para ele no /usr/src/linux:
# cd /usr/src/linux
# sudo su
# chmod +x script.sh
# ./script.sh
#O script deve ser executado como root. Recomendo que use sudo su - e rode o script ao invés de sudo sh script.sh


#Script criado por André Steinn

#Aqui é a lista de arquivos que ele vai dar replace no -march= por -march=native. Você pode mudar essa lista de arquivos passando a lista pela opção a e separados pro virgula
#e.g.: ./script.sh -a arch/x86/boot/compressed/Makefile,arch/x86/boot/Makefile,arquivo1,arquivo2,arquivo3

arquivos=( "arch/x86/boot/compressed/Makefile" "arch/x86/boot/Makefile" "arch/x86/kernel/acpi/realmode/Makefile" "arch/x86/Kconfig.cpu" "arch/x86/Makefile" "arch/x86/Makefile_32.cpu")

#Aqui eu verifico se a pessoa passou algum argumento na hora de executar o script
while getopts ":a:c" opt; do
 case $opt in
   a)
     echo "Você setou uma lista de arquivos personalizada: $OPTARG" >&2
IFS=',' read -ra arquivos <<< "$OPTARG"
     ;;
   \?)
     echo "Opção inválida: -$OPTARG" >&2
     exit 1
     ;;
 esac
done

#Aqui eu faço um loop e altero os arquivos, removendo o -march=() por -march=native
for i in "${arquivos[@]}"
do
echo "Path no arquivo:"$i
sed -e 's/-march=\([A-Z0-9a-z]\+\)/-march=native -Ofast/g'  $i > "$i.file_changed"
mv "$i.file_changed" $i
done



################

sleep 3


#time sudo CONCURRENCY_LEVEL=2 make-kpkg --initrd kernel_image kernel_headers modules_image

time sudo CONCURRENCY_LEVEL=$CL make-kpkg --initrd kernel_image kernel_headers modules_image


cd /usr/src
sudo dpkg -i linux-image-$patchkernel-$ckk\_$patchkernel-$ckk-10.00.Custom_$arqt.deb linux-headers-$patchkernel-$ckk\_$patchkernel-$ckk-10.00.Custom_$arqt.deb

sleep 3

cd /lib/modules
sudo mkinitramfs -o /boot/initrd.img-$patchkernel-$ckk $patchkernel-$ckk
sudo update-grub

sleep 5
echo 'tudo belezinha'


valeu

Gunss

Olá a todos,

estou a um bom tempo sumido, mas sempre acompanho o tópico, só não tenho tempo devido a faculdade pra ficar testando  :-\

Mas eu baxei esse script pro meu 12.04, e funcionou lindo!

Alguém sabe qual é o comando pra verificar a saida da compilação do GCC? aquele comando que mostra as opções e sai o -march=native, mtune, -Ofast e tudo mais?
eu perdi ele por aqui!

Vou ver se consigo ajudar em alguma coisa no script.

Ah, e com meu i7 agora compilo o kernel inteiro em 10 minutos! É LINDO!  ;D

4d4c47

Citação de: Gunss online 09 de Maio de 2012, 12:59
Olá a todos,

estou a um bom tempo sumido, mas sempre acompanho o tópico, só não tenho tempo devido a faculdade pra ficar testando  :-\

Mas eu baxei esse script pro meu 12.04, e funcionou lindo!

Alguém sabe qual é o comando pra verificar a saida da compilação do GCC? aquele comando que mostra as opções e sai o -march=native, mtune, -Ofast e tudo mais?
eu perdi ele por aqui!

Vou ver se consigo ajudar em alguma coisa no script.

Ah, e com meu i7 agora compilo o kernel inteiro em 10 minutos! É LINDO!  ;D

Gunss,

acho que o comando que vc procura é esse:

# ps ax | grep gcc | grep march=native


sempre estaremos precisando de ajuda pra melhora-lo, fico grato se puder...

valeu




Stivekx

3.4 tá na mainline, não exatamente no Stable, não tem também os patchs do ck..

Colocar os patchs do ck, é uma das principais mudanças a se fazer, não colocar é quase inútil compilar o kernel ...

Melhor mesmo é pegar direto da ppa do ubuntu mesmo :)
http://kernel.ubuntu.com/~kernel-ppa/mainline/

Joseph

Tentei no Debian 6 Wheezy, não funcionou, fica na tela preta, mesmo no modo seguro.

Stivekx

Ele é pro ubuntu ...

Ele aplica os patchs do ubuntu, deve ter alguma coisa aí...