Autor Tópico: Kernel Omnislash (Unofficial) - Aprendendo a voar sem segredos!!!  (Lida 2365216 vezes)

Offline Stivekx

  • Usuário Ubuntu
  • *
  • Mensagens: 126
    • Ver perfil
Re: Kernel Omnislash (Unofficial) - Aprendendo a voar sem segredos!!!
« Resposta #4125 Online: 15 de Abril de 2012, 11:56 »
fglrx foi fácil aqui, sem problemas...

Aquilo é um arquivo de configuração, ele desabilita/habilita várioas recursos do kernel com a intenção de otimizar ele, reduzir a latencia melhor dizendo.
Não peça pra explicar como porque dai vai além dos meus conhecimentos ;p

Offline Metalbobolic

  • Usuário Ubuntu
  • *
  • Mensagens: 215
    • Ver perfil
    • Seu Lugar para pensar
Re: Kernel Omnislash (Unofficial) - Aprendendo a voar sem segredos!!!
« Resposta #4126 Online: 15 de Abril de 2012, 11:59 »
fglrx foi fácil aqui, sem problemas...

Aquilo é um arquivo de configuração, ele desabilita/habilita várioas recursos do kernel com a intenção de otimizar ele, reduzir a latencia melhor dizendo.
Não peça pra explicar como porque dai vai além dos meus conhecimentos ;p

Meu kernel não compila..sempre da erro no stage 2 ......

Offline Stivekx

  • Usuário Ubuntu
  • *
  • Mensagens: 126
    • Ver perfil
Re: Kernel Omnislash (Unofficial) - Aprendendo a voar sem segredos!!!
« Resposta #4127 Online: 15 de Abril de 2012, 12:39 »
Hm, que patchs tás usando?

Estou compilando o 3.3.2 aqui devido a um bug com wireless que foi corrigido, to terminando de configurar, já vejo então.

Edit:
Usando meu script pra adicionar -Ofast em tudo, deu erro, não usando ele tá indo :s :s :s

Editei apenas no Makefile então, acredito que seja eficiente pra algo.

Edit 2:
Tive um problema no arquivo:
drivers/base/firmware_class.c

Baixei a versão 3.3.1, depois o patch pra 3.3.2.
Mandei substituir o drivers/base/firmware_class.c.org por drivers/base/firmware_class.c e tá indo normal agora.

Pra substituir, basta:
# mv drivers/base/firmware_class.c.orig drivers/base/firmware_class.c
« Última modificação: 15 de Abril de 2012, 13:21 por Stivekx »

Offline Metalbobolic

  • Usuário Ubuntu
  • *
  • Mensagens: 215
    • Ver perfil
    • Seu Lugar para pensar
Re: Kernel Omnislash (Unofficial) - Aprendendo a voar sem segredos!!!
« Resposta #4128 Online: 15 de Abril de 2012, 13:28 »
Hm, que patchs tás usando?

Estou compilando o 3.3.2 aqui devido a um bug com wireless que foi corrigido, to terminando de configurar, já vejo então.

Edit:
Usando meu script pra adicionar -Ofast em tudo, deu erro, não usando ele tá indo :s :s :s

Editei apenas no Makefile então, acredito que seja eficiente pra algo.

Edit 2:
Tive um problema no arquivo:
drivers/base/firmware_class.c

Baixei a versão 3.3.1, depois o patch pra 3.3.2.
Mandei substituir o drivers/base/firmware_class.c.org por drivers/base/firmware_class.c e tá indo normal agora.

Pra substituir, basta:
# mv drivers/base/firmware_class.c.orig drivers/base/firmware_class.c

Erro aqui:


