Subversion Repositories QNX 8.QNX8 IFS tool

Rev

Rev 46 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

# IFS Tool for QNX

![x86 UEFI console on QNX 8.0](filedetails.php?repname=QNX%208.QNX8%20ifstool&path=%2Fx86-uefi-console.png "x86 UEFI console on QNX 8.0")

__ifstool__ is a portable open-source reimplementation of QNX's [mkifs](https://www.qnx.com/developers/docs/8.0/com.qnx.doc.neutrino.utilities/topic/m/mkifs.html), that is able to pack, unpack and analyze x86_64 BIOS and UEFI QNX IFS images, compressed or not, bootable or not, using the same script file-based syntax as mkifs. Most of the mkifs options are supported. Can be built as a **native QNX tool**. Already used in production in some places.

As an illustration, the bootable QNX8 IFS pictured in the above screenshot was built using __ifstool__.

The goal was to turn QNX8 into a self-hosted platform. Since QNX no longer supplies a native toolchain (compiler, linker, binary utilities, IFS utilities) __ifstool__, when used along with the GNU linker (cf. [QNX8 native binutils](listing.php?repname=QNX%208.QNX8%20native%20binutils)) can be used as a drop-in replacement.

## Language

POSIX-compliant ANSI C99.

## IDE

The development environment used was [Microsoft Visual Studio](https://visualstudio.microsoft.com). A Visual Studio 2022 solution file is supplied.

## Dependencies

* LZO compression library (supplied)
* UCL compression library (supplied)

## How to build

* For __Win32__: open Visual Studio project -> Build.
* For __QNX8/x86_64__: run 'make.cmd' (if using Win32) or 'make.sh' (if using a POSIX platform).
* For __QNX8/aarch64le__: run 'make.cmd' (if using Win32) or 'make.sh' (if using a POSIX platform). Note the bootable IFS feature on this target is untested.
* For __GNU/Linux__: run 'make.sh'
* For __FreeBSD__: run 'make.sh'
* For __Darwin__: run 'make.sh' -- yes, it works on macOS too 😊

Feedback is welcome.