Raspberry Pi - Kankin Linux Handbook on ARMv6

De Área31 Hackerspace

Requisitos

  • 01 cartão SD de pelo menos 4GB
  • 01 Raspberry Pi

PS: Consulte a lista de compatibilidade de cartões SD com o Raspberry Pi:

http://elinux.org/RPi_SD_cards#Working_.2F_Non-working_SD_cards


Instalação via Linux

Instale a imagem oficial Raspberry Pi do Área 31 Hackerspace - Kankin Linux

Faça o download da última versão estável do Kankin Linux:

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

Esquema de particionamento recomendado

Reserve cerca de 100mb para a partição VFAT, necessária para que a firmware consiga ler os parâmetros de configuração do boot, assim como arquivo de kernel, etc. SWAP é opcional, porém visto que é o padrão Kankin Linux, caso opte por apenas duas partições edite o FSTAB após instalação no cartão SD.

/dev/mmcblk0p1 = /boot (fat32)
/dev/mmcblk0p2 = swap
/dev/mmcblk0p3 = / (Padrão ext4 - Opcionais xfs ou btrfs)

Formate o cartão SD

Formate usando o EXT4:

mkfs.ext4 -O ^has_journal /dev/mmcblk0p3

Formate usando o VFAT:

mkfs.vfat /dev/mmcblk0p1

Formate a SWAP:

mkswap /dev/mmcblk0p2


Copie os arquivos para o SD Card

Monte o SD Card:

mkdir -p /mnt/sdcard && mount /dev/mmcblk0p3 /mnt/sdcard
mkdir -p /mnt/sdcard/boot & mount /dev/mmcblk0p1 /mnt/sdcard/boot

Sincronize os arquivos para o cartão:

tar xjvpf kankin-armv6j-raspberrypi-*.tar.bz2 -C /mnt/sdcard


Altere o sistema de arquivos para o desejado (opcional)

ATENÇÃO!! Caso tenha optado pelo sistema de arquivos padrão - EXT4 (recomendado) - ignore estes passos pelo óbvio.

Altere nos arquivos /boot/cmdline.txt e /etc/fstab o sistema de arquivos para o que você escolheu no passo anterior:

vi /mnt/sdcard/boot/cmdline.txt

Na linha abaixo no parâmetro rootfstype, altere de ext4 para o sistema de arquivos que você formatou:

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

E altere finalmente no /etc/fstab:

vi /mnt/sdcard/etc/fstab

Altere na linha da partição raiz de ext4 para o sistema de arquivos que você formatou:

/dev/mmcblk0p3          /               ext4           defaults        0 1


Recomendações de opções de montagem de sistemas de arquivos

Edite o arquivo /etc/fstab e altere os parâmetros da partição raiz conforme recomendado:

BTRFS

/dev/mmcblk0p3 / btrfs defaults 0 1

XFS

/dev/mmcblk0p3 / xfs defaults,noatime,nodiratime 0 1

EXT4

/dev/mmcblk0p3 / ext4 nobarrier,noatime 0 1


Desmonte e remova o cartão:

umount /mnt/sdcard/boot /mnt/sdcard


Após o primeiro boot

Sincronize a árvore do portage

eix-sync


Senha padrão

A senha de root padrão é:

area31

A senha do usuário area31 é:

area31

PS: Por default, o usuário area31 não está no grupo wheel, logo não conseguirá fazer su para root. ;) Para adicionar o usuário area31 ao grupo wheel:

usermod -G wheel area31


Configure a rede (opcional)

Configure sua rede via wicd

Inicie o WICD:

/etc/init.d/wicd start

Adicione ao boot:

echo -e "template=\"interface-noip\"" > /etc/conf.d/netif.eth0
cd /etc/init.d ; ln -s netif.tmpl netif.eth0 && rc-update add netif.eth0 && rc-update add wicd

Abra na interface gráfica o wicd e gerencie redes cabeadas e wifi. :D

ou configure seguindo a documentação oficial Funtoo:

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

Configure a rede via openRC

Configure DHCP client:

echo -e "template=\"dhcpcd\"" > /etc/conf.d/netif.eth0

Ou configure via IP estático:

echo -e "template=\"interface\"\n\
ipaddrs="192.168.254.179/24"\n\
gateway=\"192.168.254.254\"\n\
nameserver=\"192.168.154.254\""   > /etc/conf.d/netif.eth0

Adicione ao boot:

cd /etc/init.d ; ln -s netif.tmpl netif.eth0 && rc-update add netif.eth0


Configure a resolução do vídeo no boot (opcional)

Caso seja preciso ajustar a resolução HDMI, segue um exemplo de uso para um monitor antigo (jurássico) de 7", preto e branco, que era usado a cerca de 15 anos atrás.

disable_overscan=0
config_hdmi_boost=4
hdmi_force_hotplug=1
hdmi_group=2
hdmi_mode=8
hdmi_drive=2
hdmi_ignore_cec=1


Para outras opções, consulte o manual:

http://raspberrypi.stackexchange.com/tags/config.txt/info


Reboot e seja feliz! :D


Crie um arquivo de SWAP no SDcard (opcional)

dd if=/dev/zero of=/swapfile.swp bs=1024 count=512k

Formate o arquivo swap

mkswap /swapfile.swp

Adicione o arquivo swap ao fstab

/swapfile.swp          swap            swap    defaults        0 0

Corrija a permissão do arquivo

chmod 600 /swapfile.swp

Ative a swap

swapon -a


Compilação de kernel (opcional)

Kankin-kernel-3.11.6.png

Nosso kernel tem suporte aos mais populares hardwares do mercado, porém se você acha necessário recompilar ou adicionar suporte a algum hardware, ou mesmo modificar o código ao seu bel prazer, obtenha o código fonte do nosso kernel oficial compactado (linux-rpi-*.tar.bz2) e o arquivo de configuração (config-linux-rpi-*):

https://sourceforge.net/projects/kankin/files/arm-v6/raspberry-pi/sources/kernel-rpi/3.11.6-area31-hackerspace/

Descompacte o kernel oficial após o download:

mkdir -p /usr/src && tar xjvpf linux-rpi-3.11.y.tar.bz2 -C /usr/src
mv config-linux-rpi-3.11.y /usr/src/linux-rpi-3.11.y/.config

Crie o link simbólico:

cd /usr/src && ln -s linux-rpi-3.11.y linux

Acesse o diretório do kernel e edite suas preferências:

cd /usr/src/linux && make oldconfig && make menuconfig

Saia salvando, e compile o kernel:

make

Instale o kernel e os modulos:

mount /boot && make install && make modules_install

Edite o arquivo de configuração de boot caso seja necessário, e altere a flag kernel= do arquivo:

vi /boot/config.txt


Overclock (opcional)

Tunning 800mhz

arm_freq=800
core_freq=300
sdram_freq=400
over_voltage=0
force_turbo=1

Tunning 1ghz

arm_freq=1000
core_freq=500
sdram_freq=500
over_voltage=6
force_turbo=0

Para outras opções, consulte o manual:

http://raspberrypi.stackexchange.com/tags/config.txt/info