Script em bash para compilação do kernel 3.3.2 para Ubuntu 11.10 com patch 3.3.0-ck1
Publicado por Mário RPG (última atualização em 07/05/2012)
[ Hits: 3.696 ]
Homepage: www.fsf.org
Download scriptkernel-3.3.4.sh
Script em bash para compilação automática do kernel linux no ubuntu 11.10 64 BITS para PC/NOTEBOOKs que tenha no minimo 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 necessário escolher a arquitetura exata do seu processador no MENUCONFIG.
Pagina 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
#
# 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.4
#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.3-precise/0001-base-packaging.patch
wget -c http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.3.3-precise/0002-debian-changelog.patch
wget -c http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.3.3-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'
Wrapper do dd com algumas medidas de segurança
Formatar disquetes msdos & ext2.
Nenhum comentário foi encontrado.
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
Como impedir exclusão de arquivos por outros usuários no (Linux)
Cirurgia no Linux Mint em HD Externo via USB
Anúncio do meu script de Pós-Instalação do Ubuntu
Alguém executou um rm e quase mata a Pixar! (5)
Formas seguras de instalar Debian Sid (4)
Duas Pasta Pessoal Aparecendo no Ubuntu 24.04.3 LTS (12)
Alguém pode me indicar um designer freelancer? [RESOLVIDO] (5)
Por que passar nas disciplinas da faculdade é ruim e ser reprovado é b... (6)









