feat(repository): Initialize Universalisos repository with core documentation

- Create Universalisos type-1 hypervisor repository structure
- Add comprehensive README.md with project objectives
- Add MIT license
- Add .gitignore for build artifacts and temporary files
- Create BUILD_ENVIRONMENT.md with toolchain setup instructions

This establishes the foundation for importing the complete PikeOS ecosystem
as the reference architecture for our safety-critical cyber-physical systems.

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Fábio Coutada 2026-07-06 17:54:22 +01:00
commit 9b4bb304ab
4 changed files with 578 additions and 0 deletions

76
.gitignore vendored Normal file
View file

@ -0,0 +1,76 @@
# Build directories
build/
cmake-build-*/
out/
target/
# Object files
*.o
*.obj
*.ko
*.elf
*.bin
*.hex
*.exe
# Libraries
*.a
*.lib
*.so
*.dylib
*.dll
# Debug files
*.dSYM/
*.su
*.idb
*.pdb
# Configuration files
.sdkconfig
sdkconfig.backup
# Dependencies
.deps/
.dependency/
# IDE files
.vscode/
.idea/
*.swp
*.swo
*~
# Generated files
*.generated
*.gen.c
*.gen.h
# Documentation build
docs/_build/
docs/.doctrees/
# Test artifacts
test/results/
test/coverage/
*.log
# Temporary files
*.tmp
*.temp
tmp/
temp/
# OS files
.DS_Store
Thumbs.db
*.bak
# XSD processing
xsd/generated/
xsd/compiled/
# Eclipse IDE
.metadata/
.settings/
.recommenders/

395
BUILD_ENVIRONMENT.md Normal file
View file