from drivers/gpu/drm/radeon/r600_audio.c:26:
include/linux/vmalloc.h:1:0: internal compiler error: Abortado
Please submit a full bug report,
with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-4.6/README.Bugs> for instructions.
make[5]: ** [drivers/gpu/drm/radeon/r600_audio.o] Erro 1
make[4]: ** [drivers/gpu/drm/radeon] Erro 2
make[3]: ** [drivers/gpu/drm] Erro 2
make[2]: ** [drivers/gpu] Erro 2
make[1]: ** [drivers] Erro 2
make[1]: Saindo do diretório `/usr/src/linux-3.3.1'
make: ** [debian/stamp/build/kernel] Erro 2

Offline Stivekx

  • Usuário Ubuntu
  • *
  • Mensagens: 126
    • Ver perfil
Re: Kernel Omnislash (Unofficial) - Aprendendo a voar sem segredos!!!
« Resposta #4129 Online: 15 de Abril de 2012, 14:37 »
Tente gerar o arquivo de configuracao com make localmodconfig, esse driver, você pode nem precisar dele talvez :)

----
localmodconfig pode não ser legal não...
Compilei 2 vezes hoje já, mesmo ativando todos os drivers de disco/hd/ata e todos os tipos de sistema de arquivo, ele não consegue montar o disco, o driver que identifica ele ou que identifica o sistema de arquivos não tá sendo compilado junto :T

soda que tenho que compilar todos os drivers existentes porque não sei qual exatamente devo ativar gg
« Última modificação: 15 de Abril de 2012, 14:52 por Stivekx »

Offline Metalbobolic

  • Usuário Ubuntu
  • *
  • Mensagens: 215
    • Ver perfil
    • Seu Lugar para pensar
Re: Kernel Omnislash (Unofficial) - Aprendendo a voar sem segredos!!!
« Resposta #4130 Online: 15 de Abril de 2012, 15:22 »
Tente gerar o arquivo de configuracao com make localmodconfig, esse driver, você pode nem precisar dele talvez :)

----
localmodconfig pode não ser legal não...
Compilei 2 vezes hoje já, mesmo ativando todos os drivers de disco/hd/ata e todos os tipos de sistema de arquivo, ele não consegue montar o disco, o driver que identifica ele ou que identifica o sistema de arquivos não tá sendo compilado junto :T

soda que tenho que compilar todos os drivers existentes porque não sei qual exatamente devo ativar gg

Eu coloquei multimedia e sound em built in ...agora deixei multimedia em built in e coloquei sound em modulo..estar compilando...vou ver se dará o erro...

Agora o segundo erro:


Building modules, stage 2.
  MODPOST 3496 modules
ERROR: "__modver_version_show" [drivers/staging/rts5139/rts5139.ko] undefined!
WARNING: modpost: Found 12 section mismatch(es).
To see full details build your kernel with:
'make CONFIG_DEBUG_SECTION_MISMATCH=y'
make[2]: ** [__modpost] Erro 1
make[1]: ** [modules] Erro 2
make[1]: Saindo do diretório `/usr/src/linux-3.3.1'
make: ** [debian/stamp/build/kernel] Erro 2
« Última modificação: 15 de Abril de 2012, 15:44 por Metalbobolic »

4d4c47

  • Visitante
Re: Kernel Omnislash (Unofficial) - Aprendendo a voar sem segredos!!!
« Resposta #4131 Online: 16 de Abril de 2012, 00:06 »
Tente gerar o arquivo de configuracao com make localmodconfig, esse driver, você pode nem precisar dele talvez :)

----
localmodconfig pode não ser legal não...
Compilei 2 vezes hoje já, mesmo ativando todos os drivers de disco/hd/ata e todos os tipos de sistema de arquivo, ele não consegue montar o disco, o driver que identifica ele ou que identifica o sistema de arquivos não tá sendo compilado junto :T

soda que tenho que compilar todos os drivers existentes porque não sei qual exatamente devo ativar gg

Eu coloquei multimedia e sound em built in ...agora deixei multimedia em built in e coloquei sound em modulo..estar compilando...vou ver se dará o erro...

Agora o segundo erro:


Building modules, stage 2.
  MODPOST 3496 modules
