a1c1b13a47
flex and bison are also needed to build kernel
2019-09-20 23:06:51 -04:00
e8af16a2bc
launch sommelier as a daemon, also start dbus session
2019-09-20 23:06:28 -04:00
9762f1105c
a few more notes on building
2019-09-20 19:54:15 -04:00
5ff4b85808
make output from kernel download nicer when building with -vv
2019-09-20 19:53:43 -04:00
e3e774c3a3
ignore some things
2019-09-20 19:53:15 -04:00
1dcad9f1f4
add sommelier
2019-09-20 18:57:28 -04:00
d962bb4d46
typo
2019-09-20 18:53:41 -04:00
54deaf1782
add a readme
2019-09-20 18:51:59 -04:00
8587532a5e
update libcitadel git revision
2019-09-20 18:51:38 -04:00
c63ede2482
remove old code
2019-09-20 18:51:18 -04:00
d6b9667740
Build everything with cargo
2019-09-20 18:15:10 -04:00
3b168d5db5
move ph-init to separate crate
2019-09-20 17:57:35 -04:00
e69cb5ba1a
new and improved kernel build
2019-09-20 17:55:12 -04:00
0f50387d1e
change source layout
2019-09-20 17:29:55 -04:00
5a1c62d473
extensive changes to how VMs are configured and launched
2019-09-20 16:26:28 -04:00
2568a30440
libcitadel is now a dependency
2019-09-20 16:25:47 -04:00
4fc4c05155
ph-init mostly rewritten
...
Is more complex now and reads various kernel command line options to
configure behavior.
* optionally set up tmpfs overlay over read-only rootfs
* find and mount rootfs
* mount /proc /sys /tmp /dev
* mount 9p home directory
* launch shell as root or as user
2019-09-20 16:10:30 -04:00
f71e3adb79
When printing warnings, label the warnings as coming from virtio_wl
2019-09-20 16:04:35 -04:00
626b6583db
Update bytes written when manually incrementing offset of virtio chain
2019-09-20 16:03:36 -04:00
98a1e9361e
Rewrite of 9p filesystem
...
Old version barely worked, but the new version works very well.
Supports two backend types. Exporting a tree from the host filesystem
is supported of course, and this is one backend. The second backend
is a synthetic filesystem on which directories can be created and then
files can be added to the directories. The files added to the filesystem
are either backed by a file on the host filesystem or a buffer of bytes
in memory.
2019-09-20 16:01:15 -04:00
1a587bb6cc
refactor configure and launch of VM to be much simpler and nicer
2019-09-12 16:31:38 -04:00
c8153e4f51
mount 9p home directory if it exists. optionally launch systemd
2019-09-12 16:26:35 -04:00
a32324381f
refactor to nicer api
2019-09-12 16:25:05 -04:00
9cc84e6116
oop, remove old code
2019-09-11 17:23:30 -04:00
7365bc5d38
update crates and add lazy_static for logging class
2019-09-11 16:32:21 -04:00
03c4d6aeac
export all the new classes
2019-09-11 16:31:48 -04:00
f397c7e2cb
Added error for disk image open failure
2019-09-11 16:30:47 -04:00
81df280b12
remove unused
2019-09-11 16:30:13 -04:00
1f7aadff12
Use MemoryManager rather than GuestRam
2019-09-11 16:29:26 -04:00
9bf3f84fae
virtio-wayland
2019-09-11 16:20:16 -04:00
023571e88d
virtio-blk device
2019-09-11 16:02:36 -04:00
e79502c271
A module for accessing disk image files (with virtio-blk)
2019-09-11 15:58:04 -04:00
9cca10a2c0
allow more flexible access to virtqueue chain
2019-09-11 15:55:38 -04:00
f893d5a316
allow direct access to ioevent and next chain of virtqueue
2019-09-11 15:54:32 -04:00
07d1c765d4
allow configuring size of virtio queues
2019-09-11 15:53:02 -04:00
90e1b26a11
Added a class which owns GuestRam and manages runtime memory allocations
2019-09-11 15:49:53 -04:00
ffefbd9283
added remove_memory_region() as complement of add_memory_region()
2019-09-11 15:32:54 -04:00
784544ae2b
derive some traits to be able to compare addresses
2019-09-11 15:28:37 -04:00
9b2e7b8837
Wrap create_memfd() system call and manage memfd file descriptors
2019-09-11 11:36:07 -04:00
f47eff5ef8
A wrapper for raw file descriptors
2019-09-11 11:31:17 -04:00
7dd2fed779
implement AsRawFd for EventFd and IoEventFd
2019-09-11 11:30:44 -04:00
1d7857199d
Wraps epoll system calls
2019-09-11 11:29:47 -04:00
26a34c3eae
A class which manages virtio device config area
2019-09-11 11:29:24 -04:00
b39bb0e937
If PG and LME are set, then LMA must also be set
2019-09-11 11:28:32 -04:00
3679bfd03a
bit vector implementation
2019-09-11 11:23:54 -04:00
245b48cf1e
Support ancillary data such as SCM_RIGHTS for unix domain sockets.
...
Needed to allow transfer of file descriptors across sockets.
2019-09-11 11:16:41 -04:00
5d19d1e2f3
Tracks allocations of ranges of memory.
2019-09-11 11:12:16 -04:00
d3e2076ea5
An error class which wraps errno results
2019-09-11 11:10:27 -04:00
1cef90bfff
A simple logger
2019-09-11 11:09:54 -04:00
74317be64b
Update to modern Rust syntax
2019-08-29 19:43:26 -04:00