Month: June 2008

checkinstall o melhor amigo das distros com poucos pacotes

Quem está acostumado com o Debian, ou derivados deste, fica decepcionado ao usar outras distro que descobrir que não existe pacotes para vários programas. Eu citei anteriormente o caso no pidgin-sipe que está disponível para o Ubuntu, mas não para o OpenSuse.

No exemplo citado eu instalei direto do código fonte, mas depois arrependi disto, pois se eu ficar instalando programas direto do fonte, com o passar do tempo meu sistema de arquivos ficará totalmente baguncado. Mas e então como resolver o problema? “É muito simples comissário” (cite: filme brasileiro de zuacão com o batman): basta você utilizar o checkinstall, ele irá gerar o pacote a partir do código fonte compilado.

$ make
# checkinstall

Compilando o modem Intel 537 no kernel 2.6.25

Baixe o driver:
http://downloadmirror.intel.com/6801/eng/intel-537ep-2.60.80.0.tgz

Edite o arquivo coredrv/Makefile e altere CFLAGS para EXTRA_CFLAGS

Altere PM_SAVE_STATE para PM_SUSPEND_MEM no arquivo coredrv.c:
sed -i -e ‘s/PM_SAVE_STATE/PM_SUSPEND_MEM/g’ coredrv/coredrv.c
sed -i -e ‘s/SA_SHIRQ/IRQF_SHARED/g’ coredrv/coredrv.c

Bom, eu ja estava quase conseguindo resolver todos os problemas quando achei este site:
http://linmodems.technion.ac.il/packages/intel/Philippe.Vouters/

Então baixei o versão intel-537EP_secure-2.60.80.0_2008_03_22.tar.bz2

Porem a compilacão deu um pequeno erro, a solucão é simples:
Altere:
static DECLARE_WORK(clm_rx_task, (work_func_t)clm_rx_int);
Para:
static DECLARE_WORK(clm_rx_task, clm_rx_int);

Pronto, agora o driver compila sem problemas. Ainda não testei se funciona com o modem, é para o computador de uma amiga.

Enlatados modificados da Microsoft

É um absurdo como as empresas continuam a utilizar solucões ditas “abertas” da Microsoft. Atualmente o melhor exemplo disso é  o Microsoft Live Communication Server (LCS) ela teve o descaramento de usar um protocolo aberto, o SIP, e fazer modificacões proprietárias e não divulgou nada, como ela sempre faz (o conhecido Abrace e Extenda).

Felizmente um desenvolvedor resolveu criar um plugin para o Pidgin que permite aos usuarios Linux conectarem no servidor LCS: http://sipe.sourceforge.net

No Ubuntu basta instalar o pacote pidgin-sipe e o suporte será adicionado.

No OpenSuse tive que compilar a partir do código fonte, acho que esta é a maior desvantagem do OpenSuse, Fedora e outras, não ter a quantidade de pacotes disponíveis como no Debian/Ubuntu. Primeiro tive que installar o gcc e outros pacotes para compilacão, que na instalacão basica não estavam disponiveis:

# zypper install gcc make autoconf

Depois instalei o pacote de desenvolvimento do pidgin:

# zypper install pidgin-devel

O resto é o processo normal de compilacão:

pidgin-sipe-1.2>./configure –prefix=/usr

pidgin-sipe-1.2> make

pidgin-sipe-1.2# make install

De volta ao OpenSuse

Como ficou definido que cada pessoa no trabalho instalaria uma distro diferente, eu resolvi escolher o OpenSuse para conhecer melhor esta distribuicao, usuario do Debian de longa data, e recentemente do Ubuntu, seria uma otima oportunidade de mudar de ares. Inicialmente eu havia instalado o OpenSuse 10 no meu laptop de casa, porem como tive varios problemas com ele resolvi remover e voltar com o Ubuntu.

Felizmente ha algumas semanas o laptop que a empresa disponibilizaria para mim chegou e como nao tinha nenhum DVD do OpenSuse la na empresa, resolvi instalar o Fedora inicialmente, que outro amigo ja estava usando. Nao gostei de usar o Fedora, simplesmente nao me adaptei ao sistema, principalmente ao yum, ele insiste em fazer download ate da mae dele quanto eu tento instalar qualquer programa, mesmo que seja um pacote de poucos KB. Sei que no OpenSuse a estoria nao e’ diferente, mas pelo menos e’ um pouco mais rapido e o sistema e’ bem integrado.

