Commit Graph

43 Commits

Author SHA1 Message Date
isa
44d408f84a Add tools to generate and remote upgrade citadel 2024-09-25 11:44:10 -04:00
isa
904707a7c3 Convert citadel image version numbers to semver 2024-09-24 17:19:38 -04:00
2dc8bf2922 Support for flatpak and GNOME Software in Realms
When a realm has enabled 'use-flatpak' a .desktop file for GNOME
Software will be automatically generated while that realm is running.

This .desktop file will launch GNOME Software from Citadel inside a
bubblewrap sandbox. The sandbox has been prepared so that GNOME
Software will install flatpak applications into a directory that belongs
to the realm associated with the .desktop file.

When a realm has enabled 'use-flatpak' this directory will be bind
mounted (read-only) into the root filesystem of the realm so that
applications installed by GNOME Software are visible and can be launched.
2024-09-06 10:24:28 -04:00
isa
2a16bd4c41 Upgrade clap, rpassword and pwhash to prepare for new code using them 2024-08-30 13:11:47 -04:00
isa
b7e6ee3b3c Increase size of tmpfs to allow base-realmfs to decompress 2024-07-17 06:58:11 -04:00
isa
4fc3fb55db Fix user-facing typo 2024-07-12 16:53:12 -04:00
421b0e27d7 Various fixes to desktop_sync including Flatpak support 2024-06-03 12:05:58 -04:00
dc6ddc4e85 Handle icon paths to specific image files 2022-09-19 09:49:49 -04:00
3dbfda2c40 Use less memory when decompressing images for install
1. Delete source image before decompressing temporary file
2. Decompress the images serially instead of spawning a thread for each
   one.
2022-05-27 18:06:52 -04:00
668227af1e citadel-update: copy image files to tmp directory before updating 2021-12-16 16:22:30 -05:00
12eed4d557 Add use-media-dir config option and implement feature.
If enabled this will mount /run/media/citadel directory into Realm as
~/Media directory. This makes mounted storage devices visible inside of
Realms. By default this option is enabled only for the main realm.
2021-12-14 06:04:02 -05:00
fa3f63b5c7 Add realm prefix to .desktop files imported into citadel
Change the way citadel-desktop-sync works so that gnome-shell
can be aware of applications from several realms at once.

Each application id is now placed in a separate namespace by
adding a prefix to the desktop filename.
2021-10-04 06:15:29 -04:00
e07d35944a name nvme partitions correctly 2021-10-04 06:11:37 -04:00
8d8f9b69ee Add citadel.revert-rootfs boot option
Forces booting from the older rootfs partition in case the newer
partition is broken or unbootable.
2021-10-04 06:09:26 -04:00
f665490a4d Support 16 bit device numbers 2021-04-28 08:01:46 -04:00
ef04bc1786 Removed references to live mode in the citadel-installer-ui 2021-01-18 15:00:39 -05:00
3cf87ee1da Add a subcommand to citadel-boot to create /boot automount units
And launch this subcommand from a systemd unit file, and use
systemd-mount to create the automount units instead of writing
them manually.
2020-12-07 17:18:17 -05:00
ac46b45f05 Implemented an installer user interface and backend 2020-10-09 01:45:30 -04:00
7b8cc0c9d4 Fixes a panic() during mkimage 2020-08-03 20:48:50 -04:00
904765ae4f Remove import of failure crate since it's no longer in use 2020-08-03 19:59:36 -04:00
c9d36aca59 Refactor of error handling to replace 'failure' and to display more context for some errors. 2020-08-03 19:18:49 -04:00
9c77af6eff update crates 2020-08-03 19:18:49 -04:00
61d5e10034 RealmFS refactored. Much Simpler.
The concept of an 'unsealed' RealmFS no longer exists so support for this has been
removed. The result is much less complex and easier to understand and maintain.
2020-08-03 19:18:49 -04:00
b1f5827096 Clean up some warnings 2020-08-03 19:18:49 -04:00
11920caa72 Added kernel version to syslinux config in installer 2020-02-28 12:46:08 -05:00
8ec6f87a22 Install bzImage files with kernel version suffix 2019-08-21 00:39:41 -04:00
ba29516212 Initial commit of update utility to simplify image upgrades 2019-08-21 00:39:41 -04:00
77f19777a8 Write automount unit files for /boot partition 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
330557acfc use /usr/bin/dd instead of /bin/dd 2019-08-21 00:39:41 -04:00
7d89c47eb2 Clippy fixes 2019-04-03 16:05:09 -04:00
fab4106302 Fix compile failure 2019-04-02 16:12:41 -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
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
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