FreeBSD no Raspberry Pi

FreeBSD suporta Raspberry Pi desde novembro de 2012.

Raspberry Pi é um computador do tamanho de um cartão de crédito desenvolvido no Reino Unido pela Fundação Raspberry Pi. Todo o hardware é integrado em uma única placa. O objetivo principal é de estimular o ensino de ciência da computação básica em escolas.1 2 34 5

A Fundação Raspberry Pi começou a aceitar pedidos do modelo de US$35 a partir de 29 de fevereiro de 2012.6

O computador é baseado em um system on a chip (SoC) Broadcom BCM2835,7 que inclui um processador ARM1176JZF-S de 700 MHz, GPU VideoCore IV,8 e 512 MB de memória RAM em sua última revisão. O projeto não inclui uma memória não-volátil – como um disco rígido - mas possui uma entrada de cartão SD para armazenamento de dados.9

Como inicializar o Raspberry Pi?

A partir de janeiro de 2013, FreeBSD no Raspberry é suportado com um console de vídeo (você vai precisar de um teclado USB e display conectado) ou pode ser configurado para usar um console serial (você vai precisar de um cabo adaptador serial).

Após a ligação de vídeo, teclado e inserir o cartão SD, você deve ligar a fonte nele, para iniciar o seu Boot.

A imagem de boot do FreeBSD para Raspberry Pi tem partições FAT e partições UFS, contendo os seguintes arquivos:

  • FAT Partition
    • bootcode.bin – First stage boot
    • start.elf – Second stage boot
    • config.txt – configuration for start.elf
    • rpi.dtb – FDT file loaded via config.txt
    • uboot.bin – Third stage: U-Boot loader
    • uEnv.txt – configuration file for U-Boot
    • ubldr – Fourth stage: FreeBSD bootloader
  • UFS Partition
    • /boot/kernel – dynamic kernel
    • … rest of FreeBSD …

Como construir uma imagem:

O esquema acima pode ser utilizado para construir uma imagem manualmente. Você vai precisar das fontes U-Boot a partir de:

git://github.com/gonzoua/u-boot-pi.git

Estas fontes podem ser construídos com o FreeBSD xdev compiler.

Você também vai precisar dos arquivos de firmware de inicialização do Rasberry PI.

https://github.com/raspberrypi/firmware/tree/master/boot

Instruções originais do Oleksandr para a construção de uma imagem Raspberry Pi:

Documentado Aqui

Raspberry Pi também é apoiado pelo Crochet build tool.

Algumas dicas:

  • fluxbox trava quando invocado como ‘startfluxbox “, mas funciona quando se inicia com’ startx ‘(que então começa fluxbox):
(gdb) bt f
#0  0x20614a7c in _Unwind_SjLj_ForcedUnwind () from /lib/libgcc_s.so.1
No symbol table info available.
#1  0x2076879c in pthread_setspecific () from /lib/libc.so.7

  • libsbuf parece desencadear um SIGSEGVe sob certas condições
  • árvore de ports com WITH_NEW_XORG (revisão SVN 740-856)
  • todos os pacotes construídos sem HAL, e qualquer opção de ‘make config’ para NLS/examples/DOCS foi desligado
  • sem outras modificações significativas

Snapshots:

Snapshots do Raspberry Pi estão disponíveis aqui. Estes são em formato xz. E precisa ser descompactado antes do uso.

Redimensionar sistema de arquivos da unidade flash:

É possível aumentar o sistema de arquivos padrão usando uma combinação de gpart e growfs.

root@raspberry-pi:/home/pi # gpart show mmcsd0
=>      63  15523777  mmcsd0  MBR  (7.4G)
        63     65520       1  !12  [active]  (32M)
     65583   4128705       2  freebsd  (2G)
   4194288  11329552          - free -  (5.4G)

root@raspberry-pi:/home/pi # gpart resize -i 2 mmcsd0
mmcsd0 resized
root@raspberry-pi:/home/pi # gpart show mmcsd0
=>      63  15523777  mmcsd0  MBR  (7.4G)
        63     65520       1  !12  [active]  (32M)
     65583  15458247       2  freebsd  (7.4G)
  15523830        10          - free -  (5.0k)