Quem quiser saber um pouco mais sobre as novidades no OpenSuse 11 pode dar uma lida rapida neste artigo:

http://www.guiadohardware.net/noticias/2008-06/485FA7FA.html

Liberado debugger EDB 0.9

No Linux o GDB é o debugger mais usado, porém ele é mais útil quando o código fonte está disponível e a aplicacão foi compilada com os simbolos de debug (opcao -g). Quem já tentou “debugar” (depurar) um programa para o qual o código fonte não estava disponível sabe como é trabalhoso tentar fazer isso com o GDB.

Felizmente alguém resolveu criar um debugger para Linux que permite depurar programas binários de forma mais fácil e intuitiva. Este debugger chama-se EDB. Embora pouco conhecido ele  já encontra-se na versão 0.9. Até o momento apenas as arquiteruras x86/x86-64 são suportadas. Segundo o autor a próxima arquitetura a ser suportada será a ARM.
Para mais info e download:

http://www.codef00.com/projects.php#Debugger

FLPhone

A FLPhone é uma distribuicao voltada para celulares com processadores mais lentos e com pouca memória. O grande diferencial é a utilizacao da biblioteca gráfica FLTK, a mesma utilizada no Dillo-FLTK.

A escolha da biblioteca gráfica é muito importante para o sucesso do projeto, basta lembrar o caso do OpenMoko, inicialmente escolheram usar a GTK, porém com o tempo perceberam que o desempenho e o consumo de memória eram inadequados para um projeto embarcado e resolveram mudar para a EFL.

O mais interessante do projeto FLPhone é que você pode compila-lo para testar no seu computador, isto mesmo, não precisa de QEMU ou nenhum outro emulador, ele roda como um aplicativo normal no PC. Infelizmente no teste rápido que fiz apenas uma tela verde apareceu, mas como usei um Fedora todo quebrado acho que o problema é do host.

Mais info na wiki do projeto:

http://linux-on-sx1.wiki.sourceforge.net

Para compilar para seu computador acesse:

http://linux-on-sx1.wiki.sourceforge.net/Build+flphone+for+host

Dicas de compilacao no Ubuntu:
$ sudo apt-get install libjpeg-dev
$ sudo apt-get install libpng-dev
$ sudo apt-get install libx11-dev
$ sudo apt-get install libtool
$ sudo apt-get install gettext

Microsoft progredindo no reino dos supercomputadores

Há algum tempo atrás a Microsoft disse que seu próximo passo seria desenvolver um Windows que rodasse em supercomputadores. Na época ninguém deu bola, mas não podemos negar que quando ela resolve fazer algo em qualquer área ela faz, nem que seja só barulho e/ou marketing.

Atualmente se tem uma área que podemos dizer que o Linux verdadeiramente domina é na área de supercomputacao, segundo pesquisas recentes 75% dos top 500 supercomputadores rodam Linux.

Parece que a Microsoft vai tentar (espero que sem sucesso) dar um basta na festa dos nossos pinguins. Na sua primeira tentativa ela conseguiu desenvolver um supercomputador, usando o Windows HPC, que está entre os 23 mais potentes do mundo. Está na hora das empresas como IBM, HP, SUN, entre outras, se unirem para desenvolver uma distribuicao unica voltada para uso em supercomputadores. Atualmente cada empresa usa uma distribuicao diferente, como maior destaque para o uso do RedHat.
Por enquanto podemos ficar tranquilo, o primeiro lugar é nosso!

Acendendo os LEDs da iMX31PDK

volatile unsigned char *led = ((volatile unsigned char *)0xB6020000);
*led = 0xFF;

Para acender o LED usando assembly:

    /* Configure CPLD early to get LEDs working to debug */
    ldr r0, =0xB8000050
    ldr r1, #0x0000D843
    str r1, [r0]
    ldr r1, #0x22252521
    str r1, [r0, #0x04]
    ldr r1, #0x22220A00
    str r1, [r0, #0x08]

    /*Power ON all LEDs*/
    ldr r0, =0xB6020000
    mov r1, #0xFF
    strb r1, [r0]