Kankin Linux on the Raspberry pi

De Área31 Hackerspace
Revisão de 20h19min de 23 de setembro de 2013 por Coffnix (discussão | contribs)
Responsáveis: 
* Raphael Bastos
* João Santos
Kankin Linux on ARMv6 (Raspberry Pi)

Conseguimos homologar o Funtoo Linux no Raspberry Pi. A estabilidade e economia de consumo de recursos, já conhecida dos sistemas Gentoo se mantém nesse tipo de hardware.

Conheça nossa distribuição oficial, nascida dentro do Área 31 Hackerspace:

https://sourceforge.net/projects/kankin/

Assista um vídeo do sistema funcionando:

http://www.youtube.com/watch?v=CJ-P8O4USL8






Configure o Cross-Compiling

Utilizaremos o overlay ambro-cross, visto que é bem estável. Mais infos:

https://code.google.com/p/ambro-cross-overlay/wiki/Instructions

Server/node cluster distcc (compilação distribuída)

Configure o ambiente para compilação cruzada:

cd /usr/local
svn checkout https://ambro-cross-overlay.googlecode.com/svn/trunk/ ambro-cross-overlay

Adicione ao seu make.conf:

PORTDIR_OVERLAY="
/usr/local/portage-crossdev
/usr/local/ambro-cross-overlay"

Converta o diretório /etc/portage

Crie um script para converter o /etc/portage para o padrão de diretórios

vi ~/convert-profile-to-files.sh
#!/bin/bash
PROFILE_DIR="/etc/portage"

if [ ! -e ${PROFILE_DIR} ]; then
  mkdir ${PROFILE_DIR};
fi;

for PACK_DIR in package.accept_keywords package.keywords package.use package.unmask package.mask; do
  CUR_DIR="${PROFILE_DIR}/${PACK_DIR}"
  if [ ! -e ${CUR_DIR} ]; then
    mkdir ${CUR_DIR}
  fi

  if [ -e ${CUR_DIR} -a ! -d ${CUR_DIR} ]; then
    mv ${CUR_DIR} ${CUR_DIR}.moving
    mkdir ${CUR_DIR}
    mv ${CUR_DIR}.moving ${CUR_DIR}/monolithic
  fi
done

echo "Completed!"

Execute o script criado

chmod +x  ~/convert-profile-to-files.sh
 bash ~/convert-profile-to-files.sh

Instale o crossdev

Desmascare a última versão do crossdev:

echo "sys-devel/crossdev" >> /etc/portage/package.keywords/monolithic

Construa a ferramenta de compilação cruzada

mkdir /usr/local/portage-crossdev

Compile o ambiente armv6j-hardfloat-linux-gnueabi usando o crossdev:

crossdev --ov-output /usr/local/portage-crossdev --stable armv6j-hardfloat-linux-gnueabi



Instale os softwares

OctoPrint

Instale as dependências

Flask-principal
cd /opt ; git clone https://github.com/mattupstate/flask-principal.git
cd flask-principal ; python setup.py install

tornadIO2
cd /opt ; git clone git://github.com/mrjoes/tornadio2.git 
cd tornadio2 ; python setup.py install
Compile as dependências disponibilizadas no portage
emerge dev-python/pyyaml dev-perl/YAML-Syck www-servers/tornado dev-perl/yaml dev-python/flask-login dev-python/flask dev-python/itsdangerous dev-python/werkzeug dev-python/numpy media-video/mjpg-streamer dev-python/jinja virtual/python-json dev-python/simplejson dev-python/redis-py dev-python/pycurl dev-python/pyserial dev-python/blinker media-gfx/imagemagick dev-vcs/git
instale o OctoPrint
cd /opt ; git clone https://github.com/foosel/OctoPrint.git


Execute o OctoPrint

Execute como usuário pi:

su - pi
/opt/OctoPrint/run
2013-09-09 03:25:58,887 - octoprint.server - INFO - Listening on http://0.0.0.0:5000

Acesse via browser

Acesse na porta 5000 o ip ao qual o raspberry está configurado:

Caso surja uma tela solicitando criação de login, crie conforme desejado:

Octoprint-tela01.png

Após efetuar login, utilize seu OctoPrint:

Octoprint-tela02.png








Controle de impressoras 3D usando Raspberry pi

Este projeto consiste no uso de hardware Raspberry Pi no controle, monitoramento e gerenciamento de impressoras 3D.

http://www.youtube.com/watch?v=yHt1eRLJSaA


Servidor web octoprint

http://www.adafruit.com/blog/2013/02/14/untether-your-3-d-printer-with-a-35-raspberry-pi-3dthursday/
https://github.com/foosel/OctoPrint/wiki/Setup-on-a-Raspberry-Pi-running-Raspbian


https://github.com/foosel/OctoPrint

Servidor web printerface

http://walter.schreppers.com/index.php?page=blogpost&pos=98
https://github.com/w-A-L-L-e/printerface




Referências

http://www.0x1.be/esa/dev/2013/04/20/raspberry-howto-linux-crosstool-ng/
http://www.bootc.net/archives/2012/05/26/how-to-build-a-cross-compiler-for-your-raspberry-pi/
http://archlinuxarm.org/forum/viewtopic.php?f=31&t=3849
https://wiki.gentoo.org/wiki/Distcc/Cross-Compiling
http://jeremy-nicola.info/portfolio-item/cross-compilation-distributed-compilation-for-the-raspberry-pi/
http://wiki.gentoo.org/wiki/Raspberry_Pi_Kernel_Compilation
http://wiki.gentoo.org/wiki/Raspberry_Pi_Cross_building
http://forums.gentoo.org/viewtopic-p-7122062.html
http://wiki.gentoo.org/wiki/Raspberry_Pi_Quick_Install_Guide#Overclocking
http://wiki.gentoo.org/wiki/Raspberry_Pi_Kernel_Compilation



Funtoo Linux rodando em Raspberry pi

http://www.funtoo.org/wiki/Raspberry_Pi
http://www.funtoo.org/wiki/Funtoo_Linux_Installation_on_ARM

Gentoo Linux rodando em Raspberry pi

http://wiki.gentoo.org/wiki/Raspberry_Pi

Siga a documentação oficial do Gentoo, obedecendo as diferenças para o Funtoo:

http://wiki.gentoo.org/wiki/Raspberry_Pi_Quick_Install_Guide


Entenda a arquitetura ARM:

http://linuxabordo.com.br/download/artigos/executando_linux_proc_arn_via_qemu.pdf


OpenSUSE Linux rodando em Raspberry pi

http://en.opensuse.org/openSUSE:Raspberry_Pi