«

»

abr 08 2012

Imprimir Post

Usando a build-tree no SmartRouter PROJECT

O SmartRouter PROJECT é um sistema bem pequeno e limpo. Tendo um objetivo específico, não inclui ferramentas de uso geral. Por isso é bastante frequente que os usuários queiram usar a “build-tree” para compilar software adicional. Mas a “build-tree” foi feita para usar em outra distribuição Linux, num ambiente chroot. Então temos dois problemas: 1) Muita gente usa Windows; e 2) Não sei porque, mas não funciona em versões recentes do Ubuntu e derivados (no meu caso, Linux Mint 12).

Uma solução seria rodar uma distribuição Linux numa máquina virtual e colocar a “build-tree”. Mas máquina virtual consome bastante memória e processamento, então precisamos de uma versão pequena do Linux para economizar recursos. Espera ai, o SmartRouter é uma versão pequena do Linux. Vamos usar ele então. Não importa se máquina virtual ou real, usando Windows ou Linux, o que importa é ter acesso a um SmartRouter – o que você provavelmente já tem.

Baixe a srp-build.tar.bz2 e extraia em /partition. Para começar a usar a “build-tree” precisamos modificar o setdevel.sh para rodar o comando chroot da própria “build-tree”, porque no próprio SmartRouter não tem. Eu gosto de mudar também para “fixar” o caminho da “build-tree” assim não ficando dependendo de ir ao diretório dela para depois chamar o setdevel.sh. Outra coisa que gosto de acrescentar é o setdevel.sh ao PATH para chamar de qualquer lugar sem especificar o caminho. E por último, gosto de me livrar daquele menu que aparece ao fazer login, já que eu vou ficar fazendo login toda hora aquilo fica bem incômodo.

Primeiro o setdevel.sh, substitua por isso:

#!/bin/sh
DEVDIR=/partition/srp-build
$DEVDIR/usr/sbin/chroot $DEVDIR /etc/setdevel-script

O restante deveria ser feito modificando o arquivo /root/.profile, mas esse arquivo é bem difícil de mudar e nem sempre resolve o problema. Então prefiro colocar alguns comandos no /etc/rc.d/rc.local para fazer isso. Acrescente os seguintes comandos (se já tem algo lá, mantenha apenas acrescente):

ln -s /partition/srp-build/setdevel.sh /usr/bin
sed -i /menu/d /root/.profile

Faça backup. Se você não quer reiniciar, execute estes mesmos comandos que você inseriu no rc.local. Ou execute o rc.local, se você não tiver mais nada lá.

Pronto, agora você já pode chamar o setdevel.sh de qualquer lugar e começar a compilar software no próprio SmartRouter. Agora como transformar o que você compilou num addon já é assunto separado. Por enquanto, se for algo simples, você pode ir usando o truque de colocar eles em /partition e usar o rc.local para criar links nos locais certos.

Sobre o autor

br_lemes

Técnico de Informática da Prefeitura Municipal de Apiacás - MT

Link permanente para este artigo: http://www.smartrouter.com.br/press/2012/04/08/usando-a-build-tree-no-smartrouter-project/