Como fixar o MAC Address na BeagleBoard-xM.

Olá, pessoal!

Os que já necessitaram de um endereço MAC fixo na BeagleBoard-xM devem ter encontrado alguma dificuldade, pois como não há EEPROM na placa de rede para armazená-lo, acarretando sempre uma substituição randômica deste quando o sistema operacional é reiniciado.  A criação de um script no init.d não resolve o problema, mas felizmente a solução é muito fácil com o uso do crontab. Veja a seguir o passo-a-passo.

Em modo root, crie o arquivo /usr/local/bin/changeMACaddress com o seguinte conteúdo:

#!/bin/sh
systemctl restart networking.service
ip link set eth0 down;
ip link set eth0 address 2E:5B:88:5C:FE:8B;
ip link set eth0 up;
Dê permissão de execução ao script criado:
sudo chmod +x /usr/local/bin/changeMACaddress

Chame o crontab do seguinte modo:

sudo crontab -e

Escolha o editor de sua preferência quando for solicitado, e adicione as seguintes linhas no final do arquivo:

# Change MAC Address
@reboot sleep 30 && /usr/local/bin/changeMACaddress 2>&1

Salve a alteração realizada e reinicie o sistema.

A macro @reboot irá executar o script changeMACaddress após a inicialização do SO, deste modo a placa de rede sempre receberá o mesmo endereço MAC.

Um grande abraço e até a próxima!

Jessé Lima Sá.

Referências:

[1] – Jeff Bastian’s Blog

Anúncios

Clonando cartão SD e editando o arquivo imagem para gravação em cartões menores – Exemplo de uso: Raspberry

Dica muito útil para quem precisa redimensionar a imagem do SD da Raspberry!

falexandresilva

Quando se faz necessário a cópia de um cartão com sistema operacional (com boot) é necessário realizar um processo de clonagem; este processo somente pode ser realizado para cartões de mesmo tamanho ou superior.

Abaixo descrevo os passos para adequar um arquivo de imagem clonado para tamanhos menores. Fonte de pesquisa:  canal do youtube – Dušan Ogrizović

Passo 1: Clonar o cartão no HD

Criar um diretório para os arquivos de imagem

mkdir sd-image

Entrar no diretório

cd sd-image

Verificar o nome do cartão com o comando lsblk, a saída deverá ser algo do tipo:

NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTsda           8:0    0 931,5G  0 disk ├─sda4        8:4    0   9,3G  0 part [SWAP]├─sda2        8:2    0    37G  0 part /├─sda3        8:3    0 884,8G  0 part /home└─sda1        8:1    0   512M  0 part /boot/efimmcblk0     179:0    0   7,4G  0 disk ├─mmcblk0p2 179:2    0     1K  0 part ├─mmcblk0p7 179:7   …

Ver o post original 338 mais palavras

Um jeito fácil de se ter Real Time na Raspberry.

O mundo Linux é repleto de belezas. Por uma questão ideológica, sou até suspeito para falar. No entanto, os fatos dizem por si.

Duvida? Então veja a seguir como é muito simples ter um Linux Real-Time na Raspberry. Não esqueça de executar todos os passos logado na própria.

Adicione o repositório do projeto Machinekit:

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 43DDF224

sudo sh -c \
 "echo 'deb http://deb.machinekit.io/debian raspbian main' > \
  /etc/apt/sources.list.d/machinekit.list"

sudo apt-get update

Para Raspberry Pi 2/3 com Raspbian, execute obrigatoriamente a atualização do raspberrypi-bootloader:

sudo apt-get install -y raspberrypi-bootloader

Instale o kernel:

sudo -s 

apt-get install linux-image-rpi2-rt 

cd /boot 

echo kernel=$(ls kernel_rt*.img) >> config.txt 

echo device_tree=dtbs_rt/bcm2709-rpi-2-b.dtb >> config.txt

Adicione as seguintes entradas em /boot/cmdline.txt:

dwc_otg.fiq_enable=0 dwc_otg.fiq_fsm_enable=0 dwc_otg.nak_holdoff=0

Reinicie o sistema.

Agora você tem um Linux Real-Time pronto para uso!

Para aqueles que não querem ficar dependentes de repositórios de terceiros, e que desejam ter maior domínio do que está por debaixo do capô, prometo que em breve escreverei um post ensinando detalhadamente como aplicar o RT Preempt Patch, com compilação cruzada do kernel em uma máquina Linux qualquer.

Um grande abraço e até a próxima!

Jessé Lima Sá.

Referências:

[1] – Repository Machinekit

[2] – Machinhekit RT-PREEMPT Real-Time Kernel

Atualizando o firmware da GPU no Debian/Raspbian.