ERROR: "__modver_version_show" [drivers/staging/rts5139/rts5139.ko] undefined!
WARNING: modpost: Found 12 section mismatch(es).
To see full details build your kernel with:
'make CONFIG_DEBUG_SECTION_MISMATCH=y'
make[2]: ** [__modpost] Erro 1
make[1]: ** [modules] Erro 2
make[1]: Saindo do diretório `/usr/src/linux-3.3.1'
make: ** [debian/stamp/build/kernel] Erro 2


depois desse erro eu executei:

# make modules
 e
#make modules_install

instalei tudo manualmente, foi tudo belezinha, só drive 3d deu problema aqui.

Offline Metalbobolic

  • Usuário Ubuntu
  • *
  • Mensagens: 215
    • Ver perfil
    • Seu Lugar para pensar
Re: Kernel Omnislash (Unofficial) - Aprendendo a voar sem segredos!!!
« Resposta #4132 Online: 16 de Abril de 2012, 00:26 »
Tente gerar o arquivo de configuracao com make localmodconfig, esse driver, você pode nem precisar dele talvez :)

----
localmodconfig pode não ser legal não...
Compilei 2 vezes hoje já, mesmo ativando todos os drivers de disco/hd/ata e todos os tipos de sistema de arquivo, ele não consegue montar o disco, o driver que identifica ele ou que identifica o sistema de arquivos não tá sendo compilado junto :T

soda que tenho que compilar todos os drivers existentes porque não sei qual exatamente devo ativar gg

Eu coloquei multimedia e sound em built in ...agora deixei multimedia em built in e coloquei sound em modulo..estar compilando...vou ver se dará o erro...

Agora o segundo erro:


Building modules, stage 2.
  MODPOST 3496 modules
ERROR: "__modver_version_show" [drivers/staging/rts5139/rts5139.ko] undefined!
WARNING: modpost: Found 12 section mismatch(es).
To see full details build your kernel with:
'make CONFIG_DEBUG_SECTION_MISMATCH=y'
make[2]: ** [__modpost] Erro 1
make[1]: ** [modules] Erro 2
make[1]: Saindo do diretório `/usr/src/linux-3.3.1'
make: ** [debian/stamp/build/kernel] Erro 2


depois desse erro eu executei:

# make modules
 e
#make modules_install

instalei tudo manualmente, foi tudo belezinha, só drive 3d deu problema aqui.

Aqui agora estar indo....bastou eu colocar em M a sessão multimedia e sound e desmarcar na sessão drivers do kernel o driver rts5139 .. Esse driver é para placas pci usb ....e agora estar compilando....

Amanhã posto o resultado...valeus meu povo

RESULTADO:

Erro


make[1]: Saindo do diretório `/usr/src/linux-3.3.1'
/usr/bin/make  EXTRAVERSION=-liquorix  ARCH=i386 \
                             -C Documentation/lguest
make: *** Documentation/lguest: Arquivo ou diretório não encontrado.  Pare.
make: ** [debian/stamp/build/kernel] Erro 2

Desisto
« Última modificação: 16 de Abril de 2012, 00:38 por Metalbobolic »

4d4c47

  • Visitante
Re: Kernel Omnislash (Unofficial) - Aprendendo a voar sem segredos!!!
« Resposta #4133 Online: 16 de Abril de 2012, 02:50 »
Tente gerar o arquivo de configuracao com make localmodconfig, esse driver, você pode nem precisar dele talvez :)

----
localmodconfig pode não ser legal não...
Compilei 2 vezes hoje já, mesmo ativando todos os drivers de disco/hd/ata e todos os tipos de sistema de arquivo, ele não consegue montar o disco, o driver que identifica ele ou que identifica o sistema de arquivos não tá sendo compilado junto :T

soda que tenho que compilar todos os drivers existentes porque não sei qual exatamente devo ativar gg

Eu coloquei multimedia e sound em built in ...agora deixei multimedia em built in e coloquei sound em modulo..estar compilando...vou ver se dará o erro...

Agora o segundo erro:


Building modules, stage 2.
  MODPOST 3496 modules
ERROR: "__modver_version_show" [drivers/staging/rts5139/rts5139.ko] undefined!
WARNING: modpost: Found 12 section mismatch(es).
To see full details build your kernel with:
'make CONFIG_DEBUG_SECTION_MISMATCH=y'
make[2]: ** [__modpost] Erro 1
make[1]: ** [modules] Erro 2
make[1]: Saindo do diretório `/usr/src/linux-3.3.1'
make: ** [debian/stamp/build/kernel] Erro 2


então faiz o seguinte, comenta a linha do driver rts5139 no .config e recomaçe a compilar do 0,

fiz isso e agora não deu erro nenhum, kernel 3.3.2 .deb compilado perfeitamente ( sem usar make modules && make modules_install) pode tentar que vai dar certo agora, valeu



4d4c47

  • Visitante
Re: Kernel Omnislash (Unofficial) - Aprendendo a voar sem segredos!!!
« Resposta #4134 Online: 16 de Abril de 2012, 03:18 »
fiz esse script aqui de compilaçao do kernel 3.3.2 com o 3.3.0-ck1 e tudo compilado em -march=native + -Ofast

