Duvidas sobre compilação do Kernel Linux [RESOLVIDO]

1. Duvidas sobre compilação do Kernel Linux [RESOLVIDO]

Jeffersson Abreu
ctw6av

(usa Nenhuma)

Enviado em 26/02/2016 - 13:13h

Bom galera estou meio envergonhado por ter que fazer este tipo de pergunta newbie, mas infelizmente não achei nada a respeito na web, minha pergunta é:

Se eu preciso de um sistema montado para compilar um kernel, como foi compilado o primeiro kernel?

Eu sei que já deveria saber disso, mais como aprender sem questionar? (retórica).


  


2. MELHOR RESPOSTA

Perfil removido
removido

(usa Nenhuma)

Enviado em 26/02/2016 - 21:54h

As máquinas antigas eram feitas com uma espécie de painel-matriz onde se colocavam uma porção de coisas como plugs de conectores e se encaixava numa base para se fechar o circuito.

Junto com isso vieram os cartões perfurados.

Pense em como vieram os primeiros equipamentos feitos com válvulas, triodos, pentodos e depois transistores.

No começo a programação era Assembly para o equipamento e nesse meio-tempo foram surgindo linguagens que dependessem menos do hardware.

E deve-se imaginar que foi escrito código diretamente em bytecodes para se escrever o assembler montador da linguagem de máquina.

Primeiro programação eletrônica, depois assemblies (programação por montagens orientadas a hardware), depois linguagens estruturadas.

Simula, ALGOL, LISP, COBOL, SNOBOL, Fortran, Pascal, AWK. Tem muita linguagem velha.

Depois, pelo que li, no Multics era usado ou um tipo de Assembly ou BCPL ou mesmo a Linguagem B, que é a antecessora da Linguagem C.

Escreve-se primeiro o compilador de C em Assembly, depois escreve-se ele na própria linguagem.

Quem compilou o GCC alguma vez, possivelmente fazendo LFS, deve ter visto o bootstraping que o "GCC compilando" opera nele mesmo.

Quem já observou o código do primeiro kernel Linux, versão 0.02, deve ter visto que se trata de um código Assembly.

Portanto creio que tudo em etapa zero é feito em linguagem de máquina, depois Assembly. E finalmente a coisa toda ganha estrutura.

----------------------------------------------------------------------------------------------------------------
http://24.media.tumblr.com/tumblr_m62bwpSi291qdlh1io1_250.gif

# apt-get purge systemd (não é prá digitar isso!)

Encryption works. Properly implemented strong crypto systems are one of the few things that you can rely on. Unfortunately, endpoint security is so terrifically weak that NSA can frequently find ways around it. — Edward Snowden


3. Re: Duvidas sobre compilação do Kernel Linux [RESOLVIDO]

Luiz Santos
luiztux

(usa Gentoo)

Enviado em 26/02/2016 - 16:42h

ctw6avqhzj2v2z43 escreveu:

Bom galera estou meio envergonhado por ter que fazer este tipo de pergunta newbie, mas infelizmente não achei nada a respeito na web, minha pergunta é:

Se eu preciso de um sistema montado para compilar um kernel, como foi compilado o primeiro kernel?

Eu sei que já deveria saber disso, mais como aprender sem questionar? (retórica).


GNU/Gcc



-----------------------------------''----------------------------------
Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.


