Criar um disco externo USB a partir de uma imagem no OSX

Para instalar o OSMC ou correr uma Distro como o Ubuntu (Distro – Distribuição Gnu/Linux) de um disco externo é necessário copiar para lá uma imagem de um disco.

As imagens de disco são obtidas nas próprias origens dos sistemas que queremos instalar. Até há software para ajudar a instalar essas imagens, quer se trate do OSMC, do Ubuntu ou outra imagem de distros mais conhecidas.

O problema é que na atual versão do OSX isto tudo parece falhar catastroficamente no final do processo. Os softwares de instalação de imagem insistem em montar o disco no final do processo e o disco nunca fica terminado em condições.

Para resolver a questão, recorri ao forum do Ubuntu. A solução passa por utilizar a linha de comandos da Terminal app do OSX para copiar a imagem para o disco externo USB, o que transcrevo abaixo, traduzido e com algumas adaptações:

Este procedimento irá primeiro converter uma imagem de disco do formato .iso para .img e alterar o sistema de ficheiros no disco externo USB para um disco de arranque (bootable).

Tip: No OSX podem arrastar um ficheiro do Finder para o Terminal para que o caminho do ficheiro seja introduzido no comando.

Seguem-se as instruções:

  1. Fazer download do Ubuntu Desktop
  2. Abrir o Terminal em /Applications/Utilities/ no Launcher;
  3. Converter o ficheiro .iso para .img com o seguinte comando (o caminho para o ficheiro de entrada e saída têm de ser vocês a introduzir, substituindo os exemplos) :
    hdiutil convert -format UDRW ~/path/to/ubuntu-download.iso -o ~/path/to/ubuntu.img
  4. O OS X coloca a extenção .dmg no ficheiro de saída. Convém alterarem isso depois.
  5. Executar o comando diskutil list no Terminal para obter uma lista dos devices ligados ao sistema;
  6. Insirir o disco externo USB (ou de outro tipo);
  7. Executar o comando diskutil list no Terminal de novo para identificar o nome atribuido ao disco externo (Ex: /dev/disk2)
  8. Executar o comando diskutil unmountDisk /dev/diskN no Terminal substituindo  N pelo número que foi atribuido ao disco externo
  9. Executar o comando abaixo no Terminal, substituindo /path/to/ubuntu.img pelo caminho onde a imagem da instrução no ponto 3 ficou.
    sudo dd if=/path/to/ubuntu.img of=/dev/rdiskN bs=1m

    • Ao utilizadr o caminho /dev/rdisk em lugar do /dev/disk pode aumentar a velocidade de cópia;
    • Se virem um erro dd: Invalid number '1m', estão a usar o GNU dd. No comando substituam bs=1m por bs=1M.
    • Se virem o erro dd:/devdiskN: Resource busy, garantam que o disco não está em uso. Usem a Disk Utility.app usem o comando unmount (não usem o eject).
  10. Executar diskutil eject /dev/diskN e remover o disco externo quando o comando completar.
  11. Reiniciar o Mac carregando na tecla press Alt/Option.
  12. Escolher o disco externo para iniciar com a imagem criada.

No caso da instalação da imagem do OSMC num disco externo, não façam as instruções 10 e 11. Peguem no disco criado e coloquem-no diretamente no vosso Raspberry Pi.

Neil deGrasse Tyson pede que mudem a forma como se olha para a ciência


Neil deGrasse Tyson está num vídeo a pedir aos americanos que mudem a forma como olham para a ciência.

A sua preocupação com o declínio da capacidade dos cidadãos de interpretarem o que são factos está presente neste vídeo.

Na sua opinião, as pessoas deixaram de saber distinguir os factos, e isso é a receita para que a democracia seja desmantelada.

Segundo ele, cabe à ciência disponibilizar os factos em que se baseiam as políticas. Cabe aos políticos decidir o que fazer com esses factos.

Combustíveis em subida

Preço do combustível onde abasteço - por @alvaromferro

Preço do combustível onde abasteço – por @alvaromferro

E tal como a Primavera volta todos os anos, os combustíveis voltam a subir.

A imagem do post é obtida do meu controlo diário ao preço junto a casa onde abasteço.

Há uns dias que a gasolina e o gasóleo têm vindo a subir, mas a tendência é agora visível a olho nu.

Jogo de computador Starcraft agora é free, como em grátis 

Starcraft remastered logo

Starcraft remastered

Os jogadores (como eu) que perderam horas de roda dos jogos de Real Time Strategy (RTS) nos idos anos 90, devem recordar-se do Starcraft.

O Starcraft está agora disponível de graça, free, gratis, diretamente do próprio site. Este sucesso de 1998 é-nos oferecido pela Blizzard, a mesma editora de Warcraft.

