Giter Club home page Giter Club logo

qubes-windows-tools-cross's Introduction

This repository is intended to make available Qubes Windows Tools cross compilation with official build environment (aka qubes-builder). It has been tested with R4.1 pre-release version based on Fedora 32 dom0 and Fedora 33 Template VM. In addition to Qway Qubes repository project it has source codes and binaries verification based on git modules and sha512 control sum.

Here is short how-to instructions to build using disposable VM in Qubes R4.1 pre-release. It requires additional private disk space to get all work, 10G is enough.

  1. Setup build environment
cd ~
sudo dnf -y install git make mock
git clone https://github.com/QubesOS/qubes-builder
cd qubes-builder
make install-deps
make remount
make BUILDERCONF=example-configs/qubes-os-r4.1.conf COMPONENTS=builder-rpm get-sources
  1. Get QWT sources and extra binaries
make BUILDERCONF=example-configs/qubes-os-r4.1.conf BASEURL=https://github.com GIT_PREFIX=tabit-pro/qubes- INSECURE_SKIP_CHECKING=windows-tools-cross COMPONENTS=windows-tools-cross get-sources
  1. Build QWT iso
make BUILDERCONF=example-configs/qubes-os-r4.1.conf COMPONENTS=windows-tools-cross windows-tools-cross-dom0
  1. Extract result package in disposable VM to get temporary CDROM device available [Note: you may need to add --nosignature to the rpm invocation to extract the ISO.]
sudo rpm -Uhv qubes-packages-mirror-repo/dom0-fc32/rpm/qubes-windows-tools*.noarch.rpm
sudo losetup -f /usr/lib/qubes/qubes-windows-tools.iso
  1. Install QWT to windows qube (it need to be prepared)
dom0: qvm-start [windows-qube-name] --cdrom [dispXXXX]:loop0

Build using Visual Studio 2019

  1. Setup build environment

install VS2019 using Visual Studio Installer, install additional components: Python 3, Windows Driver Kit Make sure that Python executable path is in PATH global environment variable

  1. Apply patches

Change directory to %projectdir%\VS2019 and start apply_patches.bat

  1. Build projects

Start VS2019, open solution %projectdir%\VS2019\qubes-windows-tools-cross.sln and rebuild all

Logging

QWT settings are stored in the registry in the section
HKEY_LOCAL_MACHINE\SOFTWARE\Invisible Things Lab\Qubes Tools

Parameters related to logging:

LogDir: directory for storing .log files
LogLevel: log level

Each module can have its own settings for the logging level.
Individual parameters of the logging level are stored in the registry in sections

HKEY_LOCAL_MACHINE\SOFTWARE\Invisible Things Lab\Qubes Tools<module name>

For example, for qrexec-agent.exe, the logging parameters can be described in the registry in the section

HKEY_LOCAL_MACHINE\SOFTWARE\Invisible Things Lab\Qubes Tools\qrexec-agent

An example of a settings file:

REGEDIT4

[HKEY_LOCAL_MACHINE\SOFTWARE\Invisible Things Lab\Qubes Tools]
"LogDir"="Q:\\QubesLog"
"LogLevel"=dword:00000001

[HKEY_LOCAL_MACHINE\SOFTWARE\Invisible Things Lab\Qubes Tools\advertise-tools]
"LogLevel"=dword:00000001

[HKEY_LOCAL_MACHINE\SOFTWARE\Invisible Things Lab\Qubes Tools\qrexec-wrapper]
"LogLevel"=dword:00000005

[HKEY_LOCAL_MACHINE\SOFTWARE\Invisible Things Lab\Qubes Tools\qrexec-agent]
"LogLevel"=dword:00000005

qubes-windows-tools-cross's People

Contributors

jevank avatar brendanhoar avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.