root@raspberry-pi:/home/pi # reboot

[ After reboot ]

root@raspberry-pi:/home/pi # gpart show
=>      63  15523777  mmcsd0  MBR  (7.4G)
        63     65520       1  !12  [active]  (32M)
     65583  15458247       2  freebsd  (7.4G)
  15523830        10          - free -  (5.0k)

=>       0  15458247  mmcsd0s2  BSD  (7.4G)
         0   4128705         1  freebsd-ufs  (2G)
   4128705  11329542            - free -  (5.4G)

root@raspberry-pi:/home/pi # gpart resize -i 1 mmcsd0s2
mmcsd0s2a resized
root@raspberry-pi:/home/pi # gpart show mmcsd0s2
=>       0  15458247  mmcsd0s2  BSD  (7.4G)
         0  15450065         1  freebsd-ufs  (7.4G)
  15450065      8182            - free -  (4M)
root@raspberry-pi:/home/pi # growfs /
Device is mounted read-write; resizing will result in temporary write suspension for /.
It's strongly recommended to make a backup before growing the file system.
OK to grow filesystem on /dev/mmcsd0s2a, mounted on /, from 2GB to 7.4GB? [Yes/No] Yes
super-block backups (for fsck -b #) at:
 4128960, 5161152, 6193344, 7225536, 8257728, 9289920, 10322112, 11354304,
 12386496, 13418688, 14450880
Share
Etiquetas: , , , , , , , ,
Colocado em FreeBSD OpenSource por Tasca. Comentários desativados

Instalar o Apache, MySQL, PHP e phpMyAdmin no FreeBSD

Este post vai descrever como instalar e configurar o Apache, MySQL, PHP e phpMyAdmin no FreeBSD. Uma vez configurado, você vai ser capaz de usar seu servidor “AMP” para fazer o desenvolvimento web, testes de código, manter cópias locais de seus sites, entre outras coisas.

Foram utilizado as seguintes versões:

  • FreeBSD 9.1-RELEASE
  • apache22-2.2.24
  • mysql-server-5.5.30
  • php5-5.4.11
  • php5-extensions-1.7
  • phpMyAdmin-3.5.7
  • WordPress v3.5.1

Primeiramente, vamos efetuar o download da arvore do ports:

portsnap fetch
portsnap extract

Se você já tem instalado a arvore do ports, vamos apenas atualizar ela:

portsnap update

Instalando o Apache:

cd /usr/ports/www/apache22
make install clean

Uma vez que o Apache foi instalado com sucesso, adicione a seguinte linha ao /etc/rc.conf para que o serviço do Apache seja iniciado automaticamente na inicialização do sistema.

echo ‘apache22_enable=”YES”‘ >> /etc/rc.conf

Agora vamos iniciar o Apache:

/usr/local/etc/rc.d/apache22 start

Instalando o MySQL:

cd /usr/ports/databases/mysql55-server
make install clean

Adicionar o mysql para iniciar com o sistema:

echo ‘mysql_enable=”YES”‘ >> /etc/rc.conf

Agora inicie o serviço do MySQL:

/usr/local/etc/rc.d/mysql-server start

Vamos alterar a senha de root do MySQL:

/usr/local/bin/mysqladmin -u root password ‘your-password’

Instalando o PHP:

cd /usr/ports/lang/php5
make config

No menu de configuração, confirmar se está marcado para instalar o pacote Build Apache module, se não tiver, você deverá marcar ele, após isso, vamos a instalação:

make install clean

Vamos instalar as extensões do PHP, marcando as opções para instalar os pacotes necessários para funcionar com Mysql.

cd /usr/ports/lang/php5-extensions/
make config
make install clean

Instalando o PHPMyAdmin

cd /usr/ports/databases/phpmyadmin/
make config

Aqui, você deve garantir que tanto “MYSQL PHP MySQL support via mysql client” e “MYSQLI PHP Improved MySQL client support” estão selecionados, agora vamos a instalação:

make install clean

Configuração do PHP

Vamos copiar o arquivo php.ini para a pasta correta:

cp/usr/local/etc/php.ini-development /usr/local/etc/php.ini

Vamos editar o arquivo /usr/local/etc/apache22/httpd.conf com seu editor de texto preferido, procurar a seguinte linha:

DirectoryIndex index.html

Alterar para:

DirectoryIndex index.html index.php

Em seguida, acrescente as seguintes linhas ao final do arquivo, para que o suporte aos arquivos PHP funcionem corretamente, bem como o phpMyAdmin que acabamos de instalar, dando permissão de acesso a ele, que normalmente vive fora da raiz do documento do Apache.

AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

Alias /phpmyadmin “/usr/local/www/phpMyAdmin”

<Directory “/usr/local/www/phpMyAdmin”>
Options None
AllowOverride None
Order allow,deny
Allow from all
</Directory>

Vamos reiniciar o Apache:

/usr/local/etc/rc.d/apache22 restart

Seu servidor está configurado com o Apache, suportando arquivos PHP e o banco de dados MySQL.

Share
Etiquetas: , , , , , , , , , , ,
Colocado em FreeBSD por Tasca. Comentários desativados

Adicionar e deletar partição no FreeBSD

Para criar uma partição em um FreeBSD já instalado, utilizamos o seguinte comando:

[root@server1 ~]# gpart add -s 5gb -t freebsd-ufs ad4s1

Aonde 5gb é o tamanho da partição, freebsd-ufs o tipo da partição e ad4s1 o disco que vai ser adicionado essa partição.

Para visualisar as partições existente no disco, utilizamos o seguinte comando:

[root@server1 ~]# gpart list

Para apagar uma partição, utilizamos o seguinte comando:

[root@server1 ~]# gpart delete -i 5 ad4s1

Onde o número 5 é referente a letra da partição, sendo que 1 = A, 2 = B e assim pode diante, e ad4s1 o disco no qual queremos deletar alguma partição.

Share
Etiquetas: , , , , , , ,
Colocado em FreeBSD por Tasca. Comentários desativados

Vmware ESXi 5.1 iniciar automaticamente as VMs

Por padrão os hosts Vmware ESXi não iniciam as VMs automaticamente (levando em conta que você não tem o HA habilitado, entre outros recursos), vamos descrever um cenário bem básico, onde o administrador tem apenas um host ESXi, e deseja que as VMs sejam inicializadas automaticamente, caso o host(máquina fisica) seja ligado\reiniciado, para isso basta acessar o host através do VClient e na aba “Configuration” acessar a opção “Virtual Machine Startup/Shutdown”, conforme print abaixo:

Basta configurar as opções desejadas, caso acha diversas VMs é bom ficar atento a ordem para inicializar as máquinas. Também é possível configurar o desligamento da máquina.

http://maykoninfo.blogspot.com.br/2012/12/vmware-esxi-51-iniciar-automaticamente.html
Share
Etiquetas: , , , , , , ,
Colocado em Linux OpenSource por Tasca. Comentários desativados

Configurar placa Digum com modulo Dahdi no Asterisk

Primeiramente deveremos fazer a instalação do Dahdi, podemos instalar ele pelo apt:

# apt-get install dahdi-linux dahdi dahdi-source

Ou podemos fazer o download dele e compilar, sugiro essa opção.

Se você escolheu fazer o download e compilar,devemos instalar alguns pacotes necessarios para poder compilar:

# apt-get -y install bison openssl libssl-dev libusb-dev fxload libasound2-dev libc6-dev libnewt-dev libncurses5-dev zlib1g-dev gcc g++ make doxygen module-assistant build-essential

Agora sim, vamos fazer o download dos pacotes necessarios:

# wget http://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/dahdi-linux-complete-current.tar.gz
# wget http://downloads.asterisk.org/pub/telephony/libpri/releases/libpri-1.4.11.4.tar.gz

Vamos descompactar os pacotes:

# tar -xvf dahdi-linux-complete-current.tar.gz
# tar -xvf libpri-1.4.11.4.tar.gz

Compilar o pacote libpri, que é uma dependência para o Dahdi:

# cd libpri-1.4.11.4
# make
# make install

Feito isso, vamos entrar no diretorio de source do linux e fazer o download dos sources dele:

# cd /usr/src
# apt-get -y install linux-headers-`uname -r`
# ln -s /usr/src/linux-headers-`uname -r` /usr/src/linux

Agora vamos compilar o Dahdi:

# /root/mv dahdi-linux-complete-2.6.1+2.6.1/ /usr/src
# cd /usr/src/dahdi-linux-complete-2.6.1+2.6.1
# make
# make install
# make config

Vamos instalar o Dahdi Tools:

# cd /root
# wget http://downloads.asterisk.org/pub/telephony/dahdi-tools/releases/dahdi-tools-2.4.0.tar.gz
# tar -zxvf dahdi-tools-2.4.0.tar.gz
# cd dahdi-tools-2.4.0
# ./configure
# make
# make install
# make config

Pronto, os modulos do Dahdi estão instalados.

Agora vamos compilar o asterisk para suportar o modulo do Dahdi:

# cd
# wget http://downloads.asterisk.org/pub/telephony/asterisk/releases/asterisk-1.4.33.1.tar.gz
# tar zxvf asterisk-1.4.33.1.tar.gz
# cd asterisk-1.4.33.1
# ./configure

Agora vamos selecionar para compilar junto com o asterisk o Dahdi:

# make menuselect ( Selecionar em “Channel Drivers” a opção “chan_dahdi” )
# make
# make install

Para aplicar todas as configurações feitas, devemos reiniciar o servidor:

# reboot

Alguns comandos básicos para o Dahdi:

# dahdi_genconf ( vai gerar o system.conf conforme seu hardware )
# dahdi_cfg ( Para mostrar como estão as configurações do modulo )
# dahdi_hardware ( Mostra o hardware da placa reconhecida pelo dahdi )
# dahdi_test ( executa um teste de hardware)
# dahdi_scan ( procura e mostra as placas e canais configurados )

O Dahdi assim como o software antigo Zaptel, trabalha com a logica de kernel modulo e channel driver.

O arquivo /etc/dahdi/system.conf passa os parâmetros de configuração para o modulo do kernel que controla sua placa (sinalização, canais, clock, etc).

Já o arquivo chan_dadhi.conf, você ira configurar os parâmetros do channel driver do asterisk.

Logo abaixo teremos uma configuração simples para uma placa Digium TDM 410P.

# cat /etc/dahdi/system.conf

loadzone = us
defaultzone=us
channel=1
echocanceller=oslec,1-1
channel=2
echocanceller=oslec,1-2
channel=3
echocanceller=oslec,1-3
channel=4
echocanceller=oslec,1-4

#echocanceller=mg2,1-4
fxsks=1-4

# cat /etc/asterisk/chan_dahdi.conf

[channels]
language=pt_BR
usecallerid=yes
hidecallerid=no
callwaiting=yes
usecallingpres=yes
callwaitingcallerid=yes
threewaycalling=yes
transfer=yes
canpark=yes
cancallforward=yes
callreturn=yes
; cancelamento de eco ajuste com sabedoria e desde que tenha ativado no system.conf do dahdiechocancel=yes
echocancelwhenbridged=yes
echotraining=no
faxdetect=both
; Em placas Analógicas o ganho é muito importante para evitar eco e para controlar o volume
rxgain=0.0
txgain=0.0
callgroup=1
pickupgroup=1
relaxdtmf=yes
busydetect=yes
busycount=3
immediate=no
; canais e grupos
signalling=fxs_ks
group=0
; Contexto que você vai usar no Snep
context=default
cidsignalling=dtmf
cidstart=dtmf
dtmfcidlevel=256
channel => 1,2,3,4

Feito isso, sua placa digium já estará funcionando.

Se precisar recarregar o modulo:

sneppbx*CLI> module unload chan_dahdi.so
sneppbx*CLI> module load chan_dahdi.so

Share
Etiquetas: , , , , , , ,
Colocado em Linux OpenSource por Tasca. Comentários desativados

Instalando OSLEC (cancelador de eco)

OSLEC é um cancelador de eco open source de alto desempenho. Quando utilizado com o Asterisk ele funciona bem em linhas onde o cancelador de eco embutido no drive Zaptel falha. Não exige ajustes como rxgain / txgain ou fxotrain. OSLEC é fornecido com licença GPL, escrito em C e é livre para usar.

No fórum do SNEP Livre, nosso  o Jean Eduardo postou um pequeno tutorial de como instalá-lo em ambientes SNEP com placas Digium analógicas.

Pessoal pesquisando achei a instalação fácil do OSLEC é um cancelador de eco muito superior ao MG2.

Primeiro instale alguns pacotes fundamentais (aqui estou supondo que você já tenha um ambiente preparado ou até o asterisk instalado):

# aptitude -y install linux-headers-$(uname -r) build-essential linux-source-2.6.32 libncurses5-dev

Após instalar basta copiar os comandos abaixo e colar no seu terminal

# tar xfj /usr/src/linux-source-2.6.32.tar.bz2 -C /usr/src

# mv /usr/src/dahdi-linux-complete-2.6.1+2.6.1/ /usr/src/dahdi-linux-complete

# mkdir /usr/src/dahdi-linux-complete/linux/drivers/staging

# cp -R /usr/src/linux-source-2.6.32/drivers/staging/echo /usr/src/dahdi-linux-complete/linux/drivers/staging

# sed -i “s|#obj-m += dahdi_echocan_oslec.o|obj-m += dahdi_echocan_oslec.o|” /usr/src/dahdi-linux-complete/linux/drivers/dahdi/Kbuild

# sed -i “s|#obj-m += ../staging/echo/|obj-m += ../staging/echo/|” /usr/src/dahdi-linux-complete/linux/drivers/dahdi/Kbuild

# echo ‘obj-m += echo.o’ > /usr/src/dahdi-linux-complete/linux/drivers/staging/echo/Kbuild

# cd /usr/src/dahdi-linux-complete

# make all && make install && make config

Simples assim. Para confirmar se o OSLEC está instalado podemos fazer o seguinte:

Ative ele na sua placa lá em /etc/dahdi/system.conf desta forma (lembre de colocar os seus canais abaixo):

echocanceller=oslec,1-15

Feito isso reinicie o dahdi e o asterisk e rode o comando abaixo e caso você obtenha um resultado parecido é porque ele já está sendo usado.

# lsmod | grep oslec
dahdi_echocan_oslec 1426 61
echo 3408 1 dahdi_echocan_oslec
dahdi 188577 133 dahdi_echocan_oslec,xpp,dahdi_transcode,wcb4xxp,wctdm,wcfxo,wctdm24xxp,wcte11xp, wct1xxp,wcte12xp,dahdi_voicebus,wct4xxp,ap400

Share
Etiquetas: , , , , , , , , ,
Colocado em Linux OpenSource por Tasca. Comentários desativados

Atualizar FreeBSD para versão Stable

Primeiramente tem que instalar o cvsup:

# cd /usr/ports/net/cvsup-without-gui/
# make install clean

Depos disso, altere o arquivo /usr/share/examples/cvsup/stable-supfile:

default release=cvs tag=8_3
default host=cvsup.br.FreeBSD.org

Entre na pasta do source do FreeBSD:

# cd /usr/src/

E agora baixe o source:

# csup /usr/share/examples/cvsup/stable-supfile

Agora construa o mundo:

# make buildworld

Agora vamos compilar o kernel, se quiser, faça as alterações no arquivo /usr/src/sys/amd64/conf/GENERIC ou copie para outro nome e edite o arquivo copiado e após isso, vamos compilar ele:

# make buildkernel

E agora vamos instalar o kernel compilado:

# make installkernel

Após isso, vamos instalar o novo mundo criado:

# make installworld

Pronto, só reiniciar o FreeBSD que já vai estar com o novo kernel e o FreeBSD atualizado pronto para uso.
Share
Etiquetas: , , , ,
Colocado em FreeBSD por Tasca. Comentários desativados

GRUB no FreeBSD

Pequeno tutorial de como instalar e colocar para funcionar o Grub em um FreeBSD.

Primeiramente você deve instalar o Grub, fazendo isso com o comando abaixo:

pkg_add-r grub2

Preparando a estrutura dos diretórios:

cd /boot
mkdir grub
cd grub
touch grub.cfg

No arquivo grub.cfg, adicionar as seguintes linhas:

set timeout = 3
set default = “0″
menuentry “FreeBSD 8.3″ {
insmod ufs2
set root = (hd0, 1)
chainloader 1
}

set root = (hd0, 1)

Configuração feita, para que o FreeBSD esteja no Disco 1, na primeira partição.

set root = (hd0, 3)

Agora sendo que continua no disco 1 mas agora na terceira partição.
Um exemplo feito de como alterar essas opções.

Copie os arquivos para o lugar correto (/boot/grub):

cp-Rf /usr/local/lib/grub/i386-pc /boot/grub

Antes de efetuar a instalação do grub no disco MBR deve ser autorizado o FreeBSD a substituir o MBR.
Se não fizer isso, o FreeBSD não será capaz de instalar o grub no MBR.

sysctl kern.geom.debugflags = 16

Feito isso, vamos instalar o Grub.

grub-install /dev/ad0

Se tudo ocorreu bem, a mensagem a seguir será mostrada:

Installation finished. No error reported.

E assim, finalizamos a instalação do Grub2 no FreeBSD.

 

 

Share
Etiquetas: , , , ,
Colocado em FreeBSD por Tasca. Comentários desativados

Converter caixa de email Mailbox para Maildir

Converter caixas de email do Mailbox para o Maildir de uma forma bastante simples, com apenas um comando conforme mostrado abaixo:

./perfect_maildir.pl path_to_Maildir/ < mbox

Baixe a ferramenta aqui.

www.beersd.com.br/downloads/perfect_maildir.pl

Abaixo alguns exemplos de tempo que foi levado para converter as contas, é claro, que o desempenho depende muito do hardware que tem no servidor.

  • Debian GNU/Linux - Migração de cerca de 300 imap mailboxes (7Gb) levou cerca de 1 hora.
  • FreeBSD - Migração de 19000 qpoppers accounts (5Gb) cerca de 2h30.

 

Share
Etiquetas: , , , , , , , , ,
Colocado em FreeBSD Linux por Tasca. Comentários desativados

Instalação FreeBSD 8 passo a passo

O FreeBSD é um sistema operacional livre do tipo Unix descendente do BSD desenvolvido pela Universidade de Berkeley.

Está disponível para as plataformas Intel x86, DEC Alpha, Sparc, PowerPC e PC98 assim como para as arquiteturas baseadas em processadores de 64bits IA-64 e AMD64.

O FreeBSD fornece compatibilidade binária com muitas outras variações do Unix. O mesmo também é compativel com o OS GNU/Linux. A razão por trás disso está em poder utilizar programas desenvolvidos para Linux, geralmente comerciais, que só são distribuídos em forma binária e que por isso não podem ser portados para o FreeBSD sem a vontade de seus criadores.

Este post foi retirado do site http://www.remontti.com.br/blog/archives/639, todo crédito pela criação do post e das imagens vai para ele.

Vamos a instalação…

Continuar a Ler Instalação FreeBSD 8 passo a passo »

Share
Etiquetas: , , , , , , , ,
Colocado em FreeBSD por Tasca. Comentários desativados
Follow

Get every new post on this blog delivered to your Inbox.

Join other followers: