Skip to content

lue93/setup-armbian-for-tvbox-with-rk3229-chip

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 

Repository files navigation

Tutorial: Instalando Armbian em TV Box com RK3229

Este guia mostra como configurar sua TV Box com chip RK3229 usando o Armbian, desde a gravação do multitool até o autologin via SSH.

É possível seguir a documentação de instalação com outros chips (amlogic, allwinner e etc), porem é necessario efetuar o teste com imagens apropriadas do armbian.

lab screen

⚠️ Requisitos importantes

  • Adaptador de cartão SD para USB
    Certifique-se de possuir um adaptador compatível. Você pode comprá-lo aqui.

  • Cartão SD com no mínimo 32GB
    É necessário um cartão com essa capacidade mínima. Você pode comprá-lo aqui.

  • Patch Cord CAT6 É necessário um patch cord para conexao estavel. Você pode comprá-lo aqui.

  • Tv Box É necessário uma tv box com rockchip. Você pode comprá-lo aqui.


🛠️ Etapa 1: Gravar o Multitool no cartão SD

Você pode baixa-lo aqui.

sudo unxz -c /home/elima/Downloads/armbian/multitool_f.img.xz | sudo dd of=/dev/sda bs=4M status=progress conv=fsync

Agora mova a imagem do armbian para a pasta images. Você pode baixa-la aqui.

⚠️ Se houver erro ao mover a imagem para a pasta images, desmonte o disco e expanda a partição MULTITOOL.


📺 Etapa 2: Preparar a TV Box com o controle remoto

Passos para configuração inicial

  1. Deixe o cartão SD posicionado na bandeja
  2. Acesse o menu Configurações da TV Box.
  3. Selecione a opção Redefinição de fábrica.
  4. Quando a tela exibir "Reiniciando", insira o cartão SD na bandeja .
  5. Aguarde o processo de boot — pode levar alguns minutos.
  6. Utilize o cabo HDMI original da TV Box para garantir compatibilidade.

⚠️ Durante essa fase, a imagem pode piscar ou apresentar pixels verdes. Isso é normal e esperado.

🔌 Conecte um teclado USB na porta da TV Box para facilitar a navegação.


📄 Etapa 3: Navegar no Multitool

Instruções passo a passo

  1. Use a seta para baixo até o fim do contrato e pressione Enter.

  2. No menu de opções, selecione:

    • 3. Erase flash → pressione Enter e aguarde.
    • Após sucesso, pressione Enter para continuar.
    • 5. Burn image to flash → pressione Enter.
    • Selecione o device → pressione Enter.
    • Selecione a imagem → pressione Enter.
    • Aguarde a gravação.
    • Ao final, pressione Enter no botão OK.
  3. Volte ao menu e selecione:

    • 7. Shutdown

🔌 Etapa 4: Preparar para o boot do Armbian

Passos para inicialização

  1. Remova os seguintes itens da TV Box:
    • Fonte da tomada
    • Teclado USB
    • Cartão SD

⚠️⚠️⚠️ Remover o cartao irá manter o multitool e armbian para utilizar em outra tv box, caso nao remova-o, o armbian utilizará como um disco com ponto de montagem. ⚠️⚠️⚠️

  1. Insira o cabo de rede RJ45 na porta Ethernet da TV Box.

  2. Reconecte o teclado na porta usb.

  3. Reconecte a fonte de energia para ligar a TV Box.

Aguarde o carregamento do Armbian.


⌨️ Etapa 5: Configuração inicial no terminal

  1. Conecte o teclado USB à TV Box.
  2. Siga os passos exibidos na tela.
  3. Ao final, você verá uma tela de login semelhante à de sistemas Linux.

🔐 Etapa 7: Acesso via SSH e ajustes finais

Após reiniciar o dispositivo:

  1. Faça login com seu usuário e senha.
  2. Acesse via SSH usando o comando:
ssh usuario@ip-local

🔓 Etapa 8: Configurar Autologin

Essa parte e necessaria para quando ocorrer reboot do sistema.

📁 Criar diretório e editar arquivo de configuração

Execute os comandos abaixo no terminal para configurar o login automático:

sudo mkdir -p /etc/systemd/system/getty@tty1.service.d
sudo nano /etc/systemd/system/getty@tty1.service.d/autologin.conf

📄 Conteudo do arquivo

Coloque o nome do seu usuario.

[Service]
ExecStart=
ExecStart=-/sbin/agetty --autologin seu-usuario --noclear %I $TERM

✅ Etapa 9: Finalização

Agora você pode:

  • Desligar o dispositivo
  • Movê-lo para junto do roteador com patch cord de classificação cat6
  • Ligá-lo novamente

🔁 O login será automático e o acesso poderá ser feito via SSH.


Extra !: Montar HD externo

⚠️ Certifique-se qual o ponto de montagem do seu disco, se necessario altere o path

sudo apt install -y ntfs-3g

