LINUX
NEWBIE
ADMINISTRATOR
GUIDE
ver. 0.154 2001-09-02 by Stan, Peter and Marrei Klimas
A última
versão deste guia está disponível em
http://sunsite.dk/linux-newbie.
Copyright (c) <1999,2000,2001> by Peter and Stan Klimas.
Sua resposta, comentários, correções, e
melhorias são apreciados. Envie-os para linux_nag@canada.com
Este material pode ser distribuído somente sob os termos e
condições estabelecidas pela Open Publication License,
v1.0, 8 ou posterior http://opencontent.org/openpub/
com as modificações estabelecidas em lnag_licence.html.
Apêndice.
Upgrade
do Kernel - versão 1.1.2
11 de Outubro de 1999
Todo
o conteúdo desta página foi escrito por Alesh Mustar.
Distribuído sob os termos da General Public Licence
http://www.gnu.org/copyleft/gpl.html.
Sua apreciação, comentários, correções,
e melhorias são apreciados. Comentários específicos
para esta página: alesh@jpdesign.net
Conteúdo:
A.1
Introdução
A.2 O
que é kernel?
A.3 Por que
fazer o upgrade?
A.4 Onde posso
conseguir um novo kernel?
A.5 Devo
baixar o fonte completo ou somente o patch?
A.6 Preparando
o arquivo baixado
A.6.1 Preparando
o patch
A.6.2 Preparando
o fonte completo
A.7 Compilando o
novo kernel
A.7.1 Usando
o patch
A.7.2 Usando o
fonte completo
A.8 Instalando o
novo kernel
A.9 O que há a
respeito do próximo upgrade do kernel?
A.10 Notas
para usuários Red Hat
A.11 A
respeito do autor
A.12 Mudanças
A. Como fazer o upgrade do seu kernel?
Este documento foi escrito para ajudar os novos usuários de Linux a fazerem o upgrade de seus kernels. Eu usei varias fontes para escrever este documento. A partir dos HOW-TO oficiais ( http://metalab.unc.edu/LDP/HOWTO/ ) até o Linux Knowledge Base e outras fontes.
O kernel age como um mediador entre seus programas e seu hardware. Primeiro, ele faz (ou arranja) o gerenciamento de memória para todos os processos em execução e se assegura que cada um deles consigam compartilhar uma parcela dos ciclos do processador. Adicionalmente, ele provê uma interface adequada para que os programas conversem com o hardware. Certamente existe muito mais a respeito do que é feito pela operação do kernel do que isto, mas estas são as funções básicas importantes que devem ser conhecidas.
Existem muitas razoes para fazer o upgrade de seu kernel. Na maioria das vezes é porque você talvez precise de um novo driver de dispositivo para o seu novo antigo hardware(o driver de dispositivo anterior talvez contivesse um bug) ou você precisa fazer o upgrade devido a um bug no kernel(de segurança ou não). Usualmente os novos kernels rodam mais rápidos que os anteriores e são mais estáveis e confiáveis.
Primeiro você precisa conseguir um novo kernel. Com um browser qualquer vá até http://www.kernel.org/ . Ali você encontra uma lista de mirror(sites espelhos). Mirrors são site com (na maioria das vezes) a mesma informação do site principal. Como o site principal está sempre sobrecarregado com downloads escolha um mirror mais próximo de você ou localizado em seu pais. Por exemplo, estando na Noruega, aponte seu browser para http://www.no.kernel.org/ . Note o .no depois do string www. Muitos países tem mirrors para o arquivos de kernel.
Uma vez carregada a pagina do site mirror você encontrará informação a respeito daquela página a qual será mais ou menos a seguinte:
<= inicio da página exemplo=>
The Linux Kernel Archives mirror at Sunsite.uio.no
All transfers are logged. If you don't like this policy please disconnect now.
Welcome to the Linux Kernel Archives. This is an official mirror site for the Linux kernel source. Please see http://www.kernel.org/mirrors/ for information about how to connect to an other kernel-mirror site.
Protocol |
URL |
HTTP |
http://linux-kernel.uio.no/pub/ |
FTP |
ftp://linux-kernel.uio.no/pub |
What is Linux?Linux is a Unix clone written from scratch by Linus Torvalds with assistance from a loosely-knit team of hackers across the Net. It aims towards POSIX compliance.
...
<=fim da página exemplo=>
Agora
escolha um protocolo para fazer a transferencia. Vamos dizer que você
escolheu o protocolo HTTP (o mesmo protocolo que seu browser usa).
Seu browser mostrará uma página com uma estrutura
de diretório, talvez similar a abaixo:
<= início da página exemplo =>
Index of /pub
Name Last
modified Size Description
_________________________________________________________________________________________________________
[DIR]
Parent Directory 28-Dec-98 12:06 -
[DIR] linux/ 31-Dec-98 09:57 -
[ ] ls-lR 29-Mar-99 14:56 262k
[DIR] software/ 31-Dec-98
18:25 -
<= fim da página exemplo =>
Observe o diretório linux. Aponte seu browser para ele. Uma página como a abaixo será mostrada.:
<= início da página exemplo =>
Index of /pub/linux
Name Last
modified Size Description
_________________________________________________________________________________________________________
[DIR]
Parent Directory 29-Mar-99 14:56 -
[DIR] daemons/ 12-Feb-99 01:19
-
[DIR] devel/ 18-Dec-98 19:34 -
[DIR] distributions/
18-Dec-98 19:34 -
[DIR] docs/ 31-Jan-99 04:01 -
[DIR] kernel/
18-Mar-99 21:55 -
[DIR] libs/ 18-Dec-98 19:35 -
[DIR] utils/
31-Jan-99 04:01 -
<= fim da página exemplo =>
Este site
contem muitas coisas para serem baixadas mas no momento estamos
interessados somente no kernel. Aponte seu browser para o diretório
kernel.
Algo como abaixo será mostrado:
<= início da página exemplo =>
Index of /pub/linux/kernel
Name Last
modified Size Description
_________________________________________________________________________________________________________
[DIR]
Parent Directory 31-Dec-98 09:57 -
[ ] COPYING 13-Mar-94 00:00
18k
[ ] CREDITS 16-Sep-96 00:00 36k
[DIR] Historic/ 18-Dec-98
20:55 -
[DIR] SillySounds/ 18-Dec-96 09:45 -
[DIR] alan/
18-Mar-99 21:55 -
[DIR] davem/ 29-Jan-99 04:05 -
[DIR] hpa/
19-Dec-98 02:16 -
[DIR] people/ 18-Mar-99 21:55 -
[DIR]
testing/ 27-Mar-99 00:55 -
[DIR] v1.0/ 19-Dec-98 02:19 -
[DIR]
v1.1/ 19-Dec-98 03:51 -
[DIR] v1.2/ 19-Dec-98 04:36 -
[DIR]
v1.3/ 19-Dec-98 13:21 -
[DIR] v2.0/ 11-Feb-99 16:48 -
[DIR]
v2.1/ 11-Feb-99 16:45 -
[DIR] v2.2/ 24-Mar-99 00:27 -
[DIR]
whawes/ 18-Dec-98 19:34 -
________________________________________________________________________________________________
Linux kernel release 2.0.xx
These are
the release notes for linux version 2.0. Read them carefully,
as
they tell you what this is all about, explain how to install the
kernel, and what to do if something goes wrong.
...
....
<= fim da página exemplo =>
Para nosso
exemplo, levaremos em consideração que enquanto escrevo
este documento o kernel séries 2.2.x series é a
versão estável. É por isto que nós
escolhemos o diretório v2.2/ no servidor.
Como
saber qual é a última versão? Na parte inferior
da página http://www.kernel.org/
você tem um texto como este :
<= início da página exemplo =>
The latest stable version of the Linux kernel is: |
2.2.12 |
The latest beta version of the Linux kernel is: |
2.3.20 |
The latest prepatch (alpha) version appears to be: |
none |
<= fim da página exemplo =>
Esta é a informação que você precisa para encontrar qual é o último kernel estável e que é aquele recomendado para uso. Como você também pode ver haverá usualmente um arquivo com o nome do tipo LATEST-IS-2.2.12 no topo da listagem do diretório que diz a você qual é a última versão.
Uma vez que estamos no diretório v2.2/ em nosso servidor nós veremos alguma coisa como :
<= início da página exemplo =>
Index of /pub/linux/kernel/v2.2
Name Last
modified Size Description
_________________________________________________________________________________________________________
[DIR]
Parent Directory 16-Aug-99 09:13 -
[ ] LATEST-IS-2.2.12 26-Aug-99
02:45 0k
[ ] linux-2.2.0.tar.bz2 26-Jan-99 02:41 10.1M
[ ]
linux-2.2.0.tar.bz2.s..26-Jan-99 02:41 1k
[CMP]
linux-2.2.0.tar.gz 26-Jan-99 02:41 12.5M
[ ]
linux-2.2.0.tar.gz.sign26-Jan-99 02:41 1k
[ ] linux-2.2.1.tar.bz2
28-Jan-99 21:56 10.1M
[ ] linux-2.2.1.tar.bz2.s..28-Jan-99 21:56
1k
[CMP] linux-2.2.1.tar.gz 28-Jan-99 21:56 12.5M
[ ]
linux-2.2.1.tar.gz.sign28-Jan-99 21:56 1k
[ ]
linux-2.2.10.tar.bz2 14-Jun-99 07:33 10.8M
[ ]
linux-2.2.10.tar.bz2...14-Jun-99 07:33 1k
[CMP]
linux-2.2.10.tar.gz 14-Jun-99 07:33 13.3M
[ ]
linux-2.2.10.tar.gz.s..14-Jun-99 07:33 1k
[ ]
linux-2.2.11.tar.bz2 10-Aug-99 01:03 11.2M
[ ]
linux-2.2.11.tar.bz2...10-Aug-99 01:03 1k
[CMP]
linux-2.2.11.tar.gz 10-Aug-99 01:03 13.8M
[ ]
linux-2.2.11.tar.gz.s..10-Aug-99 01:03 1k
[ ]
linux-2.2.12.tar.bz2 26-Aug-99 02:45 11.5M
[ ]
linux-2.2.12.tar.bz2...26-Aug-99 02:45 1k
[CMP]
linux-2.2.12.tar.gz 26-Aug-99 02:45 14.2M
[ ]
linux-2.2.12.tar.gz.s..26-Aug-99 02:45 1k
[ ] linux-2.2.2.tar.bz2
23-Feb-99 03:58 10.1M
[ ] linux-2.2.2.tar.bz2.s..23-Feb-99 03:58
1k
[CMP] linux-2.2.2.tar.gz 23-Feb-99 03:58 12.5M
[ ]
linux-2.2.2.tar.gz.sign23-Feb-99 03:58 1k
[ ] linux-2.2.3.tar.bz2
09-Mar-99 01:42 10.2M
[ ] linux-2.2.3.tar.bz2.s..09-Mar-99 01:42
1k
[CMP] linux-2.2.3.tar.gz 09-Mar-99 01:42 12.6M
[ ]
linux-2.2.3.tar.gz.sign09-Mar-99 01:42 1k
[ ] linux-2.2.4.tar.bz2
23-Mar-99 23:33 10.4M
[ ] linux-2.2.4.tar.bz2.s..23-Mar-99 23:33
1k
[CMP] linux-2.2.4.tar.gz 23-Mar-99 23:33 12.8M
[ ]
linux-2.2.4.tar.gz.sign23-Mar-99 23:33 1k
[ ] linux-2.2.5.tar.bz2
29-Mar-99 08:54 10.4M
[ ] linux-2.2.5.tar.bz2.s..29-Mar-99 08:54
1k
[CMP] linux-2.2.5.tar.gz 29-Mar-99 08:54 12.9M
[ ]
linux-2.2.5.tar.gz.sign29-Mar-99 08:54 1k
[ ] linux-2.2.6.tar.bz2
16-Apr-99 23:46 10.5M
[ ] linux-2.2.6.tar.bz2.s..16-Apr-99 23:46
1k
[CMP] linux-2.2.6.tar.gz 16-Apr-99 23:46 13.0M
[ ]
linux-2.2.6.tar.gz.sign16-Apr-99 23:46 1k
[ ] linux-2.2.7.tar.bz2
28-Apr-99 20:42 10.6M
[ ] linux-2.2.7.tar.bz2.s..28-Apr-99 20:42
1k
[CMP] linux-2.2.7.tar.gz 28-Apr-99 20:42 13.0M
[ ]
linux-2.2.7.tar.gz.sign28-Apr-99 20:42 1k
[ ] linux-2.2.8.tar.bz2
11-May-99 21:59 10.7M
[ ] linux-2.2.8.tar.bz2.s..11-May-99 21:59
1k
[CMP] linux-2.2.8.tar.gz 11-May-99 21:59 13.2M
[ ]
linux-2.2.8.tar.gz.sign11-May-99 21:59 1k
[ ] linux-2.2.9.tar.bz2
14-May-99 01:54 10.7M
[ ] linux-2.2.9.tar.bz2.s..14-May-99 01:54
1k
[DIR] Parent Directory 16-Aug-99 09:13 -
[ ]
LATEST-IS-2.2.12 26-Aug-99 02:45 0k
[ ] linux-2.2.0.tar.bz2
26-Jan-99 02:41 10.1M
[ ] linux-2.2.0.tar.bz2.s..26-Jan-99 02:41
1k
[CMP] linux-2.2.0.tar.gz 26-Jan-99 02:41 12.5M
[ ]
linux-2.2.0.tar.gz.sign26-Jan-99 02:41 1k
[ ] linux-2.2.1.tar.bz2
28-Jan-99 21:56 10.1M
[ ] linux-2.2.1.tar.bz2.s..28-Jan-99 21:56
1k
[CMP] linux-2.2.1.tar.gz 28-Jan-99 21:56 12.5M
[ ]
linux-2.2.1.tar.gz.sign28-Jan-99 21:56 1k
[ ]
linux-2.2.10.tar.bz2 14-Jun-99 07:33 10.8M
[ ]
linux-2.2.10.tar.bz2...14-Jun-99 07:33 1k
[CMP]
linux-2.2.10.tar.gz 14-Jun-99 07:33 13.3M
[ ]
linux-2.2.10.tar.gz.s..14-Jun-99 07:33 1k
[ ]
linux-2.2.11.tar.bz2 10-Aug-99 01:03 11.2M
[ ]
linux-2.2.11.tar.bz2...10-Aug-99 01:03 1k
[CMP]
linux-2.2.11.tar.gz 10-Aug-99 01:03 13.8M
[ ]
linux-2.2.11.tar.gz.s..10-Aug-99 01:03 1k
[ ]
linux-2.2.12.tar.bz2 26-Aug-99 02:45 11.5M
[ ]
linux-2.2.12.tar.bz2...26-Aug-99 02:45 1k
[CMP]
linux-2.2.12.tar.gz 26-Aug-99 02:45 14.2M
[ ]
linux-2.2.12.tar.gz.s..26-Aug-99 02:45 1k
[ ] linux-2.2.2.tar.bz2
23-Feb-99 03:58 10.1M
[ ] linux-2.2.2.tar.bz2.s..23-Feb-99 03:58
1k
[CMP] linux-2.2.2.tar.gz 23-Feb-99 03:58 12.5M
[ ]
linux-2.2.2.tar.gz.sign23-Feb-99 03:58 1k
[ ] linux-2.2.3.tar.bz2
09-Mar-99 01:42 10.2M
[ ] linux-2.2.3.tar.bz2.s..09-Mar-99 01:42
1k
[CMP] linux-2.2.3.tar.gz 09-Mar-99 01:42 12.6M
[ ]
linux-2.2.3.tar.gz.sign09-Mar-99 01:42 1k
[ ] linux-2.2.4.tar.bz2
23-Mar-99 23:33 10.4M
[ ] linux-2.2.4.tar.bz2.s..23-Mar-99 23:33
1k
[CMP] linux-2.2.4.tar.gz 23-Mar-99 23:33 12.8M
[ ]
linux-2.2.4.tar.gz.sign23-Mar-99 23:33 1k
[ ] linux-2.2.5.tar.bz2
29-Mar-99 08:54 10.4M
[ ] linux-2.2.5.tar.bz2.s..29-Mar-99 08:54
1k
[CMP] linux-2.2.5.tar.gz 29-Mar-99 08:54 12.9M
[ ]
linux-2.2.5.tar.gz.sign29-Mar-99 08:54 1k
[ ] linux-2.2.6.tar.bz2
16-Apr-99 23:46 10.5M
[ ] linux-2.2.6.tar.bz2.s..16-Apr-99 23:46
1k
[CMP] linux-2.2.6.tar.gz 16-Apr-99 23:46 13.0M
[ ]
linux-2.2.6.tar.gz.sign16-Apr-99 23:46 1k
[ ] linux-2.2.7.tar.bz2
28-Apr-99 20:42 10.6M
[ ] linux-2.2.7.tar.bz2.s..28-Apr-99 20:42
1k
[CMP] linux-2.2.7.tar.gz 28-Apr-99 20:42 13.0M
[ ]
linux-2.2.7.tar.gz.sign28-Apr-99 20:42 1k
[ ] linux-2.2.8.tar.bz2
11-May-99 21:59 10.7M
[ ] linux-2.2.8.tar.bz2.s..11-May-99 21:59
1k
[CMP] linux-2.2.8.tar.gz 11-May-99 21:59 13.2M
[ ]
linux-2.2.8.tar.gz.sign11-May-99 21:59 1k
[ ] linux-2.2.9.tar.bz2
14-May-99 01:54 10.7M
[ ] linux-2.2.9.tar.bz2.s..14-May-99 01:54
1k
<= fim da página exemplo =>
Agora você tem a chance de baixar ou o patch ou o fonte completo.
Se você está na versão de kernel 2.0.x você terá que fazer o download do fonte completo.
Se você está na versão 2.2.x você deve fazer o download apenas do patch que naturalmente é muito menor que o fonte completo. O patch contem somente as diferenças.
Se você deseja informações mais detalhadas sobre os patches e diff dê uma olhada no link : http://www.linuxpower.org/display_item.phtml?id=101 .
Agora faça sua escolha e baixe o arquivo. Eu sugiro fortemente que você baixe no diretório /usr/src/.
Eu sugiro o download do arquivo com extensão .tar.gz (se você estiver fazendo o download do fonte completo). Para patches eu sugiro a extensão .bz2. Os exemplos que se seguem assumem estes tipos de arquivos.
Estamos assumindo que você baixou o patch no diretório /usr/src/. Para o nosso exemplo, vamos dizer o arquivo com o patch tenha o nome patch-2.2.12.bz2. Antes de usa-lo nos devemos descompacta-lo. A extensão .bz2 é o formato bunzip2. Podemos descompata-lo usando o seguinte comando:
<= início do comando exemplo=>
bunzip2 patch-2.2.12.bz2
<= fim do comando exemplo =>
Nenhuma saída será mostrada na tela. Verifique quais arquivos estão agora no diretório. Você notará que o arquivo patch-2.2.12.bz2 sumiu e que agora existe o arquivo patch-2.2.12 com um tamanho muito maior.
Novamente estamos assumindo que você baixou o fonte completo no diretório /usr/src/. Para o nosso exemplo, vamos dizer que o arquivo tenha o nome linux-2.2.12.tar.gz.
Antes mesmo de descompata-lo nós devemos fazer uma outra coisa. Em /usr/src/ você tem um link simbólico chamado linux o qual aponta para, por exemplo, linux-2.0.36. Como você pode verificar isto? Digite ls -al no diretório /usr/src/. Você verá alguma coisa como:
<= início da página exemplo =>
total 7295
drwxr-xr-x 5 root root 1024 Mar 19 15:01 .
drwxr-xr-x 20 root
root 1024 Mar 13 22:52 ..
lrwxrwxrwx 1 root root 11 Mar 15 18:21
linux -> linux-2.0.36
drwxr-xr-x 17 root root 1024 Mar 13
22:52 linux-2.0.36
...
<= fim da página exemplo =>
Note
o lrwxrwxrwx 1 root root 11 Mar 15 18:21 linux -> linux-2.0.36
o qual é o link simbólico apontando para o diretório
linux-2.0.36.
Se fossemos descompatar o fonte do kernel
agora, por default, ele seria descompactado no diretório
linux, gravando sobre o fonte anterior.
Vamos deletar o link
digitando rm linux. Ele somente remove o link, não o
diretório!
Agora vamos descompatar o fonte. Digite tar
-xvzf linux-2.2.12.tar.gz. Um punhado de texto aparecerá
Se você digitar ls -al agora você notará o
diretório linux. Este é o nosso novo diretório
de fonte do kernel.
Se você baixou o patch siga esta seção. Estamos assumindo que você esteja agora no diretório /usr/src/. Nós já descompactamos o patch (Seção A.6.1). Agora iremos para o diretório do kernel (assumindo linux). Digite cd linux.
Agora estamos no diretório do kernel. Neste ponto temos um punhado de opções e questões. Este é o primeiro patch do kernel? Não? Sim? Não entraremos em detalhes e nós assumiremos que este é o primeiro patch do kernel. Agora estamos prontos para aplicar o patch no kernel.
Para fazer isto usaremos o utilitário patch. Para maiores detalhes e informações completas sobre isto eu sugiro que você cheque o artigo em www.linuxpower.org neste url: http://www.linuxpower.org/display_item.phtml?id=101 .
Digite patch -E -p1 < ../patch-2.2.12
Um punhado de texto aparecerá na tela Se ele não parar em lugar nenhum exceto no fim(caso contrario, ele fará uma pergunta a você) tudo correu ok. Se não, então você tem um problema(você já aplicou um patch ao kernel alguma vez, ou alguma coisa realmente deu errado).
Se tudo correu bem continue lendo. Agora é hora de configurar o kernel e recompila-lo. Temos agora duas escolhas. Uma é compilar o novo kernel totalmente a partir do zero, a outra é recompila-lo usando a configuração anterior. Como você usou o patch estamos assumindo que você vai compilar com a configuração anterior. Se você não quer isto leia a seção 6.2 onde compilamos o kernel a partir do zero e siga os passos ali. A única diferença está no passo 1, onde você deve digitar make menuconfig.
Esta é a recompilação do kernel usando a configuração do kernel usando a configuração anterior. Siga estes passos:
1. execute make oldconfig
Neste ponto você pode receber uma pergunta a respeito de novos drivers. A menos que você realmente precise deles responda não (n).
2. execute make dep
3. execute make clean
4. execute make zImage (se isto falhar use bzImage, que significa big zImage)
5. execute make modules (se você os habilitou)
6. execute make modules_install (se você executou o passo 5)
Se tudo correu bem, nos temos um novo kernel pronto para ser instalado e usado.
Se você baixou o fonte completo você precisará seguir esta seção.
Estamos assumindo que você está agora no diretório /usr/src/. Já descompactamos o novo kernel(Seção A.6.2). Agora temos que ir para o diretório do kernel (assumindo linux). Digite cd linux.
Agora estamos no diretório do kernel. Vamos iniciar nossa compilação a partir do zero.
1. execute make menuconfig
Aqui você terá que configurar seu kernel. Não entraremos em detalhes ou explicações aqui por que esta configuração é diferente de maquina para maquina. Siga a configuração com inteligência e se você não souber o que quer dizer alguma coisa, deixe-a fora da configuração.
2. execute make dep
3. execute make clean
4. execute make zImage (se falhar use bzImage, que significa big zImage)
5. execute make modules (se você os habilitou)
6. execute make modules_install (se você executou o passo #5)
Se tudo correu bem nós temos agora um novo kernel pronto para ser instalado e usado no sistema.
A instalação do novo kernel requer um conhecimento de edição do arquivo /etc/lilo.conf. Afirmo que lilo.conf difere de uma máquina para outra e poderia não ser o mesmo em sua máquina aquele que está em minha máquina.
Primeiramente, assumiremos que você está ainda no diretório /usr/src/linux/. Temos que copiar o novo kernel e System.map para certos locais os quais novamente são diferentes em algumas distribuições.
Vamos ao diretório onde está o novo kernel.
Execute cd /arch/i386/boot/
Execute ls -al para ver o que existe ali, você verá algo como isto:
<= início da página exemplo =>
total 588
drwxr-xr-x 4 1046
1046 1024 Apr 5
20:54 .
drwxr-xr-x 7 1046
1046 1024 Mar 13
02:39 ..
-rw-r--r-- 1 1046
1046 2633 Jan 2
19:27 Makefile
-rwxr-xr-x 1 root
root 544 Apr
5 20:54 bootsect
-rw-r--r-- 1 1046
1046 9536 Jun 24
1998 bootsect.S
-rw-r--r-- 1 root
root 1238 Apr 5
20:54 bootsect.o
-rw-r--r-- 1 root
root 8293 Apr 5
20:54 bootsect.s
drwxr-xr-x 2 1046
1046 1024 Apr 5
20:54 compressed
-rw-r--r-- 1 1046
1046 904 Jan
3 1995 install.sh
-rwxr-xr-x 1 root
root 1428 Apr 5
20:54 setup
-rw-r--r-- 1 1046
1046 20136 Nov 29 02:18
setup.S
-rw-r--r-- 1 root
root 3053 Apr 5
20:54 setup.o
-rw-r--r-- 1 root
root 24136 Apr 5
20:54 setup.s
drwxr-xr-x 2 1046
1046 1024 Apr 5
20:54 tools
-rw-r--r-- 1 1046
1046 36836 Sep 30
1998 video.S
-rw-r--r-- 1 root
root 477285 Apr 5 20:54
zImage
<= fim da página exemplo =>
Se na
seção A.7.x, você usou make zImage você
deve copiar o arquivo zImage, caso contrario copie o arquivo
bzImage. Assumiremos zImage.
A dúvida que
temos agora é para aonde copiar o novo kernel. Em
distribuicoes Red Hat o kernel está localizado em /boot/
e no Slackware em / . Não tenho familiaridade com
outras distribuicoes (Debian, SuSe, etc.). Dependendo de sua
distribuição faca sua escolha sobre o local para onde
você deverá copiar o novo kernel.
Faremos um exemplo
para Red Hat.
Execute cp zImage /boot/vmlinuz-2.2.12
Agora
volte ao diretório /usr/src/linux/ .
cd
/usr/src/linux/ .
Agora
vamos copiar o novo arquivo System.map. Observe que o arquivo
System.map deve ficar sempre em /boot/ .
Execute
cp System.map /boot/System.map-2.2.12
Agora nos
temos que fazer um novo link simbólico que aponta para o novo
System.map.
Primeiro vá para o diretório
/boot executando cd /boot .
Agora delete o link
simbólico antigo (observe que deletar o link simbólico
somente deleta o link, não o arquivo ou diretório para
o qual ele aponta). Execute rm System.map .
Agora vamos
criar um novo link simbólico que apontará para o novo
System.map-2.2.12.
Execute ln -s System.map-2.2.12 System.map .
Agora o
que temos que fazer é editar o arquivo lilo.conf,
adicionar o nosso novo kernel ali e executar lilo.
Vá
para o diretório /etc executando cd /etc . Com o seu
editor favorito edite o arquivo lilo.conf. Para o nosso
exemplo usaremos o editor joe.
Você verá
algo como isto neste arquivo :
= início da página exemplo =>
boot=/dev/hda
map=/boot/map
install=/boot/boot.b
prompt
timeout=50
image=/boot/vmlinuz-2.0.36-0.7
label=linux.old
root=/dev/hda1
read-only
<= fim da página exemplo =>
Observe
que isto pode e provavelmente é diferente em seu sistema.
Agora adicionaremos o novo kernel ao nosso arquivo lilo.conf.
Copie a parte de image até o fim e cole-a antes da imagem
corrente. Você terá agora algo parecido com isto:
= início da página exemplo =>
boot=/dev/hda
map=/boot/map
install=/boot/boot.b
prompt
timeout=50
image=/boot/vmlinuz-2.0.36-0.7
label=linux.old
root=/dev/hda1
read-only
image=/boot/vmlinuz-2.0.36-0.7
label=linux.old
root=/dev/hda1
read-only
<= fim da página exemplo =>
Agora altere a parte colada para as definições e versão do novo kernel. Para nosso exemplo (nos usamos o kernel 2.2.4) ela se parecerá com isto:
= início da página exemplo =>
boot=/dev/hda
map=/boot/map
install=/boot/boot.b
prompt
timeout=50
image=/boot/vmlinuz-2.2.12
label=linux
root=/dev/hda1
read-only
image=/boot/vmlinuz-2.0.36-0.7
label=linux.old
root=/dev/hda1
read-only
<= fim da página exemplo =>
Nós
alteramos a parte do label, a parte de imagem, tudo o mais permaneceu
o mesmo.
Eu não explicarei o básico do arquivo
lilo.conf, por que ele é muito bem descrito em LILO
How-To .
Agora rode o lilo simplesmente digitando seu nome. Você deve ver alguma coisa como isto (mais ou menos exatamente isto):
= início da página exemplo =>
Added
linux *
Added linux.old
<= fim da página exemplo =>
Você pode agora reiniciar sua máquina para carregar o novo kernel.
Bem, tudo deve ser o mesmo, uma coisa não. Se você for aplicar o patch no kernel você primeiramente terá que remover o patch antigo antes de aplicar o novo. Isto é feito primeiramente digitando patch -R -p1 < ../patchfile (onde patchfile é o nome do patch antigo) e então aplicar o novo patch com a opção -E. Tudo o mais deve ser feito de forma idêntica ao descrito anteriormente.
Usuários Red Hat devem observar isto. Se você estiver fazendo upgrade de seu kernel da serie 2.0.xx para a serie 2.2.x você deve ler isto. O documento é similar a este, passo a passo mostrando como fazer o upgrade de certas coisas específicas do sistema como init, samba, etc.. que são necessárias para este upgrade.
Se existe algo parecido para outras distribuicoes, por favor, permitam-me saber. Seria bom se você me apontasse para os documentos com informações a respeito.
Meu nome é Alesh Mustar, tenho 20 anos, moro na Eslovenia, Europa trabalhando como programador e administrador de sistemas. Alem de passar muito tempo em frente a uma tela de computador eu gosto de passar o tempo com minha namorada Tanja, ler livros e dirigir com por ai com meu carro. Posso ser contatado por email que está no topo da página. Comentários, sugestões e qualquer coisa mais são mais que bem-vindos.
Versão 1.1.0 - mudanças menores, alguns error de digitação consertados e alguns números de kernel reparados.
Versão 1.1.1 - uns dois erros de digitação corrigidos.
Versão 1.12. - corrigidos alguns erros de digitação apontados por Jo.
Ir para a página principal : Linux Newbie Administrator Guide (LNAG)