At first I thought that it is like SQLite, but for JSON, not just “JQ-lite”.
Speaking of JSON and queries, it is worth to mention DuckDB’s JSON features. This allows you to use actual SQL to query JSON.
Here is example of a DuckDB analogue of $.orders[?(@.status.#equals('delivered'))][*].items
from JQLite documentation:
duckdb -c "from (from demo.json select unnest(orders)->>'status' as status, cast(unnest(orders)->'items' as json[]) as items) select unnest(items) as delivered_items where status='delivered'"
┌─────────────────────────────────────────────────┐
│ delivered_items │
│ json │
├─────────────────────────────────────────────────┤
│ {"productId":"p1","quantity":1,"price":1299.99} │
│ {"productId":"p2","quantity":2,"price":1599.99} │
└─────────────────────────────────────────────────┘
It should work with just one swap (encrypted), unless the swap is full at the moment of hibernation attempt.
mkinitramfs
-generated script should ask for the LUKS password, then it would start loading the pages.Note that hibernation in general may fail to work (regardless of encryption) if, for example, a signed kernel and Secure Boot is used.