obs: antes de tudo, você só vai ter o trabalho de copiar o seu .config para a pasta /boot com o nome de config-atual e de comentar o driver RTS5139 no arquivo /boot/config-atual:

OBS= tenha certeza que tem pelo menos 15 GB livre no hd

Código: [Selecionar]
#!/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

# totalmente GPL-3

# vc vai ter o trabalho so de mudar a versão do kernel e a versão do patch do koliva

# salve em /bin com o nome scriptkernel e de permissão de execução
# sudo chmod +x /bin/scriptkernel

# pra começar a compilação:
# time sudo scriptkernel

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



############################################
#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.2


#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)
##################################

sudo apt-get update
sudo apt-get install kernel-package gcc-4.6 libncurses5 libncurses5-dev build-essential -y


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

#ubuntu patch
wget -c http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.3.2-precise/0001-base-packaging.patch
wget -c http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.3.2-precise/0002-debian-changelog.patch
wget -c http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.3.2-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-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

#sudo gedit Makefile  

sleep 3

sudo make menuconfig

############ 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 "Patch 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


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

#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'

execute o script como root ou com o sudo

OBS: certa hora vai abrir o menuconfig e na parte de processador escolha a sua arquitetura exata

qualquer coisa é só falar, valeu
« Última modificação: 16 de Abril de 2012, 15:57 por 4d4c47 »

Offline Stivekx

  • Usuário Ubuntu
  • *
  • Mensagens: 126
    • Ver perfil
Re: Kernel Omnislash (Unofficial) - Aprendendo a voar sem segredos!!!
« Resposta #4135 Online: 16 de Abril de 2012, 15:12 »
ótimo script @4d4c47, quando der eu testo certinho ele!!!

Ahh, obs, na parte onde tá usando o meu script, tem que adicionar o MakeFile junto pra ele colocar ele no HOSTCFLAGS e no HOSTCXXFLAGS.
Se eu não me engano, o meu script alterava uma parte no MakeFile e adicionava o retorno das flags que o cc permitia, se editar lá deve dar certinho tmb

E no texto eu digitei echo "Path no arquivo:"$i, é echo "Patch no arquivo:"$i
hehe


4d4c47

  • Visitante
Re: Kernel Omnislash (Unofficial) - Aprendendo a voar sem segredos!!!
« Resposta #4136 Online: 16 de Abril de 2012, 15:59 »
ótimo script @4d4c47, quando der eu testo certinho ele!!!

Ahh, obs, na parte onde tá usando o meu script, tem que adicionar o MakeFile junto pra ele colocar ele no HOSTCFLAGS e no HOSTCXXFLAGS.
Se eu não me engano, o meu script alterava uma parte no MakeFile e adicionava o retorno das flags que o cc permitia, se editar lá deve dar certinho tmb

E no texto eu digitei echo "Path no arquivo:"$i, é echo "Patch no arquivo:"$i
hehe



corrigido e operante,

tô fazendo um teste dele aqui em outro pc, e até agora sem problema nenhum, vamos ver o que que vai dá, valeu


Offline Stivekx

  • Usuário Ubuntu
  • *
  • Mensagens: 126
    • Ver perfil
Re: Kernel Omnislash (Unofficial) - Aprendendo a voar sem segredos!!!
« Resposta #4137 Online: 16 de Abril de 2012, 18:05 »
Usando o localmodconfig, o kernel não carrega o meu hd aparentemente o ou driver dele ou até a partição...

O erro é similar a esse:
Código: [Selecionar]
Gave up wating for root device. Commom problems:
Boot args (cat /proc/cmdline)
Check rootdelay = (did the system wait long enough?)
Check root = (did the system wait for the rigth device?)
Missing modules (cat / proc/modules; ls/dev)

ALERT:  /dev/disk/by-uuid/<número do dispositivo> does not exist. Dropping to a shell!

BusyBox v1.17.1 (Debian 1:1.17.1-10) built-in shell (ash)
Enter 'help' for a list of built-in commands.

Já tentei passar root=/dev/sda1 e root=UUID=xxx no parametro, mas em nenhum deles deu certo :s

Com identificar se eu esqueci alguma opção e ativá-la?


Edit:
A opção tava desativada *dumb*
  • SCSI disk support
« Última modificação: 16 de Abril de 2012, 18:43 por Stivekx »

Offline Metalbobolic

  • Usuário Ubuntu
  • *
  • Mensagens: 215
    • Ver perfil
    • Seu Lugar para pensar
