Re: Escrever um driver

2003-02-11 Por tôpico Frederico R. Marvila
 --- "Rodrigo F. Baroni" <[EMAIL PROTECTED]>
escreveu: > 
> Ola' caro Fred,

Olá!
>  
 [ 8< ]
>  Vai fundo, e depois mande um link para o
> trabalho
> ;)

Se tudo correr bem, mando sim ;) Mas não são muitas as
chances de dar certo, já que falta pouco tempo e
estamos abarrotados de provas e trabalhos de outras
matérias.

Mas com força de vontade e muito
café-guaraná-coca-cola, talvez consigamos terminar
heheh

Obrigado pelas dicas!

> 
>  Um abraco!
>  
>   Rodrigo F Baroni
>Computer Science Bach's Student
>Sao Paulo, Brazil

=
Frederico "Ramirez" Marvila
Ciência da Computação - UFMG
e-SPEED - UFMG

"Friends shouldn't help friends run Windows." - Joe Barr
___
Email certified Windows free by Debian Linux.

___
Busca Yahoo!
O serviço de busca mais completo da Internet. O que você pensar o Yahoo! 
encontra.
http://br.busca.yahoo.com/



Re: Escrever um driver

2003-02-11 Por tôpico Anderson da Silva araújo
H, mas pra que gravador de eprom? As placas mães de uns tempos 
para cá não tem um gravador da bios embutido? Eu de vez em quando 
faço o update da bios do meu computador, creio que não seria muito 
dificil carregar  esse linux-bios não, mas posso estar enganado :).

Sds,

Anderson


-Original Message-
From: "Frederico R. Marvila" <[EMAIL PROTECTED]>
To: deb-user-pt 
Date: Mon, 10 Feb 2003 18:36:50 -0300 (ART)
Subject: Re: Escrever um driver

>  --- Anderson da Silva araújo <[EMAIL PROTECTED]>
> escreveu: > Sobre o boot, mais rapido li uma vez um
> esquema de
> > colocar o linux na 
> > bios da placa, com isso o boot, se dá em 4 ou  5
> > segundos senão me 
> > engano, dá uma catada no google sobre isto que deve
> > achar mais sobre 
> > isto.
> 
> Quando fomos começar o trabalho, nos foi indicado que
> fossemos no site do Linux-BIOS (justamente sobre
> colocar o linux na BIOS do PC). O problema é que não
> temos grana pra comprar uma flash BIOS e nem é esse o
> objetivo ;) O objetivo é fazer o boot do linux começar
> mais rápido só mudando o kernel. E infelizmente não
> achei muita documentação sobre o assunto.
> 
> O maior problema é a data de entrega: 27/02/2003...
> Vamos ter de passar MUITAS noites em claro ainda
> hehehe
> 
> De qualquer forma, obrigado!
> 
> > 
> > Até mais,
> > 
> > Anderson
> 
> =
> Frederico "Ramirez" Marvila
> Ciência da Computação - UFMG
> e-SPEED - UFMG
> 
> "Friends shouldn't help friends run Windows." - Joe Barr
> ___
> Email certified Windows free by Debian Linux.
> 
> ___
> 
> Busca Yahoo!
> O melhor lugar para encontrar tudo o que você procura na Internet
> http://br.busca.yahoo.com/
> 
> 
> -- 
> To UNSUBSCRIBE, email to
> [EMAIL PROTECTED]
> with a subject of "unsubscribe". Trouble? Contact
> [EMAIL PROTECTED]
> 




Re: Escrever um driver

2003-02-10 Por tôpico Rodrigo F. Baroni
Ola' caro Fred,
 
--- "Frederico R. Marvila" <[EMAIL PROTECTED]>
escreveu: >  


 
> Só aproveitando a discussão sobre o kernel, eu e 3
> colegas estamos penando para conseguir fazer um
> kernel
> que dá boot mais rápido. Nós precisamos de
> informações
> de como o kernel inicia (desde vc ligar a máquina) e
> como é o esquema de memória dele (ex: como acessar
> memória diretamente, como as estruturas são e onde
> estão, etc.). Infelizmente foram poucos os lugares
> em
> que encontramos as informações e, a maior parte do
> kernel, não é comentada...
> 
> Se alguém souber de algum lugar pra procurar, por
> favor me falem ;) Ah, ia esquecendo, esse é um
> trabalho da matéria sistemas operacionais.
> 

  A inicializacao do linux inicia-se pelos