Foram corrigidos no jogo um conjunto de bugs de há muito tempo, mas isso não faz com que tenha gráficos comparáveis com os dos jogos de hoje.

Isto não invalida que continue a ser jogado por fãs e em e-Sports em países como a Coreia do Sul e Japão.

Usar uma Trust Mini Webcam WB-1200p como camera do Raspberry Pi

Trust WB 1200P webcam

Trust WB 1200P webcam

A Trus Mini WebCam era uma câmera portátil vendida há muito, muito tempo. Dava para capturar uns incríveis e espetaculares 352 x 288 pixeis.

Hoje há câmeras com muito mais capacidades que esta pequena câmera. Isso não significa que não possa ser aproveitada, nem que seja para umas experiências com o Homebridge.

Ter uma câmera dentro de casa permite criar um sistema de alarme com base na alteração do que a câmera capta. O resultado para mim foi passar a ver a última imagem capturada em caso de movimento e ter acesso ao vídeo do período do evento.

IMG_6385.jpg

Se têm um Homebridge no vosso Raspberry Pi, uma câmera e um iPhone, podem ter estas funcionalidades. Para isso terão de instalar e configurar o seguinte software:

Cada um destes componentes serve um propósito:

  • O Motion é um servidor de deteção de movimento com base em camêras compatíveis com Video for Linux (V4L2);
  • O v4l-util é o conjunto de utilitários que permite ao sistema utilizar câmeras e outros equipamentos de vídeo;
  • O Homebridge-Camera-motion é o módulo do Homebridge que permite configurar uma localização de um ficheiro especial de *nix e da última imagem capturada;
  • O fswebcam é um utilitário que permite testar a câmera.

A instalação dos componentes com através de um comando é trivial. Mais complicado é a configuração e os vários problemas que encontrei por ter um equipamento pouco recente e  algo instável.

Um dos problemas que encontrei foi quando a câmera falha, o device da câmera mudava de /dev/video0 para /dev/video1. Mesmo com regras em /etc/udev que criam um link simbólico de /dev/videoSpaceCam para /dev/video? .

Para combater isto, tive de criar um cão de guarda algo rudimentar que verifica qual o device no link simbólico e recria o link simbólico se não tiver vídeo no nome.

#!/bin/bash
SPACECAMDEV=$(ls -l /dev/videoSpaceCam | sed ‘s/.*> //’);

if [[ $SPACECAMDEV == *”video”* ]];
then
echo “SPACECAMDEV OK”
else
echo -e “$SPACECAMDEV NOK \n$(ls -la /dev/video*)”
DEVID=$(ls /dev/video? | sed ‘s/\/dev\/video//’)
rm /dev/videoSpaceCam;
ln -s /dev/video$DEVID /dev/videoSpaceCam;
fi

O script é depois chamado a cada minuto depois de configurado com o crontab.

Outro problema encontrado foi que a captura de imagem da câmera revertia sempre para um tamanho ainda mais pequeno que os incríveis e espetaculares 352 x 288 pixeis.

Para isso foi necessário configurar corretamente o motion para capturar na capacidade máxima da câmera. Isso é feito no motion.conf alterando o valor da variável v4l2_palette.

Para saber isso e outras coisas utilizei o comando v4l2-ctl:

v4l2-ctl –list-formats-ext — identificação do formato a configurar na variável v4l2_palette

v4l2-ctl –list-ctrls — lista de controles da câmera

Por último, para mostrar a imagem do último evento no iPhone, foi necessário criar um segundo cão de guarda.

O script procura a última imagem no diretório onde os eventos detetados são guardados e copia-a para o nome laspsnap.jpg para ser mostrado no iPhone.

#!/bin/bash
find /media/Media/Motion/ -maxdepth 1 -type f -name “*.jpg” -print0 | xargs -0r ls -tr  | tail -1 > lastjpeg
LASTJPEG=$(cat lastjpeg)
cp -f $LASTJPEG /media/Media/Motion/lastsnap.jpg

Guardo as imagens e filmes gerado pelo Motion num disco externo para evitar problemas de falta de espaço.

O Motion pode ser configurado para aceder remotamente a câmeras ip, o que facilita a configuração do sistema de controlo num sitio e de captura no outro.

Mac OS 7 no Raspberry Pi


Já fizemos de tudo com o Raspberry Pi.

A lista de coisas que podemos fazer com o RPi recebeu agora uma nova possibilidade: correr um sistema Mac num Raspberry Pi (RPi) 3.

O RPi3 já tem a capacidade de correr sistemas operativos a 64 bits, o que vai permitir mais coisas destas no futuro.