Académique Documents
Professionnel Documents
Culture Documents
No decorrer deste texto veremos mais detalhes, alm dos que j apresentamos em outras aulas, sobre
o que muitos acreditam ser o mais importante componente de um sistema GNU/Linux, ou seja, o seu
Kernel.
No final da dcada de 80, um aluno da universidade de Helsinque, na Finlndia, percebeu que o
microprocessador Intel 80386 seria uma plataforma adequada para o desenvolvimento de um sistema
nos moldes do Unix. Este aluno foi Linus Benedict Torvalds.
Linus B. Torvalds desejava construir um Kernel clone do Unix que tivesse memria virtual, multitarefa
preemptiva e multiusurio. Porm este trabalho seria enorme para uma pessoa somente, mesmo que
conhecesse muito bem as teorias que envolvem os sistemas operacionais.
Na primavera de 1991, Linus B. T. da incio um projeto particular inspirado no Minix. Ele queria um
Minix melhor que o Minix. Aps algum tempo, seu projeto solitrio de um Kernel, conseguia executar os
utilitrios de programao e os comandos-padro do Unix clonados pelo projeto GNU. Vendo ento que
no conseguiria continuar sozinho nesta tarefa, Linus enviou para a lista de discusso comp.os.minix,
com o seguinte desafio:
Voc suspira por melhores dias do Minix-1.1, quando homens sero homens e escrevero seus prprios
device drivers? Voc est sem um bom projeto e est morrendo por colocar as mos em um S.O. no qual
voc possa modificar de acordo com suas necessidades? Voc est achando frustrante quando tudo
trabalha em Minix? Chega de atravessar noites para obter programas que trabalhem correto. Ento
esta mensagem pode ser exatamente para voc.
Como eu mencionei h um ms, estou trabalhando em uma verso independente de um S.O. similar ao
Minix para computadores AT-386. Ele est, finalmente, prximo do estgio em que poder ser utilizado
(embora possa no ser o que voc esteja esperando), e eu estou disposto a colocar as fontes para ampla
distribuio. ele est na verso 0.02.., contudo, eu tive xito rodando bash, gcc, gnu-make, gnu-sed,
compresso, etc, nele.
Ento, em 5 de Outubro de 1991, Linus B. Torvalds lanou a primeira verso oficial do Linux: o Linux
0.02. Desde ento, vrios programadores pelo mundo afora tm colaborado no desenvolvimento do Linux
e tornando o sistema o que ele atualmente.
Fatos histricos marcantes do Linux
Data
Evento
1969
1974
1983
1984
1988
1990
1991
1992
A verso 0.01 discutida na Internet. lanada a verso 0.95 do Linux. A Yggdrasil lana
a primeira distribuio Linux em dezembro.
1993
1994
1995
1996
A Caldera lana a verso 1.0 com Netscape incluso e tambm com WordPerfect for X.
1998
Tabela adaptada do livro Unix Guia do Administrador do Sistema, de Rubem E. Ferreira, da editora
Novatec, edio 2003, pginas 24.
Atualmente o Kernel Linux j est na verso 2.6.36, lanada em 20 Outubro 2010. Entretanto, o que
mais nos interessa neste momento saber como vamos utilizar o ncleo do sistema em nossos
computadores. Como poderemos customiz-lo e adapt-lo s nossas necessidades e caractersticas de
hardware.
Neste sentido, somos forados a entrar em reas mais complexas da Cincia da Computao, pois
teremos que entender do processo de compilao e link de programas, alm de sabermos tambm de
detalhes mais elaborados sobre o hardware que estaremos utilizando em nossos computadores, pois
Muitas vezes podemos precisar de drivers para algum hardware novo, o qual ainda no est sendo
suportado pela equipe do Kernel, porm voc conseguiu o Patches com o fabricante do Hardware, ou
ento voc precisa suporte para uma nova tcnica/recurso de virtualizao ou uma nova tecnologia. Em
todos os casos voc precisa ter o arquivo de Patch para o cdigo fonte do Kernel.
Se j conseguiu os arquivos de Patches, coloque-os no diretrio /usr/src e execute conforme abaixo:
# bzip2 -dc /usr/src/patch.bz2 | patch -p1 --dry-run
# bzip2 -dc /usr/src/patch.bz2 | patch -p1
Importante!
S aplique Patches no Kernel se realmente forem necessrios.
4- Configurando o Kernel
# make clean
(limpa compilaes anteriores)
# make mrproper (Remove os arquivos gerados pela compilao anterior e tambm as configuraes realizadas.)
# cp /boot/config-`uname -r` ./.config
(copia o config do kernel atual como base)
# make menuconfig
A partir do ltimo comando acima, temos uma interface, mesmo em ambiente de terminal com um Shell
em Bash, a qual ir prover todas as informaes que deveremos tratar para que consigamos configurar
nosso novo Kernel.
(compila o Kernel)
(compila os mdulos configurados anterioremente)
(instala os mdulos para uso pelo novo Kernel)
(instala o novo Kernel no sistema)
Se tudo der certo, fazer uma verificao no arquivo /boot/grub/menu.lst para ver se o novo Kernel j
est sendo referenciado para o boot. Caso no esteja, edite o arquivo manualmente, colocando as
definies necessrias.
Aps tudo acertado, basta reinicializar o sistema com reboot, ou init 6.
Veja mais informaes nos stios abaixo:
1- www.kernel.org
2- http://linuxmafia.com/faq/Kernel/systemmap.html
3- http://www.debianadmin.com/step-by-step-tutorial-howto-compile-kernel-in-debian-5-0-lenny.html