sudo lsblk
sudo mkdir -p /mnt/sda
sudo mount -t ntfs-3g /dev/sda1 /mnt/sda

ls -ld /mnt/sda
sudo chown -R $USER:$USER /mnt/sda

df -h

Dica: Voce pode autoatizar a montagem no crontab com a diretiva reboot


🛡️ Recomendações finais

  • 🔒 Mude a senha para algo mais forte e seguro.
  • 🏷️ Renomeie o dispositivo para facilitar sua identificação na rede.

❤️ Feito! Sua TV Box com RK3229 está pronta para rodar Armbian com acesso remoto via SSH. 😎


[EXTRA] Configurar Nginx atrás do Tailscale

Securely expose your Nginx web server using the power of Tailscale — a zero-config VPN built on WireGuard. This guide walks you through:

  • 🔐 Configuring HTTPS with Tailscale-generated certificates
  • 🌐 Mapping host ports to your containerized Nginx instance
  • 🛡️ Restricting access to your private tailnet only

Whether you're self-hosting a dashboard, API, or static site, this setup ensures encrypted, authenticated access across your trusted devices — without opening public ports.

📦 Built for Docker environments.
🧩 Compatible with Alpine-based Nginx images.
🧠 Designed for simplicity and security.

Run these commands to create the folder where Nginx will live.

mkdir proxy
cd proxy

Run these commands to creates folder structure

mkdir /html
mkdir -p /etc/nginx/conf.d
mkdir -p /etc/ssl/certs

Go to certs folder

cd /etc/ssl/certs

Run tailscale command to generate ssl certificate for your domain machine

sudo tailscale cert machineName.tailID.ts.net

At Below files, you need replace this domain for your domain's : machineName.tailID.ts.net

This is the docker compose file that creates a nginx container, save it inside proxy folder. /proxy/docker-compose.yml

version: "3.9"

networks:
  nginx-net:
    driver: bridge

services:
  nginx:
    image: nginx:stable-alpine3.21
    container_name: nginx-proxy
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - ./html/index.html:/usr/share/nginx/html/index.html
      - ./etc/nginx/conf.d:/etc/nginx/conf.d
      - ./etc/nginx/default.conf:/etc/nginx/default.conf
      - ./etc/ssl/certs:/etc/ssl/certs

Put this file at /etc/nginx/default.conf

user  nginx;
worker_processes auto;
pid /run/nginx.pid;

events {
    worker_connections 1024;
}

http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;

    sendfile        on;
    keepalive_timeout 65;

    # Zonas de limite (opcional)
    limit_conn_zone $binary_remote_addr zone=addr:10m;
    limit_req_zone $binary_remote_addr zone=req_limit_per_ip:10m rate=5r/s;

    # Tamanho do nome de dominio
    server_names_hash_bucket_size 256;

    # Incluir sites
    include /conf.d/*.conf;

}

Put this file at /etc/nginx/conf.d/default.conf

server {
    listen 80;
    server_name machineName.tailID.ts.net;
    
    location / {
        root /usr/share/nginx/html;
        index index.html;
        try_files $uri $uri/ =404;
    }

}
server {
    listen 443 ssl;
    server_name machineName.tailID.ts.net;

    # Setup valid tls versions
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers 'HIGH:!aNULL:!MD5';
    ssl_prefer_server_ciphers off;


    ## Access and error logs.
    access_log /var/log/nginx/access.log;
    error_log  /var/log/nginx/error.log info;

    ## Keep alive timeout set to a greater value for SSL/TLS.
    keepalive_timeout 75 75;


    ssl_certificate     /etc/ssl/certs/machineName.tailID.ts.net.crt;
    ssl_certificate_key /etc/ssl/certs/machineName.tailID.ts.net.key;
    ssl_session_timeout  5m;

    ## Strict Transport Security header for enhanced security. See
    ## http://www.chromium.org/sts. I've set it to 2 hours; set it to
    ## whichever age you want.
    add_header Strict-Transport-Security "max-age=7200";


    location / {
        root /usr/share/nginx/html;
        index index.html;
        try_files $uri $uri/ =404;
    }

    
}

At proxy folder's

sudo tailscale up
docker compose up -d
curl -vk machineName.tailID.ts.net

🐞 Encontrou um Bug?

Se você encontrou algum erro, comportamento inesperado ou tem sugestões de melhoria, sua contribuição é muito bem-vinda!

Como reportar um problema

  1. Acesse a seção de Issues
  2. Clique em "New Issue".
  3. Descreva detalhadamente:
    • O que você estava tentando fazer
    • O que aconteceu de errado
    • Passos para reproduzir o problema
    • Prints de tela ou logs, se possível

Agradecemos pelo seu apoio e colaboração 💙


  • ⚠️ A formatação deste markdown foi feito com apoio do Copilot
  • ⚠️ Os links dos produtos sao monetizados

About

Este guia mostra como configurar sua TV Box com chip RK3229 usando o Armbian, desde a gravação do multitool até o autologin via SSH.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors