Quer um firmware OpenWrt ajustado ao seu router sem ter de preparar primeiro um ambiente completo de compilação no computador? Abra o configurador online Wei.G, escolha a origem, o alvo, os pacotes e as opções do firmware e envie o pedido para o GitHub Actions. A compilação fica a cargo da cloud.

JavaScript HTML CSS Node.js Bash YAML

Início rápido

⚠️ Gravar firmware envolve riscos. Confirme primeiro o modelo do roteador, o particionamento e o método de gravação. Se não tiver certeza, não faça o flash.

Contexto

  • 【Um ponto de partida mais simples】 Para quem quer experimentar compilar firmware próprio sem começar por montar toda a toolchain local, este projeto oferece uma entrada mais acessível.
  • 【Pacotes e dependências】 Alguns plugins e dependências precisam de ser integrados no firmware durante a compilação para poderem ser utilizados.
  • 【Configuração】 O OpenWrt tem muitas opções de build e, na China continental, as condições de rede podem tornar a transferência das dependências ainda mais difícil.
  • 【Tempo】 Uma compilação completa pode demorar várias horas e ainda assim falhar, pelo que a investigação dos erros também pode ser dispendiosa.
  • 【Objetivo】 A longo prazo, a ideia é permitir que qualquer pessoa faça fork do projeto e mantenha o seu próprio site de compilação OpenWrt com GitHub Pages + Actions.
  • 【Estado atual】 O projeto ainda está em testes. Podem existir bugs e uma utilização intensiva do workflow partilhado pode esbarrar nas políticas ou limites do GitHub.

Dispositivos suportados

No momento, apenas os alvos abaixo foram verificados. Outros dispositivos ainda não foram testados. Se você não tiver uma forma de recuperação, não use esta ferramenta.

Preparação

⚠️ Gravar firmware envolve riscos. Confirme primeiro o modelo do roteador, o particionamento e o método de gravação. Se não tiver certeza, não faça o flash.

1. Escolher parâmetros

  • Depois de escolher a fonte, pesquise o modelo ou ambiente correspondente. Também é possível carregar uma config existente.

  • Selecione Source → Branch → Target System → Subtarget → Target Profile.

    • Exemplo x86/64: ImmortalWrt → openwrt-24.10 → x86 → 64 → Generic x86/64
  • Em Advanced menuconfig › LuCI › 3. Applications, marque os aplicativos desejados.

  • Ajuste as demais opções de Advanced menuconfig conforme necessário.

Depois configure, se necessário, o fuso horário, o tema do firmware, os servidores NTP e o mirror de pacotes.

Configuração existente

Se você já tem um arquivo .config, config.buildinfo ou uma solicitação baixada anteriormente, clique em Carregar configuração na parte inferior. Na janela de confirmação, confira a fonte, a branch, o Target Profile, os plugins e as configurações do firmware.

2. Enviar a compilação

Clique em Enviar compilação na nuvem no canto inferior direito.

Escolha Baixar solicitação e abrir GitHub. O navegador baixará um arquivo JSON e abrirá automaticamente uma nova página de GitHub Issue.

Mova o arquivo baixado para a caixa do Issue e clique em Create.

O bot responderá no Issue com o link do Actions correspondente à compilação.

3. Baixar o firmware

A compilação normalmente leva de 2 a 4 horas. Quando terminar, abra a página do Actions e baixe os itens em Artifacts:

  • FIRMWARE-ALL-XXX: todos os arquivos de firmware e checksums. No primeiro flash normalmente você procurará um arquivo como factory.
  • CONFIG-XXX: configuração enviada, configuração final e diferenças. Recomenda-se guardar.
  • BUILD-LOGS-XXX: logs completos da compilação para diagnóstico.

Perguntas frequentes

  • E se a compilação falhar? Baixe BUILD-LOGS-… e verifique o último Error. Também é possível relatar o problema no Issue.
  • Como cancelar? Responda /cancel no seu Issue de compilação.
  • Quantas compilações podem rodar ao mesmo tempo? Uma conta pode executar apenas duas tarefas simultaneamente; as demais precisam aguardar.
  • Por que não há botão de download? O GitHub normalmente exige login para baixar Artifacts de Actions.
  • Fila muito longa no repositório público? No futuro será possível fazer fork deste projeto e executar as compilações no seu próprio repositório seguindo as instruções da página, evitando a fila compartilhada.

Projeto: WeiG-OpenWrt-AutoBuild

Agradecimentos