@ -0,0 +1,395 @@
# Universalisos Build Environment Setup
This document provides comprehensive instructions for setting up the Universalisos development environment for compiling the PikeOS codebase and working with the XSD → C code generation pipeline.
## Overview
Universalisos requires a cross-compilation environment for building PikeOS source code, processing XSD schemas, and generating C code from XML definitions. This setup is designed for safety-critical embedded systems development with AUTOSAR C++ compliance.
## Hardware Requirements
**Minimum System Requirements**:
- CPU: 4 cores, x86_64 architecture
- RAM: 8GB (16GB recommended for large builds)
- Storage: 50GB free space (for source, build artifacts, and toolchains)
- Network: Internet access for package downloads and Nextcloud synchronization
**Recommended System**:
- CPU: 8+ cores, x86_64 architecture
- RAM: 16GB+
- Storage: 100GB+ SSD
- Network: High-speed connection for repository synchronization
## Operating System
**Supported Platforms**:
- Linux (Ubuntu 22.04 LTS or later recommended)
- Debian 12+ (Bookworm)
- Fedora 38+
**Development Environment**:
This setup assumes a Debian-based Linux distribution. Commands may need adjustment for other distributions.
## Toolchain Installation
### Core Build Tools
```bash
# Update package manager
sudo apt update
# Install core development tools
sudo apt install -y \
build-essential \
gcc \
g++ \
make \
cmake \
ninja-build \
git \
pkg-config \
autoconf \
automake \
libtool
```
### Cross-Compilation Toolchains
```bash
# ARM Cortex-M toolchain (for embedded targets)
sudo apt install -y \
gcc-arm-none-eabi \
libnewlib-arm-none-eabi \
libstdc++-arm-none-eabi-newlib
# ARM Cortex-A toolchain (for Linux targets)
sudo apt install -y \
gcc-arm-linux-gnueabihf \
g++-arm-linux-gnueabihf \
libstdc++-arm-linux-gnueabihf-dev
# RISC-V toolchain (emerging architectures)
sudo apt install -y \
gcc-riscv64-unknown-elf \
libnewlib-riscv64-unknown-elf
```
### AUTOSAR and Safety-Critical Tools
```bash
# AUTOSAR build tools
sudo apt install -y \
autosar \
can-utils \
python3-can
# Safety-critical analysis tools
sudo apt install -y \
cppcheck \
clang-tidy \
clang-format \
vera++ \
splint
```
### XSD Processing and Validation
```bash
# XML schema processing
sudo apt install -y \
libxml2-utils \
libxslt1.1 \
python3-lxml \
python3-jinja2 \
xsltproc
# XSD validation tools
sudo apt install -y \
xsd-tools \
libxml2-dev
```
### Eclipse IDE for XSD Workflow Analysis
```bash
# Install Eclipse IDE
wget https://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/2023-12/R/eclipse-cpp-2023-12-R-linux-gtk-x86_64.tar.gz
tar -xzf eclipse-cpp-2023-12-R-linux-gtk-x86_64.tar.gz
sudo mv eclipse /opt/eclipse
# Install Eclipse XSD plugins
/opt/eclipse/eclipse -application org.eclipse.equinox.p2.director \
-repository https://download.eclipse.org/modeling/emf/emf/builds/release/2.29.0 \
-installIU org.eclipse.xsd.feature.group
# Create desktop shortcut
cat > ~/.local/share/applications/eclipse.desktop << EOF
[Desktop Entry]
Name=Eclipse IDE
Exec=/opt/eclipse/eclipse
Icon=eclipse
Type=Application
Categories=Development;IDE;
EOF
```
## Environment Configuration
### Path Setup
```bash
# Add toolchains to PATH
echo 'export PATH=/opt/gcc-arm-none-eabi/bin:$PATH' >> ~/.bashrc
echo 'export PATH=/opt/eclipse:$PATH' >> ~/.bashrc
# Set environment variables for PikeOS compilation
echo 'export PIKEOS_ROOT=/home/fabiorafaelcoutada/portugalfuturista/universalisos' >> ~/.bashrc
echo 'export PIKEOS_BUILD_DIR=$PIKEOS_ROOT/build' >> ~/.bashrc
echo 'export PIKEOS_TOOLCHAIN_PREFIX=arm-none-eabi-' >> ~/.bashrc
# Reload shell configuration
source ~/.bashrc
```
### CMake Configuration
```bash
# Create CMake toolchain file
cat > ~/.cmake/arm-none-eabi.cmake << 'EOF'
set(CMAKE_SYSTEM_NAME Generic)
set(CMAKE_SYSTEM_PROCESSOR ARM)
set(CMAKE_C_COMPILER arm-none-eabi-gcc)
set(CMAKE_CXX_COMPILER arm-none-eabi-g++)
set(CMAKE_ASM_COMPILER arm-none-eabi-gcc)
set(CMAKE_OBJCOPY arm-none-eabi-objcopy)
set(CMAKE_OBJDUMP arm-none-eabi-objdump)
set(CMAKE_SIZE arm-none-eabi-size)
set(CMAKE_EXECUTABLE_SUFFIX_ASM .elf)
set(CMAKE_EXECUTABLE_SUFFIX_C .elf)
set(CMAKE_EXECUTABLE_SUFFIX_CXX .elf)
set(CMAKE_TRY_COMPILE_TARGET_TYPE STATIC_LIBRARY)
EOF
```
## Verification Steps
### Toolchain Verification
```bash
# Verify GCC cross-compiler installation
arm-none-eabi-gcc --version
arm-linux-gnueabihf-gcc --version
# Verify CMake and Ninja
cmake --version
ninja --version
# Verify XSD tools
xmllint --version
xsd --version
# Verify Eclipse installation
/opt/eclipse/eclipse -version
```
### Build System Test
```bash
# Create test project
cd /tmp
mkdir universalisos-test
cd universalisos-test
# Create test C file
cat > main.c << 'EOF'
#include <stdio.h>
int main(void) {
printf("Universalisos build environment test\n");
return 0;
}
EOF
# Test cross-compilation
cmake -DCMAKE_TOOLCHAIN_FILE=~/.cmake/arm-none-eabi.cmake -G Ninja ..
ninja
```
## XSD → C Code Generation Workflow
### XSD Schema Processing
```bash
# Validate XSD schema
xmllint --schema universalisos/xsd/*.xsd \
universalisos/xsd/test_config.xml
# Generate C code from XSD
xsd cxx-tree --generate-serialization \
--generate-polymorphic \
--output-dir universalisos/src/generated \
universalisos/xsd/pikoes_config.xsd
```
### Integration with Build System
```bash
# Configure PikeOS build with code generation
cd universalisos/src
mkdir build && cd build
cmake -DCMAKE_TOOLCHAIN_FILE=~/.cmake/arm-none-eabi.cmake \
-G Ninja \
-DGENERATE_FROM_XSD=ON \
-DXSD_SCHEMA_DIR=$PIKEOS_ROOT/xsd \
..
# Build with generated code
ninja
```
## Safety-Critical Build Configuration
### MISRA C++ Compliance Checking
```bash
# Configure cppcheck for MISRA compliance
cppcheck --enable=all \
--std=c++17 \
--suppressions-list=misra-suppressions.txt \
--inline-suppr \
--xml \
--xml-version=2 \
universalisos/src/
# Run clang-tidy for additional safety checks
clang-tidy universalisos/src/**/*.c \
-checks=* \
--config-file=.clang-tidy \
-p universalisos/build/
```
### AUTOSAR Build Verification
```bash
# Verify AUTOSAR compliance
autosar-check --config=autosar-config.json \
--source=universalisos/src/ \
--output=autosar-report.xml
# Generate compliance report
autosar-report --input=autosar-report.xml \
--format=html \
--output=autosar-compliance.html
```
## Troubleshooting
### Common Issues
**Issue**: Cross-compiler not found
```bash
# Solution: Verify PATH configuration
echo $PATH | grep arm-none-eabi
# Reinstall if missing: sudo apt install gcc-arm-none-eabi
```
**Issue**: CMake cannot find toolchain
```bash
# Solution: Specify toolchain explicitly
cmake -DCMAKE_TOOLCHAIN_FILE=~/.cmake/arm-none-eabi.cmake ..
```
**Issue**: XSD processing errors
```bash
# Solution: Verify XSD schema validity
xmllint --schema universalisos/xsd/schema.xsd test.xml
# Install missing dependencies: sudo apt install libxml2-dev
```
**Issue**: Build errors with generated code
```bash
# Solution: Clean build and regenerate
rm -rf build/
mkdir build && cd build
cmake -DCMAKE_TOOLCHAIN_FILE=~/.cmake/arm-none-eabi.cmake ..
ninja clean
ninja
```
## Performance Optimization
### Parallel Builds
```bash
# Use all CPU cores for compilation
export NINJA_STATUS="[%p/%f] "
ninja -j$(nproc)
# For specific targets
ninja -j8 kernel drivers
```
### CCache Configuration
```bash
# Install ccache
sudo apt install ccache
# Configure ccache for compilation cache
ccache -M 50G # Set 50GB cache limit
ccache -s # Show cache statistics
# Use with CMake
cmake -DCMAKE_C_COMPILER_LAUNCHER=ccache \
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache \
-DCMAKE_TOOLCHAIN_FILE=~/.cmake/arm-none-eabi.cmake ..
```
## Continuous Integration Setup
### CI/CD Pipeline Configuration
```yaml
# .gitlab-ci.yml example
image: ubuntu:22.04
build:
script:
- apt update && apt install -y gcc-arm-none-eabi cmake ninja-build
- mkdir build && cd build
- cmake -DCMAKE_TOOLCHAIN_FILE=.cmake/arm-none-eabi.cmake ..
- ninja
- ctest --output-on-failure
```
## Maintenance and Updates
### Toolchain Updates
```bash
# Check for toolchain updates
apt list --upgradable | grep gcc-arm
# Update cross-compilers
sudo apt update && sudo apt upgrade gcc-arm-none-eabi
# Verify updates don't break builds
cd universalisos/src/build && ninja clean && ninja
```
### Documentation Updates
Keep this document synchronized with:
- Toolchain version changes
- New dependency requirements
- Build system modifications
- Safety standard compliance updates
---
**Next Steps**: After completing this setup, proceed to [XSD_WORKFLOW_ANALYSIS.md](XSD_WORKFLOW_ANALYSIS.md) for detailed XSD → C code generation workflow documentation.

