Como saber o que habilitar no kernel?

2

Sou um usuário do gentoo. Ao compilar o kernel, existem muitas opções que podem ser ativadas dependendo do hardware da pessoa.

A minha pergunta é como saber o que ativar / desativar, estou ciente do hardware que estou usando (conjunto de instruções do processador, número de núcleos, etc. / unidades NB e SB / sata da placa-mãe, etc.), mas ainda não tem uma ideia clara do que fazer ao escolher opções no script de configuração do kernel.

Eu tive problemas estranhos por causa disso (resolvido depois de alguma ajuda do #gentoo). Alguém pode me dar algumas referências sobre esse assunto? Como as pessoas aprendem a fazer isso?

P.S. Por favor, não me diga que eu não deveria estar compilando o kernel, é algo que eu quero aprender e também porque não obter alguma velocidade e melhor uso do meu hardware.

    
por Vicfred 10.03.2013 / 08:44

5 respostas

0

Eu encontrei este documento que explica exatamente o que eu estava procurando, espero que seja útil para alguns de vocês link

Leia o documento inteiro, ele está cheio de coisas legais, especialmente isso:

When the topic of this book was first presented to me, I dismissed it as something that was already covered by the plentiful documentation about the Linux kernel. Surely someone had already written down all of the basics needed in order to build, install, and customize the Linux kernel, as it seemed to be a very simple task to me.

After digging through the different HOWTOs and the Linux kernel Documentation directory, I came to the conclusion that there was not any one place where all of this information could be found. It could be gleaned by referencing a few files here, and a few outdated websites there, but this was not acceptable for anyone who did not know exactly what they were looking in the first place.

So this book was created with the goal of consolidating all of the existing information already scattered around the Internet about building the Linux kernel, as well as adding a lot of new and useful information that was not written down anywhere but had been learned by trial and error over my years of doing kernel development.

My secret goal of this book is to bring more people into the Linux kernel development fold. The act of building a customized kernel for your machine is one of the basic tasks needed to become a Linux kernel developer. The more people that try this out, and realize that there is not any real magic behind the whole Linux kernel process, the more people will be willing to jump in and help out in making the kernel the best that it can be.

    
por 17.03.2013 / 22:39
1

É estranho ver tal pergunta do usuário do gentoo.

Para poder escolher cuidadosamente, você precisa saber sobre o que cada opção tem a oferecer, então é melhor ter uma compreensão básica do que é o kernel e como ele funciona.

Para começar, tente ler o link do manual do gentoo, link ou pesquise no kernel do linux.

    
por 10.03.2013 / 09:29
1

A maneira mais simples de conhecer as opções adequadas seria obter um arquivo .config "padrão". A maioria das fontes do kernel é distribuída com um arquivo padrão com todas as opções adequadas definidas para várias configurações. Estes são armazenados nas configurações do diretório, no diretório principal do kernel. Se a sua arquitetura / sistema é suportada, pode ser muito simples digitar:

make rconfig

em que rconfig é o nome do arquivo .config padrão do seu sistema, localizado na pasta configs.

Depois disso, você obtém um arquivo .config na raiz do kernel, com todas as opções padrão definidas. Neste ponto, se você digitar:

make menuconfig

Ele carregará todos os padrões do novo arquivo .config e sua tarefa será mais fácil. Você só precisa examinar as opções e ver se precisa modificá-las para atender a qualquer necessidade de configuração específica. O arquivo .config é um arquivo de texto, que pode ser salvo para ver onde está sua opção padrão.

Digamos que você tenha um arquivo de configuração padrão e veja como você pode implementar o suporte a encapsulamento nele. Você pode simplesmente fazer o seguinte:

grep -in 'tun' .config

E você verá a saída da linha:

#CONFIG_TUN = N

Depois de remover o comentário e colocar Y em vez de N, a configuração do kernel muda para fornecer o driver de tunelamento.

    
por 10.03.2013 / 11:23
1

Isso é o que eu faço quando instalo o gentoo em um novo hardware.

  • Comece com uma configuração padrão de sementes do kernel

  • Inspecione ( lsmod , modinfo ) os módulos carregados pelo livecd (que estou executando para instalar o gentoo) e ative-os

Isso me faz começar com um kernel inicializável, e depois disso eu continuo mexendo nas opções, mantendo este kernel como backup.

    
por 23.03.2013 / 10:55
-1

Você não conseguirá uma melhor velocidade ao compilar seu próprio kernel. Você terá a experiência e a memória da dor. Você salvará centenas de kilobytes de memória se fizer isso corretamente.

No mínimo, execute make localmodconfig para incluir todos os drivers atualmente carregados no kernel. Isso garantirá que você não perca nenhum driver importante que está usando no momento.

Você ainda deve incluir drivers adicionais como módulos para todos os dispositivos USB e outros dispositivos hotpluggable que você deseja adicionar um dia. Verifique se você incluiu tudo o que precisa para inicializar diretamente no kernel também. É mais fácil se você incluir apenas o recurso initramfs e colocar todo o resto como um módulo - mas não se esqueça de reconstruir o initramfs.

    
por 10.03.2013 / 23:52