De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.
Colaboração: Ricardo Iramar dos Santos
Data de Publicação: 19 de December de 2008
Um script para quem está cansado de repetir os mesmos comandos de compilação do kernel quando existe uma nova versão no Gentoo.
#!/bin/bash # # Script para atualização do kernel em sistemas Gentoo com eix # Agent Smith (Ricardo Iramar dos Santos) # ricardo.iramar@gmail.com # VERSOES=(`eix -n sys-kernel/gentoo-sources --format "< fullinstalled>" | sed 's/sys-kernel\///g' | cat -n`) DVERSOES=(`eix -n sys-kernel/gentoo-sources --format "< fullinstalled>" | sed 's/sys-kernel\///g'`) NVERSAO=$(dialog --stdout --menu "Selecione a versao do kernel" 0 0 0 ${VERSOES[@]}) if [ "$NVERSAO" = "" ]; then echo "Favor informar a versão do kernel."; exit 1; fi VERSAO=`echo ${DVERSOES[$NVERSAO-1]} | sed 's/gentoo-sources-//g' | sed 's/-/-gentoo-/g'` if [ ! -d "/usr/src/linux-$VERSAO" ]; then echo "Diretório /usr/src/linux-$VERSAO não encontrado."; exit 2; fi if [ ! -d "/usr/src/linux" ]; then echo "Link simbólico /usr/src/linux não encontrado."; exit 3; fi if [ ! -d "/boot/grub" ]; then mount /boot; fi if [ -f "/boot/kernel-$VERSAO" ]; then echo "Arquivo /boot/kernel-$VERSAO existente."; umount /boot; exit 4; fi if [ -f "/boot/config-$VERSAO" ]; then echo "Arquivo /boot/config-$VERSAO existente."; umount /boot; exit 5; fi if [ -f "/boot/System.map-$VERSAO" ]; then echo "Arquivo /boot/System.map-$VERSAO existente."; umount /boot; exit 6; fi echo "Copiando arquivo de configuração antigo..." cd /usr/src/ cp linux/.config linux-$VERSAO/ echo "Removendo e criando novo link simbólico /usr/src/linux..." rm -f linux ln -s linux-$VERSAO linux ls -l cd linux echo "Carregando configuração antiga..." make oldconfig echo "Compilando kernel versão $VERSAO..." make && make modules_install echo "Copiando kernel versão $VERSAO para /boot..." cp arch/i386/boot/bzImage /boot/kernel-$VERSAO cp System.map /boot/System.map-$VERSAO cp .config /boot/config-$VERSAO echo "Recompilando os módulos..." module-rebuild populate && module-rebuild rebuild echo "Atualizando /boot/grub/grub.conf..." cd /boot/grub rm -f grub.conf.old cp grub.conf grub.conf.old sed -n '1,10p' grub.conf > grub.conf.new echo "title=Gentoo Linux $VERSAO" >> grub.conf.new echo "root (hd0,0)" >> grub.conf.new echo "kernel /kernel-$VERSAO root=/dev/hda4" >> grub.conf.new echo "savedefault" >> grub.conf.new sed -n '10,$p' grub.conf | sed 's/^savedefault$/savedefault 0/g' >> grub.conf.new mv grub.conf.new grub.conf echo "Instalando grub no MBR de /dev/hda..." grub-install --no-floppy /dev/hda umount /boot echo "Kernel versão $VERSAO compilado e instalado com sucesso!"
Agent Smith (Ricardo Iramar dos Santos) <ricardo iramar (a) gmail com>
This policy contains information about your privacy. By posting, you are declaring that you understand this policy:
This policy is subject to change at any time and without notice.
These terms and conditions contain rules about posting comments. By submitting a comment, you are declaring that you agree with these rules:
Failure to comply with these rules may result in being banned from submitting further comments.
These terms and conditions are subject to change at any time and without notice.
Comentários