Kernel Omnislash (Unofficial) - Aprendendo a voar sem segredos!!!

Iniciado por Hqxriven, 24 de Dezembro de 2007, 13:26

tópico anterior - próximo tópico

Stivekx

for i in "${arquivos

    }"


Ele comeu um bags que tinha ali, tinha um [ @ ] ele fez virar emoticon, rs
Deve ter ferrado mais algo.

Metalbobolic

#4156
Citação de: 4d4c47 online 18 de Abril de 2012, 20:09
Citação de: Metalbobolic online 15 de Abril de 2012, 15:22
Citação de: Stivekx 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

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


aqui vai uma nova versão do script com a correção desse problema:




#!/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

#########
########## puxando o config antigo ##########

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

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

#sudo sed 's/CONFIG_RTS5139=m/#CONFIG_RTS5139/g' .config > cc && mv cc .config

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

#sudo gedit Makefile  

sleep 3

sudo make menuconfig


sudo sed 's/CONFIG_RTS5139=m/#CONFIG_RTS5139/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


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



faiz um teste novamete aé, valeu




Esqueci de cita..uso o ubuntu 11.04, terá problema?

Outra coisa...é pra 64bits, pis meu pc é 32

E deu erro


HOSTCC  scripts/kconfig/lxdialog/checklist.o
  HOSTCC  scripts/kconfig/lxdialog/inputbox.o
  HOSTCC  scripts/kconfig/lxdialog/menubox.o
  HOSTCC  scripts/kconfig/lxdialog/textbox.o
  HOSTCC  scripts/kconfig/lxdialog/util.o
  HOSTCC  scripts/kconfig/lxdialog/yesno.o
  HOSTCC  scripts/kconfig/mconf.o
  HOSTLD  scripts/kconfig/mconf
scripts/kconfig/mconf Kconfig


*** End of the configuration.
*** Execute 'make' to start the build or try 'make help'.

./scriptkernel.sh: 134: Syntax error: "(" unexpected

4d4c47

#4157
Citação de: Metalbobolic online 18 de Abril de 2012, 21:29
Citação de: 4d4c47 online 18 de Abril de 2012, 20:09
Citação de: Metalbobolic online 15 de Abril de 2012, 15:22
Citação de: Stivekx 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

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


aqui vai uma nova versão do script com a correção desse problema:




#!/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

#########
########## puxando o config antigo ##########

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

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

#sudo sed 's/CONFIG_RTS5139=m/#CONFIG_RTS5139/g' .config > cc && mv cc .config

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

#sudo gedit Makefile  

sleep 3

sudo make menuconfig


sudo sed 's/CONFIG_RTS5139=m/#CONFIG_RTS5139/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


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



faiz um teste novamete aé, valeu




Esqueci de cita..uso o ubuntu 11.04, terá problema?

Outra coisa...é pra 64bits, pis meu pc é 32

E deu erro


HOSTCC  scripts/kconfig/lxdialog/checklist.o
 HOSTCC  scripts/kconfig/lxdialog/inputbox.o
 HOSTCC  scripts/kconfig/lxdialog/menubox.o
 HOSTCC  scripts/kconfig/lxdialog/textbox.o
 HOSTCC  scripts/kconfig/lxdialog/util.o
 HOSTCC  scripts/kconfig/lxdialog/yesno.o
 HOSTCC  scripts/kconfig/mconf.o
 HOSTLD  scripts/kconfig/mconf
scripts/kconfig/mconf Kconfig


*** End of the configuration.
*** Execute 'make' to start  the build or try 'make help'.

./scriptkernel.sh: 134: Syntax error: "(" unexpected


@Metalbobolic,

fiz um teste aqui em um processador 32 bits e foi belezinha, tenta esse script aqui que acabei de testar:



#!/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

#########
########## puxando o config antigo ##########

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

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

#sudo sed 's/CONFIG_RTS5139=m/#CONFIG_RTS5139/g' .config > cc && mv cc .config

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

#sudo gedit Makefile  

sleep 3

sudo make menuconfig


sudo sed 's/CONFIG_RTS5139=m/#CONFIG_RTS5139/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


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




ou então tenta executa-lo com a tela do gnome-terminal maximizada (ou via terminal puro mesmo)  

uma OBS aqui: na parte de processador coloca a seu processador exato aé, talvez isso resolve

