Skip to main content

read only mounters for qnx filesystems

Project description

QNX Filesystems

QNX filesystem parsers to mount non-standard images (read only). Mounting is based on fuse, and only tested on Linux machines.

Getting started

Set up your python virtual environment and activate the environment:

python3 -m venv venv
source ./venv/bin/activate

Install qnxmount:

pip install qnxmount

Or clone this repo and install.

pip install .

Usage

Run the parser script (used on HDD/SSD/eMMC):

python3 -m qnxmount {fs_type} [options] mountpoint image

For example, a specific mounter (qnx6) is called with:

python3 -m qnxmount qnx6 -o OFFSET mountpoint image

Now navigate to the given mount point with your favourite terminal or file browser to access the file system.

Testing

If you want to run test, first install the test dependencies:

pip install .[test]

The folder tests contains functional tests to test the different parsers. To run these tests you need a file system image and an accompanying tar archive. The tests run are functional tests that check whether the parsed data from the test image is equal to the data stored in the archive. Default test_images are located in the folders test_data. If you want to test your own image replace the files test_image.bin and test_image.tar.gz with your own.

A test image can be created by running the script make_test_fs.sh inside a QNX VM. Update the script with the (edge) cases you want to check and run the command below. This should create an image.bin and image.tar.gz into the specified directory. These can be used as test files.

make_test_fs.sh /path/to/output/directory

To run the tests in this repo navigate to the main directory of the repo and run:

pytest

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

qnxmount-0.1.2.tar.gz (205.2 kB view hashes)

Uploaded Source

Built Distribution

qnxmount-0.1.2-py3-none-any.whl (28.9 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page