This repository provides libvhdi packages for Fedora 40, 41, 42, and rawhide through COPR.
libvhdi is a library to access the Virtual Hard Disk (VHD) image format, used by:
- Microsoft Hyper-V
- Xen Orchestra (for VHD operations)
- Digital forensics tools
- Virtual disk management utilities
Once the COPR repository is active:
# Enable the COPR repository (replace YOUR_USERNAME with actual username)
sudo dnf copr enable YOUR_USERNAME/libvhdi
# Install libvhdi tools
sudo dnf install libvhdi-tools
# Verify installation
vhdiinfo -Vlibvhdi-simple.spec- Main spec file (standalone build, no Python)libvhdi-standalone.spec- Alternative with Python support attemptlibyal-bundle.spec- Bundle of libyal libraries (future work).copr/Makefile- COPR build automationbuild.sh- Local build script for testing
sudo dnf install -y gcc make autoconf automake libtool \
gettext-devel fuse-devel zlib-devel \
rpm-build rpmdevtools# Clone this repository
git clone https://github.com/YOUR_USERNAME/libvhdi-copr
cd libvhdi-copr
# Run the build script
./build.sh
# Or build manually
rpmdev-setuptree
curl -L -o ~/rpmbuild/SOURCES/libvhdi-alpha-20240509.tar.gz \
https://github.com/libyal/libvhdi/releases/download/20240509/libvhdi-alpha-20240509.tar.gz
cp libvhdi-simple.spec ~/rpmbuild/SPECS/
rpmbuild -bb ~/rpmbuild/SPECS/libvhdi-simple.spec- Go to https://copr.fedorainfracloud.org/
- Sign in with your Fedora Account System (FAS) credentials
- Click "New Project"
- Fill in the following:
Basic Information:
- Project Name:
libvhdi - Description:
libvhdi library and tools for Virtual Hard Disk (VHD) format - Required for Xen Orchestra VHD operations - Homepage:
https://github.com/libyal/libvhdi - Contact: Your email
- Disable build: Leave unchecked
Build Options:
- Chroots: Enable:
fedora-40-x86_64fedora-41-x86_64fedora-42-x86_64fedora-rawhide-x86_64
- External repositories: Leave empty
- Bootstrap: Leave default
- Multilib: Leave unchecked
- Module hotfixes: Leave unchecked
After creating the project:
- Go to "Packages" tab
- Click "New Package"
Package Settings:
- Package name:
libvhdi - Clone URL:
https://github.com/YOUR_USERNAME/libvhdi-copr.git - Subdirectory: Leave empty (COPR will find .copr/Makefile)
- Spec File: Leave empty (Makefile handles this)
- Type: Select
make srpm - Build dependencies: Leave empty
- Click "Rebuild" on the package
- Select desired chroots
- Click "Submit"
-
libvhdi - Main library
- Shared library for VHD access
-
libvhdi-devel - Development files
- Headers and pkg-config files
-
libvhdi-tools - Command-line tools
vhdiinfo- Display VHD file informationvhdimount- Mount VHD files using FUSE
# Get information about a VHD file
vhdiinfo disk.vhd
# Mount a VHD file
mkdir /mnt/vhd
vhdimount disk.vhd /mnt/vhd
ls /mnt/vhd/
# Unmount
fusermount -u /mnt/vhdThis package is designed to work with the modified XenOrchestraInstallerUpdater for Fedora:
- Install libvhdi-tools from this COPR
- Run the modified XO installer
- XO will detect and use vhdimount for VHD operations
- Python bindings are currently disabled due to path issues
- Only x86_64 architecture is supported
- Some VHD operations in XO may work without libvhdi, but functionality will be limited
To update the package:
- Fork this repository
- Update
VERSIONin.copr/Makefile - Test locally with
build.sh - Commit and push changes
- COPR will automatically rebuild
libvhdi is licensed under LGPL-3.0-or-later
- COPR Issues: Open issue in this repository
- libvhdi Issues: Report upstream at https://github.com/libyal/libvhdi/issues
- XO Installer: See https://github.com/ronivay/XenOrchestraInstallerUpdater
- XenOrchestraInstallerUpdater - XO installer (needs Fedora support PR)
- libyal/libvhdi - Upstream libvhdi
- Xen Orchestra - The actual XO project
- Initial release for Fedora 40, 41, 42, and rawhide
- Based on upstream libvhdi-alpha-20240509
- Python bindings disabled (build issues)
- Includes vhdiinfo and vhdimount tools