Este é uma tradução livre de uma das resposta a este questionamento: como faço para atualizar firmware e software da Raspberry?

Você pode atualizar o firmware da GPU da Raspberry com rpi-update de Hexxeh. No Raspbian, basta executar:

sudo apt-get install rpi-update && sudo rpi-update

 

Um grande abraço e até a próxima!

Jessé Lima Sá.

Referências:

[1] – GitHub de Hexxeh

[2] – raspberrypi.stackexchange.com/questions/

SSH: connection reset by Raspberry.

Atualmente a Raspberry Pi tem sido o centro das atenções no meu dia-a- dia. Visando explorar o limite do seu potencial, tenho estudado com afinco este hardware, e, sempre que possível, compartilharei minhas experiências. Também deixarei algumas dicas de como solucionar problemas comumente encontrados, mesmo sabendo que há farto material na Internet, pois assim não desperdiçarei meu tempo em consultas futuras, além de, quem sabe, ajudar a outros que porventura se deparem com as mesmas questões e problemas.

Vamos ao segundo post sobre esta temática.

Usando-me do raspi-config configurei o acesso por ssh, no entanto, ao tentar conexão a partir do meu notebook, deparei-me com o seguinte erro :

$ ssh pi@10.42.0.24
Connection reset by 10.42.0.24 port 22

A solução é realmente muito simples. A partir do terminal de sua Raspberry, execute:

sudo rm /etc/ssh/ssh_host_* && sudo dpkg-reconfigure openssh-server

Reinicie seu hardware.

Se julgar necessário manter o IP fixo, a solução está aqui.

Um grande abraço e até a próxima!

Jessé Lima Sá.

Referências:

[1] – www.raspberrypi.org/documentation/

[2] – www.raspberrypi-spy.co.uk

[3] – pplware.sapo.pt

Emulando a Raspberry Pi no Ubuntu.

É sempre muito bem-vinda a comodidade de poder trabalhar ou estudar apenas com um notebook, e nada mais, especialmente para alguém que tende a ser notívago e não abre mão de fazê-lo já na cama, no sossego do seu quarto e ao lado da esposa, como eu.

Com isto em mente, deixo a seguir “uma receita de bolo” de como fazer a emulação da Raspberry Pi no Ubuntu 16.04, desta forma você poderá testá-la sem necessariamente estar de posse do seu hardware propriamente dito

O exemplo em questão é baseado na última versão do sistema operacional Raspbian Jessie Lite, disponibilizado pelo fabricante em seu site oficial, e baixado por mim hoje, 24/03/2017.

Agora, mãos à obra!

Entre no terminal e crie um diretório (podendo ser onde lhe for mais conveniente) e o acesse:

mkdir ~/raspberry-pi && cd ~/raspberry-pi

Baixe a imagem do Raspbian Jessie Lite, descompacte e a renomeie:

wget https://downloads.raspberrypi.org/raspbian_lite_latest -O raspbian_lite_latest.zip && unzip raspbian_lite_latest.zip && mv 20* rpi.img

Baixe o Qemu Kernel para o Raspbian Jessie Lite e o renomeie:

wget https://github.com/dhruvvyas90/qemu-rpi-kernel/raw/master/kernel-qemu-4.4.34-jessie && mv ker* kernel-qemu

Usando o seu editor preferido, crie o script run-voldemort-qemu-raspbian:

#!/bin/bash
# Starts raspberry pi image in configuration mode

qemu-system-arm -kernel ~/raspberry-pi/kernel-qemu -cpu arm1176 -m 256 -M versatilepb -no-reboot -serial stdio -append "root=/dev/sda2 rootfstype=ext4 rw" -hda ~/raspberry-pi/rpi.img

Dê permissão de execução para o script run-voldemort-qemu-raspbian recém criado, mas não o execute ainda:

chmod +x run-voldemort-qemu-raspbian

Instale o Qemu:

sudo apt-get update && sudo apt-get install qemu-system-x86 qemu-system-arm

Ao verificar a versão do Qemu você obterá algo similar à seguinte saída:

:~/raspberry-pi$ qemu-system-arm --version
QEMU emulator version 2.5.0 (Debian 1:2.5+dfsg-5ubuntu10.9), Copyright (c) 2003-2008 Fabrice Bellard

Associe o arquivo de imagem a um dispositivo e informe ao sistema operacional a mudança na tabela de partições:

sudo losetup /dev/loop0 ~/raspberry-pi/rpi.img && sudo partprobe /dev/loop0

Ao verificar o sistema de arquivos da imagem você obterá um resultado semelhante à seguinte saída:

