Commit Graph

102 Commits

Author SHA1 Message Date
9fb11e3317 Enhanced flexibility in how resource images are mounted.
Can now choose location at which resource image is mounted with
mount_at() method. This method also returns a handle which can be
used to later unmount the image.
2019-08-21 00:39:41 -04:00
2e781e2183 Add verity-tag field to verity devices for image types other than realmfs
This prevents device name collision when multiple images of the same
type are mounted.
2019-08-21 00:39:41 -04:00
8799604266 Change name of boot entry file from citadel.conf to boot.conf
This matches the naming convention of the kernel update installer.
2019-08-21 00:39:41 -04:00
ca521ef053 Improve boot partition detection by verifying ESP GUID value 2019-08-21 00:39:41 -04:00
d1f93e9f34 Refactor realm launching code into separate module. 2019-08-21 00:39:41 -04:00
5eb3194e5b comment added by cargo 2019-08-21 00:39:41 -04:00
330557acfc use /usr/bin/dd instead of /bin/dd 2019-08-21 00:39:41 -04:00
79a52b7a46 fix typo in sha256sum path 2019-08-21 00:39:41 -04:00
dma
f02a9ab4c5 fix realmfs resize calculation bug on update + add e2fsck prior to ext4 resize 2019-08-21 04:28:54 +00:00
7d89c47eb2 Clippy fixes 2019-04-03 16:05:09 -04:00
fab4106302 Fix compile failure 2019-04-02 16:12:41 -04:00
3148825680 This was test code and shouldn't have been committed 2019-04-02 16:12:05 -04:00
b38c7cb943 updated main Cargo 2019-04-02 15:33:07 -04:00
1bf90ca447 new tools added to dispatch 2019-04-02 15:32:36 -04:00
3e017ef9f3 added dependencies 2019-04-02 15:32:02 -04:00
c5d5693f62 installer refactored extensively 2019-04-02 15:31:29 -04:00
ffd7a78c3d updated to new libcitadel api 2019-04-02 15:30:41 -04:00
1fc2292f9b added a subcommand 2019-04-02 15:29:28 -04:00
adbae8a971 updated to new libcitadel api 2019-04-02 15:26:09 -04:00
fff6ddb15a citadel-desktopd replaced with citadel-desktop-sync util 2019-04-02 15:22:55 -04:00
ce10df3dfc citadel-realmfs moved into citadel-tool binary 2019-04-02 15:20:38 -04:00
a984632123 completely rewritten 2019-04-02 15:19:39 -04:00
d9889771d6 a few new dependencies 2019-04-02 15:18:18 -04:00
92cd59eb65 updated with changes to library 2019-04-02 15:17:46 -04:00
8a65aa1708 refactored scattered functions into a class 2019-04-02 15:16:49 -04:00
81e9e224fc updated to use new ImageHeader correctly 2019-04-02 15:16:12 -04:00
cf85d10055 method added to construct keypair from raw bytes 2019-04-02 15:15:28 -04:00
e493e5180d implemented some extra functionality 2019-04-02 15:14:41 -04:00
533ed4b8be ImageHeader refactored to be thread safe and shareable 2019-04-02 15:13:13 -04:00
025d7f3aa4 functions for manipulating symlinks 2019-04-02 15:12:34 -04:00
f9311fa35e improved logging system and macros 2019-04-02 15:12:10 -04:00
f1ff4e6e20 A new Command wrapper 2019-04-02 15:11:29 -04:00
6f007692dc added citadel.debug as a recognized kernel command line var 2019-04-02 15:10:27 -04:00
b7d4f1e570 refactor of RealmFS into several components 2019-04-02 15:09:41 -04:00
fcbf63db8e refactor of Realm into a module with various components 2019-04-02 15:08:55 -04:00
4b4e5f31e7 various low level system utils moved into system module 2019-04-02 15:00:01 -04:00
4bd8c3626f a module for terminal colors and escape sequences 2019-04-02 14:57:29 -04:00
43800cdc6e Initial implementation of keyring
Keyring is an encrypted file to store secrets. The encryption key is
derived from the disk decryption passphrase so that the file can be
automatically decrypted and processed during boot.

The keys contained in the keyring file are loaded into the kernel key
store so that they can later be retrieved by other components.

Currenly during installation a signing key is generated and stored in
the keyring so that the system can transparently sign RealmFS images
when the user modifies or updates them.
2019-02-02 20:42:42 -05:00
0e1a06ae7f goodbye Ring hello sodiumoxide 2019-02-02 20:33:50 -05:00
28401b589e move /run/realms to /run/citadel/realms 2019-01-30 23:36:43 -05:00
d3ac4bb000 small cleanup 2019-01-30 21:43:55 -05:00
2dc32d1f20 Refactor multiple tools into a single binary.
citadel-tool now installed with a hardlink for each binary tool and
dispatches on the exe path to the tool implementation. This makes
the build faster, uses less disk space, and makes it easier to
create new small tools.
2019-01-30 21:31:13 -05:00
dbdf0d4035 added bless and install commands 2019-01-30 14:27:50 -05:00
e7151f8de2 Initial implementation of RealmFS 2019-01-30 14:26:46 -05:00
884d056420 refactor for realmfs implementation 2019-01-30 14:21:54 -05:00
e5d0b7f6f2 installer refactored to support RealmFS 2019-01-30 14:15:44 -05:00
a0d39431e8 bless method added to mark partition which has booted successfully 2019-01-30 14:13:24 -05:00
c00e11ee8f rootfs symlink is created when realm is started so remove this check 2019-01-30 14:12:37 -05:00
55b08fb683 decompress images in parallel by spawning a thread for each one 2019-01-30 14:11:30 -05:00
0b2480f849 Refactor to chain realm specific config to global config
Now if a variable is not set in a realm config file (or the file does
not exist), the 'global' config file will also be searched in the
parent directory (ie: /storage/realms/config). If the variable is
still not found, the value from the default instance is returned.
2019-01-30 14:09:34 -05:00