projetos | download | linux | privacidade | contato
 
  Produtos | Documentação | Suporte | Treinamento | Conectiva | Cases | Soluções | Parcerias | Imprensa | Oportunidades
Pesquise 
português 
english 
español

SUPORTE

->Suporte Estendido
->Centros de Serviços
->Técnicos Certificados
->Formulário de Suporte
->Abrangência do Suporte
->Acionando o Suporte
->Perguntas e Respostas
->Atualizações
->Livros, Guias e Manuais
->Hardware

    5.7. Como recompilar o kernel?

    ATENÇÃO:

    Esse documeto foi criado com o intuito de auxiliar o usuário a fazer a recompilação do Kernel, porém devemos lembrar que esse procedimento não é coberto pelo suporte da Conectiva, além de invalidar o suporte.

    O procedimento que segue abaixo, se destina à máquina que foi feita uma instalação completa. Caso a sua máquina não esteja com a instalação completa, será necessário instalar alguns pacotes, os quais seguem logo abaixo:

    PACOTES DO CONECTIVA 5.0 e 5.1

    glibc-2.1.2-11cl

    kernel-headers-2.2.14-14cl

    glibc-devel-2.1.2-11cl

    binutils-2.9.5.0.24-2cl.i386.rpm

    egcs-1.1.2-14cl

    egcs-c++-1.1.2-14cl

    egcs-g77-1.1.2-14cl

    egcs-objc-1.1.2-14cl

    kernel-source-2.2.14-14cl.i386.rpm

    make-3.78.91-1cl.i386.rpm

    bin86-0.4-9cl.i386.rpm

    ncurses-devel-4.2-21cl.i386.rpm

    PACOTES DO CONECTIVA 6.0

    gcc-2.95.2-7cl.i386.rpm

    gcc-chill-2.95.2-7cl.i386.rpm

    gcc-c++-2.95.2-7cl.i386.rpm

    gcc-g77-2.95.2-7cl.i386.rpm

    gcc-java-2.95.2-7cl.i386.rpm

    gcc-objc-2.95.2-7cl.i386.rpm

    kernel-headers-2.2.17-14cl.i386.rpm

    kernel-source-2.2.17-14cl.i386.rpm

    make-3.79-2cl.i386.rpm

    bin86-0.4-10cl.i386.rpm

    ncurses-devel-5.1-5cl.i386.rpm

    binutils-2.10.0.18-1cl.i386.rpm

    glibc-2.1.3-18cl.i386.rpm

    glibc-devel-2.1.3-18cl.i386.rpm

    Para instalar os pacotes:

    Monte o CD 1 do Conectiva:

        [root@localhost ]# mount /mnt/cdrom
    


        [root@localhost ]# cd /mnt/cdrom/conectiva/RPMS
    


        [root@localhost RPMS]# rpm -ivh nome_pacote
    


    Bom, agora que os pacotes já estão instalados, basta seguir os seguintes passos:

    RECOMPILANDO O KERNEL

    Segue abaixo os passos para recompilar o kernel:

    1- Vá ate o diretório /usr/src/linux

        [root@localhost ]# cd /usr/src/linux
    


    2- Caso esteja recompilando a mesma versão de Kernel que já se encontra na máquina, edite o arquivo Makefile do /usr/src/linux:

        [root@localhost linux] mcedit Makefile
    


    E altere a seguinte linha:

        EXTRAVERSION = -14cl
    


    Para algo como:

        EXTRAVERSION = -user1
    


    Salve o arquivo e digite:

        [root@localhost linux]# make mrproper
    


    Se desejar configurar o kernel tendo como base as configurações feitas pela conectiva, coloque o CDROM de fontes no drive e digite:

        [root@localhost]# mount /mnt/cdrom
    


        [root@localhost]# rpm2cpio /mnt/cdrom/SRPMS/kernel-2.2.14-14cl.src.rpm | cpio -i kernel-2.2.14-i386.config
    


        [root@localhost]# mv kernel-2.2.14-i386.config .config
    


    Caso deseje configurar o kernel com as configurações padrão, estes 3 passos não são necessários.

    3- Para configurar o Kernel, digite:

        [root@localhost linux]# make menuconfig
    


    Logo após ter digitado esse comando, irá aparecer um menu onde poderá ser escolhido o que o kernel irá carregar como módulo, built-in ou simplesmente não carregará.

    Saia e salve as suas alterações.

    4- Recompilando o Kernel, digite:

        [root@localhost linux]# make dep
    


        [root@localhost linux]# make bzImage
    


        [root@localhost linux]# make modules
    


        [root@localhost linux]# make modules_install
    


    5- Feito isso ( esse processo irá demorar bastante tempo), a nova imagem do kernel está localizada no diretório /usr/src/linux/arch/i386/boot, vá até esse diretório e copie a nova imagem para o diretório /boot :

        [root@localhost linux]# cd /usr/src/linux/arch/i386/boot
    


        [root@localhost boot]# cp bzImage /boot/vmlinuz-2.2.14-user1
    


        [root@localhost boot]# cd /usr/src/linux
    


        [root@localhost linux]# cp System.map /boot/System.map-2.2.14-user1
    


        [root@localhost linux]# cd /boot
    


        [root@localhost boot]# ln -sf System.map-2.2.14-user1 System.map
    


        [root@localhost boot]# ln -sf vmlinuz-2.2.14-user1 vmlinuz
    


    Ps: O nome user1 é referente ao passo 2.

    #### 5.0 e 5.1 ###

    6- O próximo passo será a alteração do lilo.conf (arquivo se encontra no /etc), para que seja carregada a imagem recém criada:

    MODIFICANDO O ARQUIVO LILO.CONF

    Segue abaixo um exemplo de lilo.conf e o que deve ser alterado:

    lilo.conf ANTES DA RECOMPILAÇÃO

    boot=/dev/hda

    map=/boot/map

    install=/boot/boot.b

    prompt

    timeout=50

    image=/boot/vmlinuz-2.2.14-14cl

    label=linux

    root=/dev/hda3

    read-only

    lilo.conf DEPOIS DA RECOMPILAÇÃO

    boot=/dev/hda

    map=/boot/map

    install=/boot/boot.b

    prompt

    timeout=50

    # A linha 'default=label' referencia qual imagem será a padrão no momento da

    #inicialização. Mude conforme o desejado.

    default=label

    image=/boot/vmlinuz-2.2.14-14cl

    label=linux

    root=/dev/hda3

    read-only

    #Abaixo se encontra o nome imagem gerada pela compilação nova

    image=/boot/vmlinuz-2.2.14-user1

    #Abaixo se encontra o que será digitado no LILO para carregar a nova imagem

    label=linux2

    #Abaixo se encontra o dispositivo correspondente ao seu HD/Partição

    root=/dev/hda3

    read-only

    Ps: Note que as linhas que são procedidas de # são apenas comentários e não precisam ser incluidas no arquivo, mas caso queira inclui-las, não se esqueça de colocar as # antes das frases de comentário.

    7- Pronto, agora basta regravar o lilo :

        [root@localhost ]# lilo
    


    ### 6.0 ######

    6- Agora, passar para o grub a linha do novo kernel:

    Edite o arquivo /boot/grub/menu.lst

        [root@localhost]# mcedit /boot/grub/menu.lst
    


    e adicione as linhas para o nove kernel:

    title = Kernel Novo

    kernel = (hd0,0)//boot/vmlinuz-2.2.14-user1 root=/dev/hda3

    Salve . O arquivo com os kernel antigo e novo ficaria assim:

    timeout = 15

    default = 0

    color = 2

    foreground = ffffff

    background = 000000

    splashimage = (hd0,0)/grub/splash.xpm.gz

    title = Conectiva Linux 6.0

    kernel = (hd0,0)/vmlinuz-2.2.17-14cl root=/dev/hda7 vga=0x317

    title = Kernel novo

    kernel = (hd0,0)//boot/vmlinuz-2.2.14-user1 root=/dev/hda3

    8- Reinicialize sua máquina e mande carregar a imagem nova.