igelfs
Python implementation of the IGEL filesystem.
Description
igelfs provides various data models and methods to interact with an IGEL filesystem image.
igelfs.models contains several dataclasses to represent data structures within the filesystem.
Generally, for handling reading from a file/device, use igelfs.Filesystem,
which provides methods to obtain sections and access the data structures within them,
in an object-oriented way.
Filesystem also provides simple methods to write bytes/sections.
A command-line interface is also provided for common filesystem operations.
Documentation
For documentation and other information, please see the wiki.
Installation
PyPI
- Install project:
pip install igelfs
The project page can be found here.
Source
- Clone the repository:
git clone https://github.com/Zedeldi/igelfs.git - Install project:
pip install . - or install dependencies:
pip install -r requirements.txt
Libraries
- rsa - signature verification
- pillow - bootsplash images
- python-magic - payload identification
- cryptography - encryption (optional)
- PyNaCl - encryption, bindings to libsodium (optional)
- python-lzf - compression, bindings to liblzf (optional)
- fuse-python - FUSE filesystem (optional)
- pyparted - disk conversion (optional)
- pytest - testing, see below
Usage
If the project is installed: igelfs-cli --help
Otherwise, you can run the module as a script: python -m igelfs.cli --help
For more information, head over to the wiki.
Testing
Tests rely on the pytest testing framework.
To test the project (or the sanity of a filesystem image), use:
python -m pytest --image="path/to/filesystem" --inf="path/to/lxos.inf" igelfs
Specify -m "not slow" to skip slow tests.
Credits
- IGEL - author of
igel-flash-driver
License
igelfs is licensed under the GPL v3 for everyone to use, modify and share freely.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Original
The original source code, from which this project was derived, can be obtained by requesting it from IGEL via their online form or via this GitHub repository.
/boot/grub/i386-pc/igelfs.mod is licensed under the GPL v3.
Requesting a copy of the source code should provide the igel-flash-driver kernel module
and initramfs bootreg code, written in C.
/bin/igelfs_util is copyrighted by IGEL Technology GmbH.
Donate
If you found this project useful, please consider donating. Any amount is greatly appreciated! Thank you :smiley:
Metadata
Release files for igelfs 2.12.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| igelfs-2.12.0.tar.gz | 64.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| igelfs-2.12.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 140.1 kB
Release files / igelfs-2.12.0.tar.gz
| Download URL | igelfs-2.12.0.tar.gz |
|---|---|
| Size | 64.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d973ac0bff248cf0c870bdf6253a45cb6dc7d5a6274d9f4c3dfd55c27be5ebb9
|
|
BLAKE2b-256 checksum How to use checksums |
3beef0f43f8ad6d0901de473b705e0fbfe2dc4a0404f7947d389a3f404a5e8ee
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.3
|
Release files / igelfs-2.12.0-py3-none-any.whl
| Download URL | igelfs-2.12.0-py3-none-any.whl |
|---|---|
| Size | 75.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b7742fcf506cd710945314348728427d2f9d627869062f39c5c25bab90640308
|
|
BLAKE2b-256 checksum How to use checksums |
0923670281d3d4a6c941bdf70618cef794d35e98e605ae8b420712b1ed930562
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.3
|