Sobre o ubuntu 11.04 32 bits, acho que não vai ter problema nenhum não, acabei de fazer um teste aqui no debian 6 32 bits e foi 100%, ele tem instrução pra lidar com 32 ou 64 bits automaticamente.

valeu.




Metalbobolic

Fiz uma maluquice...

o script funcionou até a parte do menuconfig..quando sair deu erro...

Dai, entrei no diretório, e terminei de compilar da maneira tradicional make | make_modules_install ...

Vou reiniciar e amanha digo o que deu....valeus meu povo

4d4c47

#4159
Citação de: Stivekx online 18 de Abril de 2012, 21:25
for i in "${arquivos

   }"


Ele comeu um bags que tinha ali, tinha um [ @ ] ele fez virar emoticon, rs
Deve ter ferrado mais algo.

@Stivekx,

meu irmão, tenho que lhe dizer que vc está absolutamente correto, existe varios erros no codigo,

acabei de corrigir todos e agora acho que funciona corretamente :


#!/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.sh
#
# pra começar a compilação:
# time sudo scriptkernel.sh
#
################################################################################################



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

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'


descobri também que quando abrir a tela do MENUCONFIG, deve ser escolhido a sua arquitetura exata do processador, se não, as cflags são rejeitadas.

pra quem ainda tem paciência e quiser testar, coloquei o codigo no sourceforge também, quanto mais gente olhando, mais bugs serão descobertos,

https://sourceforge.net/projects/scriptkernel/



valeu @Stivekx pela correção.

Stivekx

To fazendo edições no script agora!
Vou fazer ele configurável...

Por enquanto ele:
Le a versao  do kernel que a pessoa digita
Le a versao do patch do kernel
Escolhe opcoes avancadas
       Escolhe se usa os patchs do ubuntu
       Escolhe se altera as cflags
       Escolhe se usa os patchs do kolivas
                  Escolhe se usa o BFS
                  Escolhe se usa 1000mhz
                  Escolhe se usa o que reduz o dirty ratio
                  #Mais opcoes em breve
       #Mais em breve


A se fazer:
Ler um arquivo de configuracao e usar suas respectivas opções
Fazer a função que verifica se o kernel escolhido existe
Ver os patchs do con kolivas disponiveis para aquele kernel.
Tem mais coisa, mas to na faculdade e tá acabando a aula, depois eu posto, rs

Vc nao prefere deixar o código no github?
Melhor pra enviar patchs

4d4c47

#4161
Citação de: Stivekx online 19 de Abril de 2012, 11:40
To fazendo edições no script agora!
Vou fazer ele configurável...

Por enquanto ele:
Le a versao  do kernel que a pessoa digita
Le a versao do patch do kernel
Escolhe opcoes avancadas
      Escolhe se usa os patchs do ubuntu
      Escolhe se altera as cflags
      Escolhe se usa os patchs do kolivas
                 Escolhe se usa o BFS
                 Escolhe se usa 1000mhz
                 Escolhe se usa o que reduz o dirty ratio
                 #Mais opcoes em breve
      #Mais em breve


A se fazer:
Ler um arquivo de configuracao e usar suas respectivas opções
Fazer a função que verifica se o kernel escolhido existe
Ver os patchs do con kolivas disponiveis para aquele kernel.
Tem mais coisa, mas to na faculdade e tá acabando a aula, depois eu posto, rs

Vc nao prefere deixar o código no github?
Melhor pra enviar patchs

@Stivekx ,

vai ficar massa demais bicho,


Vc nao prefere deixar o código no github?
Melhor pra enviar patchs


coloca vc mesmo ele lá, e passa o link aqui pra nois poder acompanhar a construção, vai ficar bom demais.

outra coisa, acho que quanto menos opção pra escolher e deixa-lo mais automatico seria bem melhor, por exemplo:

ALTA PEFORMANCE
MEDIA PEFORMANCE
BAIXA PEFORMANCE

assim ficaria mais simples as escolhas, entede...

o negocio seria mais ou menos executar ele e esquecer de se preocupar com mais nada


valeu


Metalbobolic

Compilou o kernel...instalou o kernel...mais não iniciou..vou fazer do zero..com o make make modules_install make install

4d4c47

#4163
Citação de: Metalbobolic online 19 de Abril de 2012, 19:05
Compilou o kernel...instalou o kernel...mais não iniciou..vou fazer do zero..com o make make modules_install make install

quanto de ram vc tem aé ?  

acredito que ele só funciona com pelo menos 2 GB ou até mais, o -Ofast puxa muita memoria.