arquivos /usr/src/linux/arch/i386/kernel/{head.S
setup.S}. Embora sejam uns dos mais dificeis arquivos,
sugiro uma 'leitura' neles, pois sao eles os
responsaveis pelo carregamento do kernel do
dispositivo onde estao (hd, floppy,..) para a memoria,
descompacta'-lo, setar os diretorios de paginas e
tabelas de paginas da memoria virtual, definir os
segmentos base que separam o espaco do usuario do
espaco do kernel, e inicializar a execucao do kernel.
Estao escritos em assembly.

  Uma fonte para o entendimento do gerenciamento
de memoria de uma arquitetura IBM-PC, eh o volume 3
dos livros de documentacao da INTEL, o "System
Programming Guide", encontrado no site da intel, em
http://developer.intel.com/design/pentium4/manuals/245472.htm

.. Eh um excelente livro gratuito para
desenvolvedores de kernels, estudantes de
ciencias/engenharias, e hackers; notei que
***muitas*** ilustracoes dele e comenta'rios sao
utilizados em livros cla'ssicos dd computacao, de
autorias de A. Tanenbaum, Silbershwatz ...Utilizei-o
para alguns trabalhos tambe'm :) (de arquitetura de
computadores, semestre passado :) ).

 Acho muito legal saber o que acontece la'
embaixo, e o kernel eh uma fonte aberta de algoritmos
beli'ssimos. 

  
 Vai fundo, e depois mande um link para o trabalho
;)

 Um abraco!


  Rodrigo F Baroni
   Computer Science Bach's Student
   Sao Paulo, Brazil



> 
> =
> Frederico "Ramirez" Marvila
> Ciência da Computação - UFMG
> e-SPEED - UFMG
> 
> "Friends shouldn't help friends run Windows." - Joe
> Barr



___
Busca Yahoo!
O serviço de busca mais completo da Internet. O que você pensar o Yahoo! 
encontra.
http://br.busca.yahoo.com/



Re: Escrever um driver

2003-02-10 Por tôpico Frederico R. Marvila
 --- Anderson da Silva araújo <[EMAIL PROTECTED]>
escreveu: > Sobre o boot, mais rapido li uma vez um
esquema de
> colocar o linux na 
> bios da placa, com isso o boot, se dá em 4 ou  5
> segundos senão me 
> engano, dá uma catada no google sobre isto que deve
> achar mais sobre 
> isto.

Quando fomos começar o trabalho, nos foi indicado que
fossemos no site do Linux-BIOS (justamente sobre
colocar o linux na BIOS do PC). O problema é que não
temos grana pra comprar uma flash BIOS e nem é esse o
objetivo ;) O objetivo é fazer o boot do linux começar
mais rápido só mudando o kernel. E infelizmente não
achei muita documentação sobre o assunto.

O maior problema é a data de entrega: 27/02/2003...
Vamos ter de passar MUITAS noites em claro ainda
hehehe

De qualquer forma, obrigado!

> 
> Até mais,
> 
> Anderson

=
Frederico "Ramirez" Marvila
Ciência da Computação - UFMG
e-SPEED - UFMG

"Friends shouldn't help friends run Windows." - Joe Barr
___
Email certified Windows free by Debian Linux.

___
Busca Yahoo!
O melhor lugar para encontrar tudo o que você procura na Internet
http://br.busca.yahoo.com/



Re: Escrever um driver

2003-02-10 Por tôpico Gustavo Pichorim Boiko

> 
> Alguém poderia me dizer (ainda que por alto) o que se leva em conta ao 
> escrever um driver? Ou seja, o que alguém precisa saber para escrever um 
> driver para GNU/Linux? Isso se aprende na faculdade ou dá pra aprender 
> "na marra"?. Esse cara precisaria de quais informações?
>

