Skip to content

Commit 7ad7295

Browse files
committed
Renamed to xva-img
1 parent e365836 commit 7ad7295

File tree

5 files changed

+17
-13
lines changed

5 files changed

+17
-13
lines changed

Diff for: CHANGELOG

+4
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
v1.3
2+
3+
- 2013-07-28 Merged with sourceforge project: Renamed to xva-img
4+
15
v1.2
26

37
- 2013-07-28 Imported to github, fixed some compiler errors/warnings

Diff for: CMakeLists.txt

+6-6
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
CMAKE_MINIMUM_REQUIRED(VERSION 2.0)
22

3-
SET(CMAKE_CXX_FLAGS_RELEASE "-Wall -Wextra -Wno-deprecated-declarations")
3+
SET(CMAKE_CXX_FLAGS_RELEASE "-Wall -Wextra")
44
SET(CMAKE_BUILD_TYPE Release)
55

6-
PROJECT("xvatool")
7-
SET(TARGET_NAME "xvatool")
6+
PROJECT("xva-img")
7+
SET(TARGET_NAME "xva-img")
88
FILE(GLOB_RECURSE SOURCE_FILES src/*.cpp)
99
ADD_EXECUTABLE(${TARGET_NAME} ${SOURCE_FILES})
1010
TARGET_LINK_LIBRARIES(${TARGET_NAME}
11-
crypto
11+
crypto
1212
)
13-
INSTALL(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/xvatool
14-
DESTINATION /usr/local/bin)
13+
INSTALL(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/xva-img
14+
DESTINATION /usr/local/bin)

Diff for: INSTALL

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
Run "cmake ." followed by "make install". xvatool will be installed in /usr/local/bin/
1+
Run "cmake ." followed by "make install". xva-img will be installed in /usr/local/bin/

Diff for: README.md

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
xvatool
1+
xva-img
22
=======
33

44
Citrix Xen uses a custom virtual appliance format for import/export called "XVA". it's basically a strangely crafted tar-file. You don't need this program to unpack this tar-file, just use your favourite tar unpacker (tar, gtar, bsdtar). Once unpacked you will end up with a lot of different files, ova.xml (which contains the settings for the virtual appliance, think VMware vmx) and a number of folders called Ref:<number>/, this is your disks. Each of these folders contain hundreds of files named 00000000, 00000001 with a accompanying .CHECKSUM file (SHA1). Each file is a 1MB slice of the disk, but some of the files in the sequence will probably be missing this is because XVA do not use compression; instead it will exclude slices of the disk that only contains zeros (are empty). This tool can assemble the disk for you (you will end up with a RAW disk) that can easily be mounted and modified. It can then also split the file again and generate checksum. Once ready, you will probably want to use the "package" command to rebuild the XVA file.
@@ -13,13 +13,13 @@ Extract the XVA file.
1313

1414
Extract one of the disks
1515

16-
xvatool -p disk-export my-virtual-machine/Ref\:1/ disk.raw
16+
xva-img -p disk-export my-virtual-machine/Ref\:1/ disk.raw
1717

1818
Splice the disk file (remove all files in the folder, required not to make any unnecessary mistakes)
1919

2020
rm -rf my-virtual-machine/Ref\:1/*
21-
xvatool -p disk-import my-virtual-machine/Ref\:1/ disk.raw
21+
xva-img -p disk-import my-virtual-machine/Ref\:1/ disk.raw
2222

2323
Rebuild the XVA file
2424

25-
xvatool -p package my-virtual-machine-fixed.xva my-virtual-machine/ova.xml my-virtual-machine/Ref\:1/
25+
xva-img -p package my-virtual-machine-fixed.xva my-virtual-machine/ova.xml my-virtual-machine/Ref\:1/

Diff for: src/main.cpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -29,14 +29,14 @@
2929
#include "package.hpp"
3030
#include "disk.hpp"
3131

32-
#define _VERSION_ "1.2"
32+
#define _VERSION_ "1.3"
3333

3434
std::string program_name = "";
3535

3636
void usage(FILE* fp, int status)
3737
{
3838
fprintf(fp,
39-
"xentool " _VERSION_ " build on " __DATE__
39+
"xva-img " _VERSION_ " build on " __DATE__
4040
" (c) Erik Lax <erik@datahack.se>\n"
4141
"Usage: %s [OPTION...] COMMAND ...\n"
4242
"\n"

0 commit comments

Comments
 (0)