Re: Kernel Omnislash (Unofficial) - Aprendendo a voar sem segredos!!!
« Resposta #4138 Online: 16 de Abril de 2012, 20:18 »
fiz esse script aqui de compilaçao do kernel 3.3.2 com o 3.3.0-ck1 e tudo compilado em -march=native + -Ofast

obs: antes de tudo, você só vai ter o trabalho de copiar o seu .config para a pasta /boot com o nome de config-atual e de comentar o driver RTS5139 no arquivo /boot/config-atual:

OBS= tenha certeza que tem pelo menos 15 GB livre no hd

Código: [Selecionar]
#!/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

# totalmente GPL-3

# vc vai ter o trabalho so de mudar a versão do kernel e a versão do patch do koliva

# salve em /bin com o nome scriptkernel e de permissão de execução
# sudo chmod +x /bin/scriptkernel

# pra começar a compilação:
# time sudo scriptkernel

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



############################################
#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.2


#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)
##################################

sudo apt-get update
sudo apt-get install kernel-package gcc-4.6 libncurses5 libncurses5-dev build-essential -y


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

#ubuntu patch
wget -c http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.3.2-precise/0001-base-packaging.patch
wget -c http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.3.2-precise/0002-debian-changelog.patch
wget -c http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.3.2-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-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

#sudo gedit Makefile  

sleep 3

sudo make menuconfig

############ 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 "Patch 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


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

#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'

execute o script como root ou com o sudo

OBS: certa hora vai abrir o menuconfig e na parte de processador escolha a sua arquitetura exata

qualquer coisa é só falar, valeu


Por que tanto espaço assim?

Vou perguntar, como aplica um script, sou velho no uso do linux..agora "malinar" ele assim a fundo..é rescente..tenha paciência comigo..hehehe

valeus brother

4d4c47

  • Visitante
Re: Kernel Omnislash (Unofficial) - Aprendendo a voar sem segredos!!!
« Resposta #4139 Online: 16 de Abril de 2012, 22:09 »
fiz esse script aqui de compilaçao do kernel 3.3.2 com o 3.3.0-ck1 e tudo compilado em -march=native + -Ofast

obs: antes de tudo, você só vai ter o trabalho de copiar o seu .config para a pasta /boot com o nome de config-atual e de comentar o driver RTS5139 no arquivo /boot/config-atual:

OBS= tenha certeza que tem pelo menos 15 GB livre no hd

Código: [Selecionar]
#!/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

# totalmente GPL-3

# vc vai ter o trabalho so de mudar a versão do kernel e a versão do patch do koliva

# salve em /bin com o nome scriptkernel e de permissão de execução
# sudo chmod +x /bin/scriptkernel

# pra começar a compilação:
# time sudo scriptkernel

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



############################################
#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.2


#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)
##################################

sudo apt-get update
sudo apt-get install kernel-package gcc-4.6 libncurses5 libncurses5-dev build-essential -y


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

#ubuntu patch
wget -c http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.3.2-precise/0001-base-packaging.patch
wget -c http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.3.2-precise/0002-debian-changelog.patch
wget -c http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.3.2-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-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

#sudo gedit Makefile  

sleep 3

sudo make menuconfig

############ 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 "Patch 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


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

#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'

execute o script como root ou com o sudo

OBS: certa hora vai abrir o menuconfig e na parte de processador escolha a sua arquitetura exata

qualquer coisa é só falar, valeu


Por que tanto espaço assim?

Vou perguntar, como aplica um script, sou velho no uso do linux..agora "malinar" ele assim a fundo..é rescente..tenha paciência comigo..hehehe

valeus brother

bicho,
depois de compilado o kernel a pasta /usr/src/linux-3.3.2-ck ficou aqui com 12 GB, só ela, mas depende muito também do que vc vai adicionar de modulo, no  meu caso vai tudo na tora, incluo todos os modulos possiveis, mas  vc pode selecionar o que vai usar e o que não vai usar, sendo assim o tamanho da pasta não deve passar de 5 GB

pra aplicar o srcipt, salve ele na pasta /usr/src e executa isso :

# chmod +x scriptcompilarkernel

pra executar ele faz isso:

$ time sudo ./scriptcompilarkernel


valeu.




« Última modificação: 16 de Abril de 2012, 22:12 por 4d4c47 »