:~/raspberry-pi$ fdisk -l rpi.img
Disk rpi.img: 1,3 GiB, 1393557504 bytes, 2721792 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xb2455b06

Device     Boot  Start    Fim      Setores  Size  Id Tipo
rpi.img1         8192     137215   129024   63M   c W95 FAT32 (LBA)
rpi.img2        137216   2721791  2584576  1,2G  83 Linux

Observe que o sistema de arquivos rpi.img2 inicia-se no setor 137216, sendo em bytes, portanto, igual a (512 x 137216 = 70254592). Use este valor como off-set para montar a partição, conforme mostrado a seguir:

sudo mount -v -o offset=70254592 -t ext4 /dev/loop0 /mnt/

Com seu editor preferido (no meu caso o vim) comente com # a única linha do arquivo /etc/ld.so.preload da imagem:

sudo vim /mnt/etc/ld.so.preload

Deixando-o da seguinte forma:

#/usr/lib/arm-linux-gnueabihf/libarmmem.so

Edite o arquivo /etc/fstab da imagem e comente com # todas linhas que contenham mmcblk:

sudo vim /mnt/etc/fstab

Deixando-o do seguinte modo:

proc              /proc     proc defaults 0 0
#/dev/mmcblk0p1   /boot     vfat defaults 0 2
#/dev/mmcblk0p2   /         ext4 defaults,noatime 0 1

Desmonte a partição da imagem e o dispositivo associado:

sudo umount /mnt && sudo losetup -d /dev/loop0

Finalmente execute aquele que não se podia executar, o script run-voldemort-qemu-raspbian:

./run-voldemort-qemu-raspbian

Dicas:

  • se perder o curso do mouse ao clicar na tela do Qemu, tecle Ctrl+Alt para recuperá-lo;
  • o usuário e a senha da Raspberry são pi e raspberry, respectivamente.

Pronto! Divirtam-se.

Um grande abraço e até a próxima!

Jessé Lima Sá.

Referências:

[1] – EMBEDONIX

[2] – GitHub de Dhruv Vyas

[3] – Blog do Alexandre Silva.

Como resolver o travamento do Ubuntu no notebook Avell W1511/G1511.

Por indicação de um amigo, comprei um notebook Avell TITANIUM W1511 PRO V3. Ao receber o equipamento e instalar o Ubuntu 16.04, deparei-me com um travamento completo da interface gráfica imediatamente após efetuar o login no sistema. Foi extremamente frustrante, pois eu estava necessitando da máquina para atividades de extrema urgência e grande relevância profissional. Tentei usar outros sabores do Ubuntu, mas sem êxito. Parti para outras distribuições Linux, porém não obtive sucesso também.

Neste ponto cri que havia um problema com o notebook específico que eu havia recebido. Resolvi devolvê-lo ao fabricante, que prontamente o aceitou de volta, enviando-me com brevidade outro exemplar, com configurações até superiores, o G1511 FIRE V3. No entanto, para meu desespero me deparei novamente com o mesmo problema. Resolvi buscar uma saída, e depois de algum esforço encontrei nos logs uma mensagem de falha entre o driver da ACPI e a placa de vídeo, GeForce GTX 960M. Com o fio da meada identificado encontrei no fórum da própria fabricante NVIDIA o caminho para a solução da falha em questão, dada pelo usuário lelayf .

Isto posto, deixo abaixo o passo-a-passo a ser seguido, e acrescento um complemento de configuração do BIOS que habilita o uso correto das teclas de ajuste de brilho da tela. Vale dizer que no meu caso não necessitei compilar os pacotes, como sugerido pelo usuário supra citado, simplesmente instalei o repositório e subsequentemente o pacote CUDA.

  • Abra o terminal e execute o seguinte comando para baixar o arquivo de instalação do repositório:
    wget http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/cuda-repo-ubuntu1604_8.0.44-1_amd64.deb
  • Atualize os cabeçalhos dos repositórios do seu sistema:
    sudo apt update
  • Instale o pacote de configuração do repositório:
    sudo dpkg -i cuda-repo-ubuntu1604_8.0.44-1_amd64.deb
  • Instale o pacote CUDA:
    sudo apt install cuda
  • Reinicie o sistema operacional:
    sudo reboot

 

Para habilitar o uso das teclas de ajuste de brilho:

  • tão logo o notebook comece a inicialização, pause o sistema usando a tecla F2;
  • entre no menu Advanced;
  • selecione Advanced Chipset Control e altere a opção MSHYBRID or DISCRETE Switch para o valor DISCRETE;
  • salve as configurações do BIOS e reinicialize o sistema normalmente.

Sucesso e até mais!

Jessé Lima Sá.

Referências:

  1. DevTalk NVidia