Tutorial 1: Enviando Patches com Git e E-mail USP
O primeiro tutorial abordou: como enviar patches por e-mail utilizando uma conta USP (Gmail) com git send-email. O problema central é que contas USP não permitem a criação de App Passwords (pois exigem 2-Step Verification, indisponível para essas contas) e, desde ataques de segurança em 2025, o acesso via Less Secure Apps também foi bloqueado.
A solução apresentada foi utilizar OAuth 2.0 para autenticação.O tutorial detalhou duas opções:
- Opção A: Usar o
git credentialcom o helpergit-credential-gmail. Isso envolveu instalar o helper, gerar um token de acesso OAuth e configurar ogit send-emailpara usar autenticaçãoOAUTHBEARER. - Opção B: Utilizar um proxy de e-mail (
email-oauth2-proxy) rodando em um container Docker. O proxy autentica via OAuth e escuta emlocalhost:2587, agindo como um relay SMTP.
Testei a configuração com o kw send-patch, primeiro com a flag --simulate para verificar os destinatários e, depois, enviando efetivamente um commit de teste.
Tutorial 2: O iio_simple_dummy
O segundo tutorial foi sobre Industrial I/O (IIO) do kernel, usado para drivers de sensores. O foco foi o driver iio_simple_dummy, um driver focado em ajudar a entender a estrutura do IIO.
A análise começou pela estrutura struct iio_chan_spec, que descreve os canais de um dispositivo IIO. O tutorial detalhou campos como:
.type: tipo de medição (ex:IIO_VOLTAGE,IIO_ACCEL)..indexede.channel: para diferenciar múltiplos canais do mesmo tipo..info_mask_separate: atributos específicos do canal, comoraw,offsetescale..scan_indexe.scan_type: relacionados a buffer de dados para captura contínua.
Em seguida, o tutorial explorou as funções iio_dummy_read_raw() e iio_dummy_write_raw(), que implementam a leitura e escrita dos valores dos sensores. Ambas usam mutex_lock() para proteger o acesso à estrutura iio_dummy_state, que armazena o estado do dispositivo.
Lições Aprendidas
- Autenticação OAuth é fundamental para contas USP em ferramentas como
git send-email. - O subsistema IIO é complexo. O driver
iio_dummyé bom pra entender a estrutura de drivers de sensores no kernel.