Um bom guia é o livro Linux Device Drivers (que pode ser lido online no site da 
O'Reilly)

http://safari.oreilly.com/?XmlId=0-59600-008-1

[]'s

Gustavo

Re: Escrever um driver

2003-02-10 Por tôpico Anderson da Silva araújo
Sobre o boot, mais rapido li uma vez um esquema de colocar o linux na 
bios da placa, com isso o boot, se dá em 4 ou  5 segundos senão me 
engano, dá uma catada no google sobre isto que deve achar mais sobre 
isto.

Até mais,

Anderson



-Original Message-
From: "Frederico R. Marvila" <[EMAIL PROTECTED]>
To: deb-user-pt 
Date: Sun, 9 Feb 2003 20:34:25 -0300 (ART)
Subject: Re: Escrever um driver

>  --- "Rodrigo F. Baroni" <[EMAIL PROTECTED]>
> escreveu: > Ola' caro Wanderson, 
> > 
> > 
> > --- wanderson <[EMAIL PROTECTED]> escreveu: >
> > Alo aos programadores (ou engenheiros de soft, sei
> > > lá :)
> > > 
> > > Alguém poderia me dizer (ainda que por alto) o que
> > > se leva em conta ao 
> > > escrever um driver? Ou seja, o que alguém precisa
> > > saber para escrever um 
> > > driver para GNU/Linux? Isso se aprende na
> > faculdade
> > > ou dá pra aprender 
> > > "na marra"?. Esse cara precisaria de quais
> > > informações?
> 
> Aqui vem um detalhe: vc não aprende quase nada na
> faculdade (claro que o que aprende é suficiente para
> aprender o resto sozinho. Eu gosto disso ;)
> 
> Aprender computação é como aprender música. Uma vez
> aprendido os conceitos, aprender uma linguagem,
> aprender a programar kernel ou o que for é como alguém
> que aprende música e está trocando de instrumento. É
> só se adaptar.
> 
> As informações foram dadas pelo Baroni ;)
> 
> Só aproveitando a discussão sobre o kernel, eu e 3
> colegas estamos penando para conseguir fazer um kernel
> que dá boot mais rápido. Nós precisamos de informações
> de como o kernel inicia (desde vc ligar a máquina) e
> como é o esquema de memória dele (ex: como acessar
> memória diretamente, como as estruturas são e onde
> estão, etc.). Infelizmente foram poucos os lugares em
> que encontramos as informações e, a maior parte do
> kernel, não é comentada...
> 
> Se alguém souber de algum lugar pra procurar, por
> favor me falem ;) Ah, ia esquecendo, esse é um
> trabalho da matéria sistemas operacionais.
> 
> P.S.: desculpe, Baroni pela msg enviada a vc... era
> para ter ido para a lista toda...
> 
> Até,
> 
> =
> Frederico "Ramirez" Marvila
> Ciência da Computação - UFMG
> e-SPEED - UFMG
> 
> "Friends shouldn't help friends run Windows." - Joe Barr
> ___
> Email certified Windows free by Debian Linux.
> 
> ___
> 
> Busca Yahoo!
> O melhor lugar para encontrar tudo o que você procura na Internet
> http://br.busca.yahoo.com/
> 
> 
> -- 
> To UNSUBSCRIBE, email to
> [EMAIL PROTECTED]
> with a subject of "unsubscribe". Trouble? Contact
> [EMAIL PROTECTED]
> 




Re: Escrever um driver

2003-02-09 Por tôpico Frederico R. Marvila
 --- "Rodrigo F. Baroni" <[EMAIL PROTECTED]>
escreveu: > Ola' caro Wanderson, 
> 
> 
> --- wanderson <[EMAIL PROTECTED]> escreveu: >
> Alo aos programadores (ou engenheiros de soft, sei
> > lá :)
> > 
> > Alguém poderia me dizer (ainda que por alto) o que
> > se leva em conta ao 
> > escrever um driver? Ou seja, o que alguém precisa
> > saber para escrever um 
> > driver para GNU/Linux? Isso se aprende na
> faculdade
> > ou dá pra aprender 
> > "na marra"?. Esse cara precisaria de quais
> > informações?

