Commit Graph

26 Commits

Author SHA1 Message Date
Jeremy Soller d0802237d7 Merge branch 'kek/symlinks' into 'master'
Add symlink support

See merge request redox-os/redox-initfs!3
2024-09-17 17:23:11 +00:00
Kamil Koczurek 873062c1c2 Document missing support for non-utf8 paths 2024-09-14 22:41:58 +02:00
Kamil Koczurek 7005f5ee65 Specify pathdiff version 2024-09-14 12:29:55 +02:00
Kamil Koczurek f0dec135b9 Add symlink support
* Implement symlinks
  * Initfs only has links with absolute paths.
  * Relative links are assumed to be relative to link location.
  * Absolute paths must point into the archived location. E.g. if we
    archive /home/foo/data and wish the resultant link to point to
    /scheme/rand, then the absolute link must be
    /home/foo/data/scheme/rand.
* Move archive_common to a crate within the workspace -- Rust doesn't
  seem to accept #[path(..)] attributes with `..` segments anymore so
  tests wouldn't build on my machine.
* Improve the test to assert complete filesystem structure.
* Bump to edition 2021
* cargo fmt & clippy
2024-09-14 12:17:44 +02:00
4lDO2 65cf406b7d Future-proof: repr(packed) => repr(C, packed). 2024-09-08 21:09:22 +02:00
Jeremy Soller 7dd9b2e84d Merge branch 'merge_bootstrap_into_initfs' into 'master'
Allow embedding bootstrap code into the initfs blob

See merge request redox-os/redox-initfs!2
2024-03-12 20:38:56 +00:00
bjorn3 12ed3151f3 Add size to the initfs header 2024-03-12 14:13:49 +01:00
bjorn3 7978d794f7 Encode bootstrap code entrypoint in the initfs header 2024-03-11 12:16:33 +01:00
Jeremy Soller f8fbeed1bf Merge branch 'misc_changes' into 'master'
Couple of improvements

See merge request redox-os/redox-initfs!1
2024-03-10 19:30:34 +00:00
bjorn3 ada6cfc973 Allow embedding bootstrap code into the initfs blob
This may in the future allow booting using non-redox specific bootloaders.
2024-03-10 19:28:09 +01:00
bjorn3 b9e856a4ab Remove unused cargo feature 2024-03-10 17:27:26 +01:00
bjorn3 30568c5ee0 Unconditionally use no_std
And use `extern crate std;` when libstd is necessary.
2024-03-10 17:26:35 +01:00
bjorn3 56642539bc Update clap to v4 2024-03-10 17:25:23 +01:00
4lDO2 89b8fb8984 Refactor into a separate library and tools crate. 2022-03-26 18:15:49 +01:00
4lDO2 08d18160ee Fix overwrite of image while writing inodes. 2021-07-02 14:22:35 +02:00
4lDO2 312499d042 Derive Clone and Copy for Entry. 2021-06-30 12:33:28 +02:00
4lDO2 0a41ea5b8f Implement more traits for Inode. 2021-06-30 12:13:19 +02:00
4lDO2 811f58cc9a Add #![no_std]. 2021-06-29 21:09:43 +02:00
4lDO2 ae65c19bad Put the output file handle behind a guard.
This prevents the image from leaking, in case there is an error, as it
removes the file when the guard is dropped, before the "ok" status is
set.
2021-02-20 15:04:40 +01:00
4lDO2 ef6c880595 Add license. 2021-02-20 14:35:45 +01:00
4lDO2 5e9e2e9ca8 Rename utils into redox-initfs-ar. 2021-02-20 14:33:37 +01:00
4lDO2 3b85a1d887 Finish kernel-facing API. 2021-02-20 14:17:40 +01:00
4lDO2 672a92bb51 Create a skeleton for the initfs API for kernel. 2021-02-20 13:59:51 +01:00
4lDO2 1cdb1c7f19 Increse default limit to 64 MiB. 2021-02-20 12:09:56 +01:00
4lDO2 8b5474189d WIP: (probably) complete basic initfs-ar util. 2021-02-20 11:51:33 +01:00
4lDO2 2eefa1a16f Initial Commit 2021-02-19 23:29:04 +01:00