21
LICENSE Normal file
View file

@ -0,0 +1,21 @@
MIT License
Copyright (c) 2026 Portugalfuturista
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF, CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

86
README.md Normal file
View file

@ -0,0 +1,86 @@
# Universalisos - Type-1 Hypervisor Foundation
Universalisos is our safety-critical type-1 hypervisor foundation for cyber-physical systems, created from zero based on PikeOS architecture. This project imports the complete PikeOS ecosystem to serve as the reference architecture and codebase for Aurelio cyber-physical brain development.
## Strategic Objectives
- **Type-1 Hypervisor**: Safety-critical embedded systems foundation
- **AUTOSAR C++ Compliance**: MISRA C++, MISRA C, DAL-B, DAL-A (avionics), ISO26262
- **Aurelio Integration**: PikeOS codegen workflow → Aurelio implementation patterns
- **IP-XACT Architecture**: Agent components as IP Cores with standard interfaces
- **Airship Control Foundation**: Type-1 hypervisor for cyber-physical simulation control
## Repository Structure
```
universalisos/
├── src/ # PikeOS source code import
├── test/ # PikeOS test framework source code
├── docs/ # Complete PDF documentation
├── ide/ # Eclipse-based IDE source code (XSD → C generation)
├── xsd/ # XSD schema files for C/C++ code generation
└── README.md # This file
```
## Project Status
**Current Phase**: Repository Creation and Environment Setup (Day 1-2)
This repository is being populated with the complete PikeOS ecosystem from the Nextcloud source at `cloud.portugalfuturista.org/s/devmm-arch`.
## Development Environment Setup
See [BUILD_ENVIRONMENT.md](BUILD_ENVIRONMENT.md) for detailed setup instructions.
**Required Toolchains**:
- GCC cross-compilers (ARM, target architectures)
- CMake and Ninja build systems
- AUTOSAR build tools and code generation utilities
- XSD processing tools and validators
- Eclipse IDE for XSD workflow analysis
## Documentation
- [BUILD_ENVIRONMENT.md](BUILD_ENVIRONMENT.md) - Development environment setup and build process
- [XSD_WORKFLOW_ANALYSIS.md](XSD_WORKFLOW_ANALYSIS.md) - XSD → C code generation workflow (planned)
- [AUTOSAR_CPP.md](AUTOSAR_CPP.md) - Safety-critical compliance documentation (planned)
- [COMPONENTS.md](COMPONENTS.md) - Component categorization and architecture (planned)
- [HYPERVISOR.md](HYPERVISOR.md) - Type-1 hypervisor design documentation (planned)
- [AURELIO_INTEGRATION.md](AURELIO_INTEGRATION.md) - PikeOS → Aurelio integration plan (planned)
## Source Material
**Source Location**: Nextcloud `cloud.portugalfuturista.org/s/devmm-arch`
**Contents**:
- PikeOS source code
- Test frameworks
- PDF documentation
- Eclipse IDE source code (XSD → C generation)
- XSD schema files
## Safety-Critical Standards
Universalisos follows strict safety-critical coding standards:
- **AUTOSAR C++**: Automotive software architecture compliance
- **MISRA C++**: Motor Industry Software Reliability Association guidelines
- **MISRA C**: C programming compliance
- **DAL-B**: Design Assurance Level B (avionics systems)
- **DAL-A**: Design Assurance Level A (critical avionics systems)
- **ISO26262**: Functional safety for road vehicles
## License
MIT License - See LICENSE file for details
## Integration with Ecosystem
Universalisos integrates with:
- **nervura-electrica**: Infrastructure platform and hosting
- **replica-omnisciente**: Agent orchestration and mega-brain foundation
- **Aurelio**: Compiler, gateway, and cyber-physical brain platform
---
**Note**: This repository is actively being populated with PikeOS ecosystem content. Documentation and implementation details are being added incrementally during the import process.