Aqui vem um detalhe: vc não aprende quase nada na
faculdade (claro que o que aprende é suficiente para
aprender o resto sozinho. Eu gosto disso ;)

Aprender computação é como aprender música. Uma vez
aprendido os conceitos, aprender uma linguagem,
aprender a programar kernel ou o que for é como alguém
que aprende música e está trocando de instrumento. É
só se adaptar.

As informações foram dadas pelo Baroni ;)

Só aproveitando a discussão sobre o kernel, eu e 3
colegas estamos penando para conseguir fazer um kernel
que dá boot mais rápido. Nós precisamos de informações
de como o kernel inicia (desde vc ligar a máquina) e
como é o esquema de memória dele (ex: como acessar
memória diretamente, como as estruturas são e onde
estão, etc.). Infelizmente foram poucos os lugares em
que encontramos as informações e, a maior parte do
kernel, não é comentada...

Se alguém souber de algum lugar pra procurar, por
favor me falem ;) Ah, ia esquecendo, esse é um
trabalho da matéria sistemas operacionais.

P.S.: desculpe, Baroni pela msg enviada a vc... era
para ter ido para a lista toda...

Até,

=
Frederico "Ramirez" Marvila
Ciência da Computação - UFMG
e-SPEED - UFMG

"Friends shouldn't help friends run Windows." - Joe Barr
___
Email certified Windows free by Debian Linux.

___
Busca Yahoo!
O melhor lugar para encontrar tudo o que você procura na Internet
http://br.busca.yahoo.com/



Re: Escrever um driver

2003-02-09 Por tôpico Alan



me interessei no #kernelnewbies, qual 'e o server?
[]s
Alan Costa

>
> Alguém poderia me dizer (ainda que por alto) o que se leva em conta ao
> escrever um driver? Ou seja, o que alguém precisa saber para escrever um
> driver para GNU/Linux? Isso se aprende na faculdade ou dá pra aprender
> "na marra"?. Esse cara precisaria de quais informações?
>

Dá pra aprender "na marra". Basicamente, o cara tem que conhecer C. Não
precisa
manjar de assembly, embora isso ajude bastante. Tem que conhecer a fundo a
arquitetura para qual está escrevendo o driver.

Tem que ter o máximo de informações possíveis sobre a coisa. As vezes isso
não
é possível e é aí que entra os conhecimentos em assembly: vai ter que, por
exemplo, entrar no Windows e fazer uma engenharia reversa no driver. Nada
trivial, dá um [EMAIL PROTECTED]@#$ trabalho... dificilmente a coisa vai 
funcionar de
primeira. Tem que ter muita paciência.

Quando se tem o código do driver para outra plataforma é claro que o
trabalho
de fazer o driver é bem menor. Ah sim, as vezes é possível "escrever um novo
driver" usando um "parecido" como base...

Nunca escrevi um, já que kernel não é minha área... só sei que existem
canais
de IRC e páginas dedicadas a quem quer se aventurar nisso. Na FreeNode
(antiga
openprojects), tem o #kernelnewbies; eles tem uma página bem legal, com
alguns
tutoriais e códigos-exemplo. E, claro, gente disposta a ajudar...

--
 Leandro Pereira  (oO)   <[EMAIL PROTECTED]>
 www.mindcrisis.tk/||\ GPG key: 0x062E7976

 "Estao sorrindo de que? Estao sorrindo de quem? Eu nao estou sorrindo!
Meu nome e' Eneas, 56!" -- Eneas Carneiro


--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact
[EMAIL PROTECTED]

___
Busca Yahoo!
O serviço de busca mais completo da Internet. O que você pensar o Yahoo! 
encontra.
http://br.busca.yahoo.com/



Re: Escrever um driver

2003-02-09 Por tôpico Rodrigo F. Baroni
Ola' caro Wanderson, 


