Compilando o Kernel Linux sem o Git! - Tópico em desenvolvimento

Iniciado por galactus, 05 de Setembro de 2011, 01:01

tópico anterior - próximo tópico

Gunss


MSXManiac

Citação de: galactus online 08 de Setembro de 2011, 23:13
Obrigado pela ajuda pessoal!

Vampire, estou mandando o meu contato do Gtalk pra você!

Vamos combinar essa compilação em conjunto, esse negócio tem que sair!

Ainda mais agora que o www.kernel.org estava fora do ar ontem e boa parte dele está em manutenção hoje! Estão arrumando a casa depois da invasão e não há prazo definido para à faxina terminar.

A pá de cal foi que o Tio Linus criou uma conta do GitHub e colocou o kernel 3.1-rc5 nele!!!!  Leiam: http://blueparen.com/node/12

Então, modo radical On,  não tem mais volta! Ou aprendemos esse bendito Git ou daqui a pouco vai ficar impossível usar o método antigo!  ;D




Desculpa repetir o posto lá do tópico do OmniSlash, mas já que não sei se vc tá mais lá ou aqui.....

Ô Galactus, tu pode me explicar uma coisa?

Como tu fez prá rodar o Gnome 2.32 do Mint 11 com OpenBox?

No meu eu fiz o mesmo processo que no Mint 10 mas a coisa bão bombou.....

Tem algo diferente prá ser feito?
ASUSTek P5QPL-AM + Intel(R) Core(TM)2 Quad CPU Q8400 @ 2.66GHz (Yorkfield) + 4 Gb RAM 800 MHz

xluisfernando

Samsung Ativ Book i3 - Ubuntu 20.04LTS

galactus

BigLinux no Notebook  / Várias Distros Virtualizadas no PC.

xluisfernando

Galactus

Estou com uma dúvida e não encontro uma resposta. Já entendi que o pacote linux-source disponibilizado no repositório do Ubuntu nada mais é que um aplicativo .deb que coloca o tar.bz2 do kernel modificado para o ubuntu dentro de uma pasta em /usr/src. Entendi também que o kernel original recebe a adição de pacthes pelos organizadores das distribuições, para melhorar o desempenho.

O que não entendo ainda é que paches escolher e onde localizá-los para uma distribução como o Ubuntu.

Se eu simplesmente compilar a partir da fonte do kernel.org e não aplicar nenhum patch eu teria alguma perda de desempenho?

Desde já, agradeço a paciência em relação a perguntas que para muitos deve ser definitivamente óbvia...
Samsung Ativ Book i3 - Ubuntu 20.04LTS

galactus

Citação de: xluisfernando online 09 de Outubro de 2011, 13:17
Galactus

Estou com uma dúvida e não encontro uma resposta. Já entendi que o pacote linux-source disponibilizado no repositório do Ubuntu nada mais é que um aplicativo .deb que coloca o tar.bz2 do kernel modificado para o ubuntu dentro de uma pasta em /usr/src. Entendi também que o kernel original recebe a adição de pacthes pelos organizadores das distribuições, para melhorar o desempenho.

O que não entendo ainda é que paches escolher e onde localizá-los para uma distribução como o Ubuntu.

Se eu simplesmente compilar a partir da fonte do kernel.org e não aplicar nenhum patch eu teria alguma perda de desempenho?

Desde já, agradeço a paciência em relação a perguntas que para muitos deve ser definitivamente óbvia...

Eu realmente admiro muito e gosto de ver usuários como você que tentam aprender o máximo possível!

Mas as vezes a gente complica a vida da gente sem necessidade!

Não estou dizendo que você não está no caminho certo, mas acertar esses patchs é osso mesmo. São muito erros até você acertar. Que o diga o HQx!

Então graças aos PPAs e a dica do Stivekx, você pode facilitar sua vida e muito!

Exemplo, você vai baixar o kernel vanilla versão 3.0.6. Até aí tudo perfeito, mas agora você quer deixá-lo como o kernel do Ubuntu, e quais patchs aplicar eis a grande questão!

Tá na mão  http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.0.6-oneiric/

Baixe e aplique na ordem que ele mesmo criou para deixar ainda mais fácil

0001-base-packaging.patch
0002-debian-changelog.patch
0003-default-configs.patch

E pronto, seu kernel vanilla 3.0.6 agora é um kernel do Ubuntu com o plymouth e Ureheadaread funcionando bonitinho com tudo o que tiver de direito e defeitos.  Hehehehe
Só basta você compilar ao seu gosto, e nada te impede de colocar outros patchs. Eu já coloquei o BFS e o Realtime. Funcionam numa boa. O BFQ ainda não testei, mas deve funcionar.

Você ainda pode abrir os patchs e ver por si mesmo o que ele colocou!  É mais que uma mão na roda, é melzinho na chupeta! Hahauhauhauhauha

Nem sempre os patchs colocados são para dar maior desempenho no sistema. Eles podem melhorar a segurança, novas correções que ainda não foram colocadas no kernel oficial, novos drivers livres ou proprietários que não são incluidos no kernel oficial e por aí vai!

