Acesso direto ao conteúdo
Logotipo Dicas-L, por Ricardo Burile

Busca

Visite também: Segurança Linux ·  UnderLinux ·  VivaOLinux ·  LinuxSecurity ·  NoticiasLinux ·  BR-Linux ·  SoftwareLivre.org ·  [mais]   
 

Você está aqui: Home  → Arquivo Dicas-L

 

Curso de Inglês Online

Assine a Lista Dicas-L

Receba diariamente por email as dicas
de informática publicadas neste site
Para se descadastrar, clique aqui.

Script para atualização do kernel em sistemas Gentoo

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>

Veja a relação completa dos artigos de Ricardo Iramar dos Santos

Formato PDF
Newsfeed RSS
Formato para impressão
PDF RSS Imprimir

Referências Adicionais

Referências adicionais sobre os assuntos abordados neste site podem ser encontradas em nossa Bibliografia.

Avalie esta dica

  • Currently 2.98/5
  • 1
  • 2
  • 3
  • 4
  • 5

Avaliação: 3.0 /5 (1262 votos)

Opinião dos Leitores

Seja o primeiro a comentar este artigo
*Nome:
Email:
Me notifique sobre novos comentários nessa página
Oculte meu email
*Texto:
 
  Para publicar seu comentário, digite o código contido na imagem acima
 


Powered by Scriptsmill Comments Script

Treinamentos, Consultorias e Soluçoes em TI. Baseados em softwares livres e padrões abertos para ambientes de missão crítica

Submarino.com.br

Expressões Regulares - Uma abordagem divertida 3ª edição