--- wanderson <[EMAIL PROTECTED]> escreveu: >
Alo aos programadores (ou engenheiros de soft, sei
> lá :)
> 
> Alguém poderia me dizer (ainda que por alto) o que
> se leva em conta ao 
> escrever um driver? Ou seja, o que alguém precisa
> saber para escrever um 
> driver para GNU/Linux? Isso se aprende na faculdade
> ou dá pra aprender 
> "na marra"?. Esse cara precisaria de quais
> informações?

No linux/unixes, os drivers sao chamados de
mo'dulos. Os mo'dulos sao co'digos objetos que
inseridos no espaco do kernel oferecem controle `a um
harwdware.

   No linux, modulos sao escritos em C . Nao eh
necessario utilizar o assembly; ha' muitas funcoes e
recursos do codigo do kernel que sao  necessarios e
utilizados para escrever os modulos - dai' que 90% eh
tudo escrito em C, trabalhando **muito** com o codigo
do kernel. Para tal entao, eh necessa'rio uma
familiarizacao e dominio da linguagem C e um estudo de
algumas partes do kernel do linux (eh necessario lidar
com algumas "structs" do kernel para escrever um
modulo, como "struct file" , "struct file operations"
"ioctl.h" ,)

   A funcao de um modulo eh ler e escrever em portas
de I/O, emitir comandos para o hardware, controlar o
fluxo de dados entre o kernel e o espaco do usuario, e
algumas outras coisas que envolvem te'cnicas de
programacao como lidar com condicoes de disputa (race
conditions), variaveis atomicas, codigos reentrantes
(..). 

   Tal conhecimento vc pode obter buscando por fontes
do kernel, lendo documentacoes sobre o assunto (o bom
do linux eh que ha' **muita** documentacao), e ter
forca de vontade para ficar buscando correspondencias
no kernel do linux e tendo paciencia e vontade de um
programador (leia-se noites varadas em busca de uma
compilacao sem erros :) e tudo rodando como esperado
).


Ha' um livro muito bom sobre o assunto :
"Linux Device Drivers  (Alessandro Rubini, ed.
Oreilly)", que recomendo fortemente aos interessados
em compra'-lo. Ha' uma versao eletronica em
http://www.xml.com/ldd/chapter/book/index.html (2nda
edicao).

   Sou um fissurado por kernel e drivers, essa eh
minha praia na computacao :) .


> (Não seria legal se TUDO funcionasse under linux?
> :-).

Seria excelente.

> 
> Wanderson
> 
> "God saves Dennis Ritchie and Brian Kerninghan".

   Essa foi boa :) , concordo que devemos muito `a
esses caras .. participaram da construcao do MULTICS,
criaram o UNIX, reescreveram o unix 2 vezes em
assembly, criaram o C, 




  Rodrigo F Baroni

Computer Science Bach's Student.
[EMAIL PROTECTED]
[EMAIL PROTECTED]


___
Busca Yahoo!
O serviço de busca mais completo da Internet. O que você pensar o Yahoo! 
encontra.
http://br.busca.yahoo.com/



Re: Escrever um driver

2003-02-09 Por tôpico José Antonio Boyd Cardoso
Câmbio de novo !

Corrigindo e complementando a minha informação anterior, até mesmo a
segunda edição está liberada "on-line":

http://safari.oreilly.com/?XmlId=0-59600-008-1

[]'s,

-- 
../)._/.Jose Antonio Boyd Cardoso
./_)()\/(/..E-mail: [EMAIL PROTECTED]
../.Registred Linux user number # 137975


Em Sun, 9 Feb 2003 09:19:33 -0200
José Antonio Boyd Cardoso <[EMAIL PROTECTED]> escreveu:

> Câmbio Wanderson !
> 
> Não é a minha praia, mas pelo que já li e ouvi, existe um "clássico"
> sobre o assunto, é o "Linux Device Drivers"  escrito pelo Alessandro
> Rubini e publicado pela editora O'Reilly.
> 
> Nesta reportagem em:
> 
> http://www.revistadolinux.com.br/ed/022/assinantes/leitura.php3
> 
> Eles anunciam a segunda edição, fazem alguns comentários e dizem que a
> O'Reilly disponibilizou a 1a edição on-line. Esta primeira edição já
> estaria "desatualizada" mas não custa dar uma olhadinha ;-)
> 
> http://safari.oreilly.com/?XmlId=1-56592-292-1
> 
> Como disse o colega Leandro, é bom conhecer C e Assembly...
> 