Se quiser tentar outros kerneis para o Ubuntu só usar a link raiz e fazer a festa!

http://kernel.ubuntu.com/~kernel-ppa/mainline/

Espero ter ajudado mais que complicado!  Com essa dica, se você realmente quiser se aprofundar mais no assunto é muito boa, pois você tem a oportunidade de olhar todos os patchs que eles colocam além do kernel oficial! Aí você vai dar ainda mais valor aos desenvolvedores de Kernel. É muito serviço fazer isso tudo funcionar sem erros!
BigLinux no Notebook  / Várias Distros Virtualizadas no PC.

Metalbobolic

Citação de: galactus online 09 de Outubro de 2011, 18:28
Citação de: xluisfernando online 09 de Outubro de 2011, 13:17
Galactus

Estou com uma dúvida e não encontro uma resposta. Já entendi que o pacote linux-source disponibilizado no repositório do Ubuntu nada mais é que um aplicativo .deb que coloca o tar.bz2 do kernel modificado para o ubuntu dentro de uma pasta em /usr/src. Entendi também que o kernel original recebe a adição de pacthes pelos organizadores das distribuições, para melhorar o desempenho.

O que não entendo ainda é que paches escolher e onde localizá-los para uma distribução como o Ubuntu.

Se eu simplesmente compilar a partir da fonte do kernel.org e não aplicar nenhum patch eu teria alguma perda de desempenho?

Desde já, agradeço a paciência em relação a perguntas que para muitos deve ser definitivamente óbvia...

Eu realmente admiro muito e gosto de ver usuários como você que tentam aprender o máximo possível!

Mas as vezes a gente complica a vida da gente sem necessidade!

Não estou dizendo que você não está no caminho certo, mas acertar esses patchs é osso mesmo. São muito erros até você acertar. Que o diga o HQx!

Então graças aos PPAs e a dica do Stivekx, você pode facilitar sua vida e muito!

Exemplo, você vai baixar o kernel vanilla versão 3.0.6. Até aí tudo perfeito, mas agora você quer deixá-lo como o kernel do Ubuntu, e quais patchs aplicar eis a grande questão!

Tá na mão  http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.0.6-oneiric/

Baixe e aplique na ordem que ele mesmo criou para deixar ainda mais fácil

0001-base-packaging.patch
0002-debian-changelog.patch
0003-default-configs.patch

E pronto, seu kernel vanilla 3.0.6 agora é um kernel do Ubuntu com o plymouth e Ureheadaread funcionando bonitinho com tudo o que tiver de direito e defeitos.  Hehehehe
Só basta você compilar ao seu gosto, e nada te impede de colocar outros patchs. Eu já coloquei o BFS e o Realtime. Funcionam numa boa. O BFQ ainda não testei, mas deve funcionar.

Você ainda pode abrir os patchs e ver por si mesmo o que ele colocou!  É mais que uma mão na roda, é melzinho na chupeta! Hahauhauhauhauha

Nem sempre os patchs colocados são para dar maior desempenho no sistema. Eles podem melhorar a segurança, novas correções que ainda não foram colocadas no kernel oficial, novos drivers livres ou proprietários que não são incluidos no kernel oficial e por aí vai!

Se quiser tentar outros kerneis para o Ubuntu só usar a link raiz e fazer a festa!

http://kernel.ubuntu.com/~kernel-ppa/mainline/

Espero ter ajudado mais que complicado!  Com essa dica, se você realmente quiser se aprofundar mais no assunto é muito boa, pois você tem a oportunidade de olhar todos os patchs que eles colocam além do kernel oficial! Aí você vai dar ainda mais valor aos desenvolvedores de Kernel. É muito serviço fazer isso tudo funcionar sem erros!

Post esclarecedor para mim, agora entendi por que não conseguia patchear o kernel, eu começava pelo 0003..

Vou tentar de novo....

Metalbobolic

Agora fiquei na dúvida depis que apliquei os patch's

1º aplico o patch e dpeois copio .config ou ao contrário!!?

grato.,

galactus

Citação de: Metalbobolic online 16 de Outubro de 2011, 20:06
Agora fiquei na dúvida depis que apliquei os patch's

1º aplico o patch e dpeois copio .config ou ao contrário!!?

grato.,

Sim, primeiro aplique os patchs e depois o .config!
BigLinux no Notebook  / Várias Distros Virtualizadas no PC.

Metalbobolic

#39
Valeus..

Pena que não consigo compilar a porcaria do kernel..não sei o que é...

EDIT: Conseguir compilar perfeito

1000hz, otimize for size, core2 e com os patch indicados acima...

E fiz isso tudo em cima do kernel 3.1-rc4

Agora o proximo passo é kernel preempt...

Agora uma pergunta..compilei tudo certinho..quero compilar novamente alterando outras cositas, preciso reaplicar os patchs!!?

xluisfernando