tenta tirar o -Ofast e recompila denovo, deve ir 100% agora

antes disso não esqueça de deletar a pasta /usr/src/linux-3.3.2-ck1 (kernel que deu probelema) se não o script vai da erro



Stivekx

http://pastebin.com/mpdxYU4m

Tá ai o .sh quase pronto.

To fazendo um trabalho de aula, não posso terminar hoje, fim de semana fico fora, então se quiserem...

Ali em @todo tem a lista do que se deve fazer...

Basicamente, o script lê todas as opções que precisa pra compilar o kernel depois na função confirmar, mostra os dados que você escolheu

Metalbobolic

Citação de: 4d4c47 online 19 de Abril de 2012, 19:38
Citação de: Metalbobolic online 19 de Abril de 2012, 19:05
Compilou o kernel...instalou o kernel...mais não iniciou..vou fazer do zero..com o make make modules_install make install

quanto de ram vc tem aé ?  

acredito que ele só funciona com pelo menos 2 GB ou até mais, o -Ofast puxa muita memoria.

tenta tirar o -Ofast e recompila denovo, deve ir 100% agora

antes disso não esqueça de deletar a pasta /usr/src/linux-3.3.2-ck1 (kernel que deu probelema) se não o script vai da erro




Tenho 4GB de ram....

4d4c47

Citação de: Stivekx online 19 de Abril de 2012, 19:57
http://pastebin.com/mpdxYU4m

Tá ai o .sh quase pronto.

To fazendo um trabalho de aula, não posso terminar hoje, fim de semana fico fora, então se quiserem...

Ali em @todo tem a lista do que se deve fazer...

Basicamente, o script lê todas as opções que precisa pra compilar o kernel depois na função confirmar, mostra os dados que você escolheu

@Stivekx,

ficou massa demais bicho, será que já não funciona ? depois vou fazer um teste fino nele, valeu


@Metalbobolic, se der erro denovo aé tenta esse script aqui:

http://pastebin.com/mpdxYU4m

seja o primeiro a testa-lo e manda os bugs aqui no forum mesmo, valeu




Metalbobolic

Citação de: 4d4c47 online 19 de Abril de 2012, 20:54
Citação de: Stivekx online 19 de Abril de 2012, 19:57
http://pastebin.com/mpdxYU4m

Tá ai o .sh quase pronto.

To fazendo um trabalho de aula, não posso terminar hoje, fim de semana fico fora, então se quiserem...

Ali em @todo tem a lista do que se deve fazer...

Basicamente, o script lê todas as opções que precisa pra compilar o kernel depois na função confirmar, mostra os dados que você escolheu

@Stivekx,

ficou massa demais bicho, será que já não funciona ? depois vou fazer um teste fino nele, valeu


@Metalbobolic, se der erro denovo aé tenta esse script aqui:

http://pastebin.com/mpdxYU4m

seja o primeiro a testa-lo e manda os bugs aqui no forum mesmo, valeu





Pode deixar

4d4c47

#4168
Citação de: Metalbobolic online 19 de Abril de 2012, 21:13
Citação de: 4d4c47 online 19 de Abril de 2012, 20:54
Citação de: Stivekx online 19 de Abril de 2012, 19:57
http://pastebin.com/mpdxYU4m

Tá ai o .sh quase pronto.

To fazendo um trabalho de aula, não posso terminar hoje, fim de semana fico fora, então se quiserem...

Ali em @todo tem a lista do que se deve fazer...

Basicamente, o script lê todas as opções que precisa pra compilar o kernel depois na função confirmar, mostra os dados que você escolheu

@Stivekx,

ficou massa demais bicho, será que já não funciona ? depois vou fazer um teste fino nele, valeu


@Metalbobolic, se der erro denovo aé tenta esse script aqui:

http://pastebin.com/mpdxYU4m

seja o primeiro a testa-lo e manda os bugs aqui no forum mesmo, valeu





Pode deixar

fiz um teste rápido aqui no script do @Stiveky e vi que ainda não está pronto mesmo não, ele pausa quando vc deseja prosseguir P, vamos esperar termina-lo e vai poder ser usado normalmente, se souber programar em bash pode até melhora-lo.


Stivekx

Nao, essa parte que falta implementar ;p
Amanhã na aula eu faço ou só semana que vem daí

Importante atualmente nele é, você inserir sem erros a versão do kernel e configurar tudo certinho, depois na tela quando disser as informacoes aparecer tudo certino... ;p