Re: Escrever um driver

2003-02-09 Por tôpico José Antonio Boyd Cardoso
Câmbio Wanderson !

Não é a minha praia, mas pelo que já li e ouvi, existe um "clássico"
sobre o assunto, é o "Linux Device Drivers"  escrito pelo Alessandro
Rubini e publicado pela editora O'Reilly.

Nesta reportagem em:

http://www.revistadolinux.com.br/ed/022/assinantes/leitura.php3

Eles anunciam a segunda edição, fazem alguns comentários e dizem que a
O'Reilly disponibilizou a 1a edição on-line. Esta primeira edição já
estaria "desatualizada" mas não custa dar uma olhadinha ;-)

http://safari.oreilly.com/?XmlId=1-56592-292-1

Como disse o colega Leandro, é bom conhecer C e Assembly...

Espero ter ajudado,

[]'s,

-- 
../)._/.Jose Antonio Boyd Cardoso
./_)()\/(/..E-mail: [EMAIL PROTECTED]
../.Registred Linux user number # 137975


Em Sat, 08 Feb 2003 23:14:17 -0200
wanderson <[EMAIL PROTECTED]> escreveu:

> Alo aos programadores (ou engenheiros de soft, sei lá :)
> 
> Alguém poderia me dizer (ainda que por alto) o que se leva em conta ao
> escrever um driver? Ou seja, o que alguém precisa saber para escrever
> um driver para GNU/Linux? Isso se aprende na faculdade ou dá pra
> aprender "na marra"?. Esse cara precisaria de quais informações?
> (Não seria legal se TUDO funcionasse under linux? :-).
> 
> Wanderson
> 
> "God saves Dennis Ritchie and Brian Kerninghan".



Re: Escrever um driver

2003-02-08 Por tôpico Leandro A. F. Pereira
Quoted by a barrel of crazed hamsters
For `wanderson <[EMAIL PROTECTED]>' 
On Saturday, 08 February 2003 (23:14):

> 
> Alguém poderia me dizer (ainda que por alto) o que se leva em conta ao 
> escrever um driver? Ou seja, o que alguém precisa saber para escrever um 
> driver para GNU/Linux? Isso se aprende na faculdade ou dá pra aprender 
> "na marra"?. Esse cara precisaria de quais informações?
>

Dá pra aprender "na marra". Basicamente, o cara tem que conhecer C. Não 
precisa
manjar de assembly, embora isso ajude bastante. Tem que conhecer a fundo a
arquitetura para qual está escrevendo o driver.

Tem que ter o máximo de informações possíveis sobre a coisa. As vezes 
isso não
é possível e é aí que entra os conhecimentos em assembly: vai ter que, por
exemplo, entrar no Windows e fazer uma engenharia reversa no driver. Nada
trivial, dá um [EMAIL PROTECTED]@#$ trabalho... dificilmente a coisa vai 
funcionar de
primeira. Tem que ter muita paciência.

Quando se tem o código do driver para outra plataforma é claro que o 
trabalho
de fazer o driver é bem menor. Ah sim, as vezes é possível "escrever um novo
driver" usando um "parecido" como base...

Nunca escrevi um, já que kernel não é minha área... só sei que existem 
canais
de IRC e páginas dedicadas a quem quer se aventurar nisso. Na FreeNode (antiga
openprojects), tem o #kernelnewbies; eles tem uma página bem legal, com alguns
tutoriais e códigos-exemplo. E, claro, gente disposta a ajudar...

-- 
 Leandro Pereira  (oO)   <[EMAIL PROTECTED]>
 www.mindcrisis.tk/||\ GPG key: 0x062E7976

 "Estao sorrindo de que? Estao sorrindo de quem? Eu nao estou sorrindo!
Meu nome e' Eneas, 56!" -- Eneas Carneiro