Estudando o procedimento para compilação de kernel no ubuntu e no debian, acredito que estou começando a entender a diferença. No ubuntu, todos os tutoriais que encontrei até agora seguem um procedimento de compilação a partir do kernel vanilla, com e sem a aplicação dos patches. Já no debian, além desse procedimento, existe a opção de se compilar a partir do pacote linux-source da mesma versão do kernel instalado.

Procuro entender bem a teoria do que estou fazendo antes de colocá-la em prática.

Tentei o procedimento linux-source no ubuntu 10.04LTS e não deu certo. Nos textos que encontrei sobre compilação por linux-source, para debian, existe a necessidade de se instalar o pacote linux-kbuild da mesma versão. Porém, consultando o synaptic, esse pacote não aparece para o ubuntu 10.04LTS. O que aparece é chamado kbuild (não sei se seria a mesma coisa).

Outra diferença que percebi é que no procedimento linux-source o comando para compilação não possui o complemento do kpkg e os módulos são instalados depois.

Então:

1) Alguém aqui no fórum já compilou o kernel a partir do pacote linux-source no ubuntu?

2) Por que devemos criar o link simbólico linux para o diretório em que a fonte do kernel foi desempacotada?
Samsung Ativ Book i3 - Ubuntu 20.04LTS

Metalbobolic

Citação de: xluisfernando online 23 de Outubro de 2011, 11:23
Estudando o procedimento para compilação de kernel no ubuntu e no debian, acredito que estou começando a entender a diferença. No ubuntu, todos os tutoriais que encontrei até agora seguem um procedimento de compilação a partir do kernel vanilla, com e sem a aplicação dos patches. Já no debian, além desse procedimento, existe a opção de se compilar a partir do pacote linux-source da mesma versão do kernel instalado.

Procuro entender bem a teoria do que estou fazendo antes de colocá-la em prática.

Tentei o procedimento linux-source no ubuntu 10.04LTS e não deu certo. Nos textos que encontrei sobre compilação por linux-source, para debian, existe a necessidade de se instalar o pacote linux-kbuild da mesma versão. Porém, consultando o synaptic, esse pacote não aparece para o ubuntu 10.04LTS. O que aparece é chamado kbuild (não sei se seria a mesma coisa).

Outra diferença que percebi é que no procedimento linux-source o comando para compilação não possui o complemento do kpkg e os módulos são instalados depois.

Então:

1) Alguém aqui no fórum já compilou o kernel a partir do pacote linux-source no ubuntu?

2) Por que devemos criar o link simbólico linux para o diretório em que a fonte do kernel foi desempacotada?

Lendo sobre compilação...também..vejo que basicamente existem duas formas:

A forma tradicional, ou seja, make | make modules | make modules_install e criar initramfs e update grub e em alguns casos copiar o arquivo vmlinuz para a pasta boot já compilei assim no ubuntu e foi tranquilo

E tem a forma Debian, ou seja, make-kpkg onde tudo é automatizado e final você tem o arquivo .deb

E a criação do link simbolico parece que é algo "arcaico" totalmente desnessário hoje, servia somente para kernel 2.4 para baixo..pois todas minhas compilações não faço mais o link simbolico.

A compilação do kernel é complexa...se você for pesquisar..a cada minuto encontra formas diferentes ditas como a mais correta..já encontrei na net uma que diz que antes do make-kpkg deve-se fazer o comando make localmodconfig, tentei fazendo isso e deu erros na hora da compilação.

Muitos tutos dizem que é obrigatório o uso do make-clean e/ou make-kpkg clean, porém, pesquisanndo mais..é algo opcional usando somente em casos de compilações mal sucedidas..

Então man..quanto mais voce pesquisar..mais terá dúvidas...hoje minha compilação que faço e a seguinte:

não crio link simbolico e uso o Debian Way: make-kpkg --initrd --append-to-version kernel_image kernel_headers

xluisfernando

Metalbobolic

Sua resposta ajudou bastante. Quando eu tentei pelo pacote linux-source, se não me engano, o procedimento usado era o tradicional. Talvez, pelo fato de eu ter usado o make-kpkg com o pacote linux-source seja o problema.

Vou tentar de novo, com o linux source, pelo procedimento tradicional e depois conto como foi. Paralelamente, vou tentar uma dica do Galactus, de compilar pelo kernel vanilla e aplicar os patches debian e ubuntu.
Samsung Ativ Book i3 - Ubuntu 20.04LTS

4d4c47

gcc 4.6.2 lançado:

http://gcc.gnu.org/gcc-4.6/changes.html

alguém aé já testou o -Ofast do gcc 4.6 ?

é rápido mesmo ?


quando tiver tempo vou dá uma compilada nele, só pra testa-lo ao extremo ;)


Metalbobolic

Citação de: 4d4c47 online 27 de Outubro de 2011, 17:44
gcc 4.6.2 lançado:

http://gcc.gnu.org/gcc-4.6/changes.html

alguém aé já testou o -Ofast do gcc 4.6 ?

é rápido mesmo ?


quando tiver tempo vou dá uma compilada nele, só pra testa-lo ao extremo ;)



A ultima vez que tentei compilar o gcc 4.6, não tive sucesso, sempre dava erro..vou tentar de novo...

valeus..