4. Re: Duvidas sobre compilação do Kernel Linux [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 26/02/2016 - 16:51h

O primeiro kernel (aquele que Linux fez no seu quarto) foi feito por compilação cruzada a partir de um MINIX.

O kernel pode ser compilado a partir dos BSD hoje em dia também pelo mesmo processo.

Além é claro a partir de um Linux mais antigo (mais nem tanto) pois o requerimento do compilador pode nao ser atendido.

Procure informações sobre compilação cruzada.
------------------------------------------------------------------------------------------------------------
“Se você pergunta quanto custa, é porque não pode comprar” - J.P.Morgan


5. Re: Duvidas sobre compilação do Kernel Linux

Lucas Leonardi
lucasleon

(usa Debian)

Enviado em 26/02/2016 - 19:54h

Vou ajudar o nosso amigo com sua pergunta...
as distribuições vieram do Linux, que veio do Minix, que veio do Unix, que veio do Multics.
Mas como a Multics foi compilado?
-----------------
Lucas Leonardi, Técnico em TI
Usuário de Debian, Linux Mint e Android
Me avalie em: www.vivaolinux.com.br/~lucasleon
Página no VOA: www.vivaoandroid.com.br/~lucasleon


6. Re: Duvidas sobre compilação do Kernel Linux [RESOLVIDO]

Jeffersson Abreu
ctw6av

(usa Nenhuma)

Enviado em 26/02/2016 - 20:00h

lucasleon escreveu:

Vou ajudar o nosso amigo com sua pergunta...
as distribuições vieram do Linux, que veio do Minix, que veio do Unix, que veio do Multics.
Mas como a Multics foi compilado?
-----------------
Lucas Leonardi, Técnico em TI
Usuário de Debian, Linux Mint e Android
Me avalie em: www.vivaolinux.com.br/~lucasleon
Página no VOA: www.vivaoandroid.com.br/~lucasleon


Vish agora piorou mais ainda kkkkkkkkk



7. Re: Duvidas sobre compilação do Kernel Linux [RESOLVIDO]

edps
edps

(usa Slackware)

Enviado em 26/02/2016 - 20:32h

ctw6avqhzj2v2z43 escreveu:

lucasleon escreveu:

Vou ajudar o nosso amigo com sua pergunta...
as distribuições vieram do Linux, que veio do Minix, que veio do Unix, que veio do Multics.
Mas como a Multics foi compilado?
-----------------
Lucas Leonardi, Técnico em TI
Usuário de Debian, Linux Mint e Android
Me avalie em: www.vivaolinux.com.br/~lucasleon
Página no VOA: www.vivaoandroid.com.br/~lucasleon


Vish agora piorou mais ainda kkkkkkkkk


já já alguém virá com a pergunta "quem veio primeiro o ovo ou a galinha" rsrs

--------------------------------------------------------------------------------------------------------------
Em Linux, geralmente 99,9% dos problemas são causados por um "ser" que ocupa
o espaço entre a cadeira e o teclado: FATO!


8. Re: Duvidas sobre compilação do Kernel Linux [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 26/02/2016 - 20:44h

lucasleon escreveu:

Vou ajudar o nosso amigo com sua pergunta...
as distribuições vieram do Linux, que veio do Minix, que veio do Unix, que veio do Multics.
Mas como a Multics foi compilado?
-----------------
Lucas Leonardi, Técnico em TI
Usuário de Debian, Linux Mint e Android
Me avalie em: www.vivaolinux.com.br/~lucasleon
Página no VOA: www.vivaoandroid.com.br/~lucasleon


Os sistemas operacionais primitivos até mesmo antes do multics não eram compilados, pois não eram uma aplicação em C já que ele nem existia. Esses sistemas eram escritos do zero em linguagem de montagem. Essa inclusive foi a razão da invenção do C e da portabilidade. Quando o hardware mudava era preciso reescrever o sistema operacional até que alguém (acho que foi Kenneth Thompson e Dennis Ritchie) sacaram que isso era improdutivo e inventaram o C e a portabilidade.

Muitas dessas aplicações eram apenas uma fita de papel perfurado. Não havia compilação, por isso a expressão o sistema está "correndo" (run) se refere a fita de papel correndo.


------------------------------------------------------------------------------------------------------------
“Se você pergunta quanto custa, é porque não pode comprar” - J.P.Morgan


9. Re: Duvidas sobre compilação do Kernel Linux

Jeffersson Abreu
ctw6av

(usa Nenhuma)

Enviado em 26/02/2016 - 20:54h

Sei que esta duvida é um tanto quanto iniciante, mas esta me veio a cabeça pois estou me arriscando em um LFS (Linux From Scratch) e estou tendo que compilar um kernel pela primeira vez, no caso eu usei o meu sistema como anfitrião e já foi complicado diga-se de passagem. Imagino para quem teve que fazer um compilador para compilar um kernel, me bugou o cérebro.




10. Re: Duvidas sobre compilação do Kernel Linux [RESOLVIDO]

Jeffersson Abreu
ctw6av

(usa Nenhuma)

Enviado em 26/02/2016 - 23:01h

listeiro_037 escreveu:

As máquinas antigas eram feitas com uma espécie de painel-matriz onde se colocavam uma porção de coisas como plugs de conectores e se encaixava numa base para se fechar o circuito.

Junto com isso vieram os cartões perfurados.

Pense em como vieram os primeiros equipamentos feitos com válvulas, triodos, pentodos e depois transistores.

No começo a programação era Assembly para o equipamento e nesse meio-tempo foram surgindo linguagens que dependessem menos do hardware.

E deve-se imaginar que foi escrito código diretamente em bytecodes para se escrever o assembler montador da linguagem de máquina.

Primeiro programação eletrônica, depois assemblies (programação por montagens orientadas a hardware), depois linguagens estruturadas.

Simula, ALGOL, LISP, COBOL, SNOBOL, Fortran, Pascal, AWK. Tem muita linguagem velha.

Depois, pelo que li, no Multics era usado ou um tipo de Assembly ou BCPL ou mesmo a Linguagem B, que é a antecessora da Linguagem C.

Escreve-se primeiro o compilador de C em Assembly, depois escreve-se ele na própria linguagem.

Quem compilou o GCC alguma vez, possivelmente fazendo LFS, deve ter visto o bootstraping que o "GCC compilando" opera nele mesmo.

Quem já observou o código do primeiro kernel Linux, versão 0.02, deve ter visto que se trata de um código Assembly.

Portanto creio que tudo em etapa zero é feito em linguagem de máquina, depois Assembly. E finalmente a coisa toda ganha estrutura.

----------------------------------------------------------------------------------------------------------------
http://24.media.tumblr.com/tumblr_m62bwpSi291qdlh1io1_250.gif

# apt-get purge systemd (não é prá digitar isso!)

Encryption works. Properly implemented strong crypto systems are one of the few things that you can rely on. Unfortunately, endpoint security is so terrifically weak that NSA can frequently find ways around it. — Edward Snowden


Se eu pudesse dar nota 1000 para esta resposta eu daria, muito completa. Obrigado



11. Re: Duvidas sobre compilação do Kernel Linux [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 27/02/2016 - 20:37h

Para constar:

* Referência do BCPL: https://www.bell-labs.com/usr/dmr/www/bcpl.html

----------------------------------------------------------------------------------------------------------------
http://24.media.tumblr.com/tumblr_m62bwpSi291qdlh1io1_250.gif

# apt-get purge systemd (não é prá digitar isso!)

Encryption works. Properly implemented strong crypto systems are one of the few things that you can rely on. Unfortunately, endpoint security is so terrifically weak that NSA can frequently find ways around it. — Edward Snowden







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts