Diferenças de hardware sempre existiram, mas desde que instalei o Urubuntu, digo, Ubuntu no meu iBook e tudo funcionou exatamente igual ao meu PC, não prestei mais atenção nisso. Até o momento. Brincando com uma DWL-G122, placa Wi-Fi B/G via USB, com revisão de hardware A1, que não é chipset prism e por isso mesmo estava compilando o suporte via ndiswrapper, descobri um pequeno bug na compilação:
/usr/src/modules/ndiswrapper/misc_funcs.c:865:
warning: `regparm' attribute directive ignored
/usr/src/modules/ndiswrapper/misc_funcs.c:873:
warning: `__stdcall__' attribute directive ignored
/usr/src/modules/ndiswrapper/misc_funcs.c:873:
warning: `regparm' attribute directive ignored
{standard input}: Assembler messages: {standard input}:2719: Error: Unrecognized opcode: `movl'
make[2]: *** [/usr/src/modules/ndiswrapper/misc_funcs.o] Error 1 make[1]: ***
[_module_/usr/src/modules/ndiswrapper]
Error 2 make[1]: Leaving directory `/usr/src/linux-source-2.6.12'
make: *** [default] Error 2
Buscando no arquivo misc_funcs.c, verifiquei que fazia parte da seguinte chamada:
#ifdef CONFIG_X86_64 __asm__ __volatile__("movq %%rsp, %0\n" : "=g"(i));
#else __asm__ __volatile__("movl %%esp, %0\n" : "=g"(i));
#endif return (void *)i; }
Código assembly de X86... problema. Tentei compreender o dito e buscar um equivalente. Eis que encontrei o valioso link:
Agora fica a questão: como reescrever isso para PPC???? Será que a brincadeira vale algum tempo em cima disso?
Linux xuxu 2.6.12-10-powerpc #1 Mon Jan 16 17:38:57 UTC 2006 ppc GNU/Linux
Finalmente criei coragem e instalei o Ubuntu em meu laptop, um iBook. Primeiramente fiz um teste com o live cd, que funcionou bem (basta apertar "c" durante o boot do MacOSX para selecionar boot pelo cd). Fiz o bom e velho backup (tar cvf - -C / . | ssh backupserver -l helio "dd of=/usr/local/BKP/xuxu-fullbackup-macosx.tar") e mandei ver. Apanhei um pouco com o particionamento até descobrir que a mídia do cd de instalação estava ruim. Passado por isso, tudo correu normalmente e sem sustos.
Infelizmente acabei errando a restauração do backup e apaguei tudo o que estava salvo, perdendo duas semanas de trabalho e mails, ou seja, nada preocupante. Depois de tudo instalado, atualizei o sistema para o Kubuntu, a versão do Ubuntu baseada no ambiente kde, uma vez que concordo com Linus Torvalds sobre o fato do ambiente Gnome ser extremamente espartano em relação à usabilidade.
Os resultados foram:
Googleando na rede achei que o suporte ao DWL-G122 em Linux em:
http://anirudhs.chaosnet.org/blog/2005.10.23.html
DWL-G122 é uma interface Wi-Fi USB. Para utilizar em MacOSX, somente o DWL-122 com chipset Prism. O DWL-G122 funciona com um chipset da Ralink, que agora suporta Linux. Boa novidade já que a interface pode ser configurada via "iwconfig", muito menos arcaica e esdrúxula que o wlan-ng.
Alguém já tentou instalar o FreeRadius com suporte à EAP no Debian??? Tarefa hérculea. Essa aplicação tem uso em redes Wi-Fi com WPA para autenticação de usuário. Em Debian, o pacote freeradius existe, mas infelizmente vem sem o suporte ao EAP devido a problemas de restrição de licença, como pode ser visto nesse bug report. Garimpando a rede, encontrei uma alma caridosa que enfrentou o mesmo problema e criou um patch para compilar e criar o pacote necessário:freeradius-eaptls. Consegui compilar e criar o pacote com a versão 1.0.2 sem problemas.
É triste mas também é preciso admitir que Debian está se tornando inconveniente para uso como servidor. Como seu foco não é em Desktop (se for, algo está muuuuuuito errado), fico na dúvida em como classificar a distribuição. Dizer que é apenas uma distro conceitual não faz jus aos méritos de boa parte dos trabalhos realizados sobre a mesma. Dizer que não existem problemas também é hipocrisia. O que fazer? Estou utilizando Ubuntu como Desktop, mas confesso que gostaria de ver a própria Debian com esse mesmo nível de maturidade...