🇧🇷 Português
Este repositório contém ferramentas para construir o Hexagonix e as imagens de disco do sistema, além de permitir testá-lo em uma máquia virtual, aplicando todos os parâmetros necessários.
HX
O HX é a ferramenta responsável por unificar toda a construção do Hexagonix, criação de imagens de disco e execução de testes em uma máquina virtual. O HX aceita uma série de parâmetros para personalizar a construção do sistema e o ambiente de testes. O HX deve estar no diretório raiz da árvore de construção do Hexagonix. Veja abaixo os parâmetros aceitos.
| Parâmetro | Ação executada |
|---|---|
-h |
Exibe a ajuda com os principais parâmetros normalmente utilizados |
-v |
Inicia uma instância do qemu com a última imagem de disco gerada |
-i |
Constrói os componentes do sistema e cria uma imagem de disco (raw) e .vdi |
-b |
Constrói componentes individuais do Hexagonix (hexagon, HBoot, saturno, unixland, andromedaland ou hx, para todos) |
-u |
Atualiza todos os repositórios locais com o servidor, usando o ramo já definido |
-ui |
Atualiza apenas as imagens de disco com o servidor |
-br |
Exibe o ramo em uso para todos os repositórios |
-un |
Altera o ramo e sincroniza todos os repositórios com o ramo informado |
-m |
Verifica as dependências necessárias e clona todos os repositórios localmente |
-c |
Limpa todos os arquivos temporários criados durante uma construção do sistema |
--version |
Exibe informações de versão e copyright |
--depend |
Instala as dependências de construção (sistemas Debian, Ubuntu e derivados, apenas) |
--info |
Exibe informações do Hexagonix, como versão, revisão, ramo de desenvolvimento, etc |
--format |
Inicializa o formatter.sh, que formata e otimiza os códigos-fonte, manuais e arquivos de definição do Hexagonix |
--configure |
Executa o configure.sh para gerar os arquivos estáticos necessários para a construção |
--stats |
Exibe informações estatísticas sobre o Hexagonix (necessário cloc instalado) |
--flags |
Exibe as flags de build atualmente configuradas para o HBoot, o Hexagon e os utilitários userland |
Use hx -h para consultar a ajuda diretamente pelo terminal.
Módulos do HX
Para a construção do Hexagonix, o hx procura e executa uma série de módulos, localizados em Scripts/modules:
| Módulo | Função |
|---|---|
andromeda.hx |
Constrói todos os utilitários Hexagonix-Andromeda (utilitários gráficos) |
buildInfo.hx |
Obtêm e exibe informações sobre versão do Hexagonix, canal de desenvolvimento e build |
buildOnBSD.hx |
Constrói uma imagem de disco para a instalação do Hexagonix a partir de um sistema BSD (FreeBSD |
buildOnLinux.hx |
Constrói uma imagem de disco para a instalação do Hexagonix a partir de uma distribuição Linux |
buildOnUNIX.hx |
Constrói uma imagem de disco para a instalação do Hexagonix a partir de um sistema UNIX (OpenIndiana) |
common.hx |
Funções comuns utilizadas por todos os módulos |
contribBuilder.hx |
Executa o script de construção dos pacotes externos (como fasm) |
contribChecker.hx |
Verifica se existem pacotes externos construídos para instalação na imagem do sistema |
depend.hx |
Verifica e instala as dependências de construção, e clona os repositórios do Hexagonix |
diskBuilder.hx |
Instala os componentes do Hexagonix na imagem de disco do sistema gerada anteriormente |
fonts.hx |
Identifica e constrói fontes gráficas compatíveis com o sistema |
git.hx |
Atualiza os repositórios do sistema com o servidor remoto |
hboot.hx |
Executa a construção do componente HBoot (boot) |
hexagon.hx |
Executa a construção do componente Hexagon (kernel) |
logUtils.hx |
Funções úteis para a criação de logs de construção do sistema |
macros.hx |
Funções úteis para executar módulos a partir do utilitário hx ou de outros módulos |
saturno.hx |
Executa a construção do componente Saturno (boot) |
stat.hx |
Exibe informações estatísticas sobre o código-fonte do Hexagonix |
systemBuilder.hx |
Executa todos os módulos de construção dos componentes do sistema e os instala em um diretório temporário |
unix.hx |
Constrói todos os utilitários Unix |
vm.hx |
Permite a configuração e execução de máquinas virtuais utilizando uma imagem de disco gerada |
Nenhum módulo deve ser executado diretamente. Apenas o
hxe oconfigure.shsão feitos para execução direta pelo usuário.
Outras ferramentas
configure.sh: deve estar no diretório raiz da árvore de construção. É responsável por checar dependências e gerar os arquivos estáticos necessários à construção do Hexagonix, como a base de usuários/shadow(com as senhas emDist/etc/shadow.confjá hasheadas) e as informações de build. Sua execução pode ser iniciada diretamente ou peloHX, através dehx --configure.formatter.sh: deve estar no diretório raiz da árvore de construção. Formata e otimiza fontes gráficas, manuais e arquivos de definição do Hexagonix. Pode ser iniciado peloHX, através dehx --format.Contrib.sh: deve estar no diretório raiz da árvore de construção. É responsável por construir e/ou manipular pacotes de terceiros, como o fasmX, cujos repositórios devem estar clonados no interior do diretórioContrib.
🇬🇧 English
This repository contains tools to build Hexagonix and the system disk images, in addition to allowing you to test it in a virtual machine, applying all the necessary parameters.
HX
HX is the tool responsible for unifying all the construction of Hexagonix, creating disk images and running tests in a virtual machine. HX accepts a number of parameters to customize the system build and testing environment. The HX must be in the root directory of the Hexagonix build tree. See below for the accepted parameters.
| Parameter | Action performed |
|---|---|
-h |
Displays help with commonly used key parameters |
-v |
Starts an instance of qemu with the last generated disk image |
-i |
Builds the system components and creates a disk image (raw) and .vdi |
-b |
Builds individual Hexagonix components (hexagon, HBoot, saturno, unixland, andromedaland, or hx for all of them) |
-u |
Updates all local repositories with the server, using the already defined branch |
-ui |
Only updates disk images with the server |
-br |
Displays the branch in use for all repositories |
-un |
Changes the branch and synchronizes all repositories with the given branch |
-m |
Checks the required dependencies and clones all repositories locally |
-c |
Clears all temporary files created during a system build |
--version |
Displays version and copyright information |
--depend |
Installs build dependencies (Debian, Ubuntu and derivative systems only) |
--info |
Displays Hexagonix information such as version, revision, development branch, etc |
--format |
Starts formatter.sh, which formats and optimizes Hexagonix source code, manuals and definition files |
--configure |
Runs configure.sh to generate the static files needed for the build |
--stats |
Displays statistical information about Hexagonix (cloc installed required) |
--flags |
Displays the build flags currently configured for HBoot, Hexagon and the userland utilities |
Use hx -h to check the help directly from the terminal.
HX modules
To build Hexagonix, hx looks for and executes a series of modules, located in Scripts/modules:
| Module | Function |
|---|---|
andromeda.hx |
Builds all Hexagonix-Andromeda utilities (graphics utilities) |
buildInfo.hx |
Gets and displays information about Hexagonix version, development channel and build |
buildOnBSD.hx |
Builds a disk image for installing Hexagonix from a BSD system |
buildOnLinux.hx |
Builds a disk image for installing Hexagonix from a Linux distribution |
buildOnUNIX.hx |
Builds a disk image for installing Hexagonix from a UNIX system (OpenIndiana) |
common.hx |
Common functions used by all modules |
contribBuilder.hx |
Runs the build script for external packages (such as fasm) |
contribChecker.hx |
Checks whether there are external packages built for installation in the system image |
depend.hx |
Checks and installs build dependencies, and clones the Hexagonix repositories |
diskBuilder.hx |
Installs Hexagonix components on the previously generated system disk image |
fonts.hx |
Identifies and builds graphic fonts compatible with the system |
git.hx |
Updates the system repositories with the remote server |
hboot.hx |
Executes the construction of the HBoot component (boot) |
hexagon.hx |
Executes the construction of the Hexagon component (kernel) |
logUtils.hx |
Useful functions for creating system build logs |
macros.hx |
Useful functions for running modules from the hx utility or other modules |
saturno.hx |
Executes the construction of the Saturno component (boot) |
stat.hx |
Displays statistical information about the Hexagonix source code |
systemBuilder.hx |
Runs all system component build modules and installs them in a temporary directory |
unix.hx |
Builds all Unix utilities |
vm.hx |
Allows the configuration and execution of virtual machines using a generated disk image |
No module should be run directly. Only
hxandconfigure.share meant for direct execution by the user.
Other tools
configure.sh: must be in the root directory of the build tree. It is responsible for checking dependencies and generating the static files needed to build Hexagonix, such as the/shadowuser database (with the passwords inDist/etc/shadow.confalready hashed) and build information. It can be run directly or throughHX, viahx --configure.formatter.sh: must be in the root directory of the build tree. Formats and optimizes Hexagonix graphic fonts, manuals and definition files. Can be started byHX, viahx --format.Contrib.sh: must be in the root directory of the build tree. It is responsible for building and/or manipulating third-party packages, such as fasmX, whose repositories must be cloned inside theContribdirectory.
Licença dos scripts/Scripts License
Hexagonix Operating System
BSD 3-Clause License
Copyright (c) 2015-2026, Felipe Miguel Nery Lunkes
All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.


