WindUSB-GUI Em Rust

WindUSB-GUI :rocket:

WindUSB-GUI é uma ferramenta gráfica, baseada em Rust, para criar instaladores USB inicializáveis do Windows no Linux. É uma interface GTK4/Libadwaita baseada no script bash WindUSB CLI original.

Esta ferramenta gerencia o particionamento, a formatação (FAT32) e a divisão automática de arquivos install.wim grandes para garantir a compatibilidade com UEFI.

:hammer_and_wrench: Requisitos para Compilação

Se você estiver compilando a partir do código-fonte no Arch Linux, você precisará de:

  1. Ferramentas do Sistema:
sudo pacman -S gptfdisk wimlib rsync dosfstools util-linux rust

  1. AppImage Tool:
    Você deve baixar o appimagetool-x86_64.appimage e colocá-lo na raiz do diretório deste projeto.
    :backhand_index_pointing_right: Baixe aqui

:rocket: Como Compilar e Empacotar

Disponibilizamos um script de compilação inteligente (build.sh) que automatiza a compilação do código Rust e a coleta de todas as dependências de biblioteca necessárias.

  1. Clonar o repositório:
git clone https://github.com/SeuUsuario/WindUSB-GUI.git
cd WindUSB-GUI

  1. Definir permissões:
chmod +x appimagetool-x86_64.appimage build.sh

  1. Executar a compilação:
./build.sh

  • Primeira Execução: O script coletará todas as bibliotecas .so e ferramentas (sgdisk, wimlib) do seu sistema para dentro do WindUSB.AppDir.
  • Execuções Subsequentes: O script perguntará se você deseja re-empacotar. Se você alterou apenas o código Rust, pode pular o re-empacotamento para economizar tempo!

:warning: Status Atual

  • Testado em: Arch Linux e Linux Mint.
  • Portabilidade: O AppImage foi projetado para incluir suas próprias dependências para rodar em outras distribuições (Debian, Fedora, openSUSE), mas atualmente está em desenvolvimento ativo.

:package: Download

Verifique a seção de Releases para baixar o WindUSB-x86_64.AppImage pré-compilado mais recente.

:balance_scale: Licença

Este projeto está sob a licença GNU General Public License v3.0.

4 curtidas
2 curtidas

Que massa! talvez adicionar um aviso de aguarde a finalização do processo seria interessante, vi que na hora de fazer o split da imagem ele pode levar um tempo consideravel, entao talvez seria interessante.

2 curtidas


Valeu pela dica já esta resolvido!

2 curtidas

Quando tiver um projeto que eu possa participar adoraria! Né que seja testar compilar e rodar esse aí em mais distros pra ti. Nesse momento do desenvolvendo um desktop environment baseado em electron, kkkkk não publico ainda pq tá bem embrionário, e não deixa de ser só um projetinho pra aprendizado!

1 curtida

Tive problemas com a versão do rust. Por padrão, o repositório do Ubuntu 24.04 LTS utiliza a v1.75. O cargo requerido necessita da versão 1.82 do rust. Vou tentar reinstalar o rust manualmente para uma versão mais recente. Reporto caso haja conflito com outros pacotes da 24.04. Obg @sparrow .

Vc esta tentando compilar no ubuntu ou so rodar o appimage? Aqui no meu teste o appimage que subi para o github funcionou sem instalar nada no ubuntu 24.04.3 testei no fedora e linux mint 22.2 e debian 13
O unico q me deu problema foi o debian mas instalando o rust e uma caralhada de dependecias funcionou tmb.

1 curtida

Obrigado Bro qualquer ajuda é bem vinda!

Mostra aqui no forum quando tiver funcionando fiquei curioso :thinking:

1 curtida

Estou tentando compilar no Kubuntu 24.04 LTS. Recebo a seguinte msg:

Expliquei p vc do jeito que entendi, mas posso estar errado tb rsrsrsrs

Entendi, para compilar no ubuntu 22.04 precisa instalar as dependencias e atualizar
tipo não aconselho fazer isso na sua maquina principal, usa uma vm pq atualizar essas coisas
pode dar ruim então melhor fazer tudo numa vm e não danificar seu sistema principal se algo der errado.

sudo apt update && sudo apt install -y build-essential pkg-config libssl-dev libgtk-4-dev libadwaita-1-dev libgraphene-1.0-dev libgtk-3-dev libglib2.0-dev libpango1.0-dev libatk1.0-dev libcairo2-dev libgdk-pixbuf-2.0-dev libsoup-3.0-dev libwebkit2gtk-4.1-dev gdisk wimtools libwim-dev curl && curl --proto ‘=https’ --tlsv1.2 -sSf https://sh.rustup.rs | sh -s – -y && source $HOME/.cargo/env && rustup default stable && rustup update

Obg o suporte @sparrow . Não vou fazer isso realmente. Pode haver problemas depois.

1 curtida

Dei uma melhorada no visual e na barra de progresso.





3 curtidas