Kankin Linux on the Raspberry pi

De Área31 Hackerspace
Revisão de 06h26min de 8 de setembro de 2013 por Coffnix (discussão | contribs)
Responsáveis: 
* Raphael Bastos
* João Santos
* Gustavo Soares - Slot

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.

Instale a imagem oficial Área 31 - Funtoo Linux Raspberry Pi

Download do stage4 oficial Área 31 Hackerspace:

https://sourceforge.net/projects/yaxkin/files/area31-hackerspace

Senha de root padrão

A senha de root padrão da imagem oficial do Área 31 Hackerspace é:

area31


Instalando Funtoo Linux em Raspberry Pi a partir do stage3 oficial

Recomendamos que todo o processo seja realizado no disco local, e apenas no final seja copiado para o SD Card em si. Por questões de praticidade e desempenho. ;)

Obtenha o stage3 oficial do Funtoo Linux compilado para ARM

wget http://ftp.osuosl.org/pub/funtoo/funtoo-current/arm-32bit/armv6j_hardfp/stage3-latest.tar.xz


Descompacte o stage 3 oficial

mkdir -p /tmp/funtoo-raspberrypi
tar xavpf stage3-armv6j_hardfp-funtoo-current-*.tar.xz -C /tmp/funtoo-raspberrypi

Instale a última versão do Portage

wget http://distfiles.gentoo.org/snapshots/portage-latest.tar.bz2
tar xjvpf portage-latest.tar.bz2 -C /tmp/funtoo-raspberrypi/usr

Instale o Kernel Linux e os modulos

A Fundação Raspberry Pi mantém uma árvore do kernel do Linux que pode ser executado no Raspberry Pi (hardware), incluindo uma versão pré-compilada que usamos aqui. siga os passos abaixo:

cd /tmp/
git clone --depth 1 git://github.com/raspberrypi/firmware/
cp firmware/boot/* /tmp/funtoo-raspberrypi/boot
cp -r firmware/modules /tmp/funtoo-raspberrypi/lib


Edite o /etc/fstab

Configure o seu de forma parecida. Respeitando o seu esquema de particionamento e o(s) sistema(s) de arquivo(s) utilizado(s).

vi /tmp/funtoo-raspberrypi/etc/fstab
/dev/mmcblk0p1		/boot		vfat		noauto,noatime	1 2
/dev/mmcblk0p2          none            swap            sw              0 0
/dev/mmcblk0p3		/		ext4		nobarrier,noatime		0 1


Dica: /dev/mmcblk0p1 equivale a /dev/sda1

Crie o arquivo cmdline.txt

Crie a linha com os parâmetros de boot do kernel

vi /tmp/funtoo-raspberrypi/boot/cmdline.txt

Com o seguinte conteúdo:

dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p3 rootfstype=ext4 elevator=deadline rootwait


Configure o timezone

Ative o timezone atual:

cp /tmp/funtoo-raspberrypi/usr/share/zoneinfo/America/Sao_Paulo /tmp/funtoo-raspberrypi/etc/localtime

Configure o timezone default:

echo "America/Sao_Paulo" > /tmp/funtoo-raspberrypi/etc/timezone



Ative acesso de root sem senha

vi /tmp/funtoo-raspberrypi/etc/shadow

Remova o asterisco, e deixe dessa forma a linha referente ao usuário root:

root::10770:0:::::

Ou crie uma senha de root (opcional)

Em primeiro lugar, gere um hash de senha. A saída deste comando será usado para modificar o arquivo /etc/shadow.
 openssl passwd -1

ou

python -c "import crypt, getpass, pwd; print crypt.crypt('password', '\$6\$SALTsalt\$')"

Adicione o hash em SUA_PASSWORD_MD5

vi /tmp/funtoo-raspberrypi/shadow 
root:SUA_PASSWORD_MD5:14698:0:::::

Configure a rede (opcional)

Configure seguindo a documentação oficial Funtoo:

http://www.funtoo.org/wiki/Funtoo_Linux_Networking


Copie os arquivos para o SD Card

Monte o SD Card:

mount /dev/mmcblk0p3 /mnt/sdcard
mount /dev/mmcblk0p1 /mnt/sdcard/boot

Sincronize os arquivos para o cartão:

rsync -avzh /tmp/funtoo-raspberrypi/ /mnt/sdcard

Desmonte e remova o cartão:

umount /mnt/sdcard/boot /mnt/sdcard


Seja feliz! :D

Qualquer dúvida, nos procure no IRC ou na lista de discussão.




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
echo 'PORTDIR_OVERLAY="/usr/local/ambro-cross-overlay"' >> /etc/portage/make.conf


= 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!"

E execute o script:
 chmod +x  ~/convert-profile-to-files.sh

  bash ~/convert-profile-to-files.sh

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

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




























 http://www.funtoo.org/wiki/Funtoo_Linux_Installation_on_ARM
Siga a documentação oficial do Gentoo, obedecendo as diferenças para o Funtoo:
 http://wiki.gentoo.org/wiki/Raspberry_Pi_Quick_Install_Guide

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


Gentoo Linux rodando em Raspberry pi

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

OpenSUSE Linux rodando em Raspberry pi

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

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
Cookies nos ajudam a entregar nossos serviços. Ao usar nossos serviços, você concorda com o uso de cookies.