Sorry for top-posting, but you gave me exactly what I was looking for.
That is a lot of good info! (The tooling question was just in case of
custom disk file formats, etc.)
As you suggest, I will start with VBox, then gradually try it with
Seoul. It's great news that you can go back and forth! I'll keep you
informed of my progress, one way or another. ;^)
On 4/26/24 10:04 AM, Alexander Boettcher wrote:
Hello John,
just as disclaimer beforehand, the statements done below are my
personal, not necessarily aligned with others.
On 26.04.24 06:42, John J. Karcher wrote:
During the Roadmap discussion, Alexander expressed some relief about
switching from VirtualBox to Seoul for his main VM. I can't find much
information about Seoul online, though. Is there any handy info about:
1. Advantages / disadvantages of Seoul vs. VirtualBox
You may read the chapter "The choice" of [0] for arguments pro Seoul. I
added in the posting also links for reading, on one hand about the
dissertation of Bernhard, the original author of Vancouver (which became
later Seoul) and the presentation of the Eurosys OS conference.
Additionally there is a link to some old documentation of Vancouver as
used with the former University OS project called NUL. Additionally at
[1] in the chapter "Theses", you will find work, done in the context of
Seoul. The other source are my postings on Genodians.org [2].
I personally like about Seoul that it has close to 0 dependencies in
contrast to VBox. VBox heavily uses tons of pthreads, brims of
abstractions and adds thereby complexity, which makes it absolutely no
fun to catch the actual reason of an issue which happens to happen
sometimes. Just have a look with my top-view component in a running VBox
and a Seoul component on Sculpt, to get an impression. Seoul is much
more lightweight (okay, virtualization is never lightweight) and thereby
easier to grasp. It is rather like a library and you have to, or rather
are forced to, closer interact directly with the native Genode
interfaces, which I prefer personally. It opens up much more potential
for optimization and improvements, which is harder to achieve with VBox.
So VBox is more a heavyweight port, Seoul is closer to a native Genode
component. But I'm biased in that regard, don't believe me ;-)
Due to the main improvements in the last 2 years, namely 64bit support
and virtio GPU, input and sound [3], it is now a pleasure to use.
Personally, I use 3 VMs daily, one for Firefox, one for Thunderbird and
one for developing purposes. Firefox & Thunderbird are slightly crafted
Tinycore OS based versions, the developer VM is a standard Debian
installation (w/o any browser or email client). Lately I successfully
used a pre-installed Ubuntu 22.04 VM without any hick-ups, which I did
not expect at first. Another pro argument for me is, that you have not
to fiddle with guest-addition installation, which may become sometimes
cumbersome. Most distributions I care of, have virtio support, which is
just part of the VM or easily addable with standard packet manager tools
within the VM.
Contra Seoul stands the fact, that it is more or less nowadays just my
pet-project (afaik, anyone ?) and has less features, which one may
desire depending on the use-case.
Missing, compared to VBox, are at least: Windows OS support, USB device
pass-through (handy for developer, e.g. USB-to-serial), shared folder,
copy-and-paste support and sound recording.
For USB pass-through I plan to address it during the upcoming Hack and
Hike, since it should be doable based on the former work [4]. The qemu
USB XHCI port is a more or less stand-alone lib, which should be "easy"
to use with some helping hand of my colleagues.
For shared folder, probably virtio-fs is the direction to go and for
copy-and-paste the article [5] looks like a try. But this is nothing
pressing for me personal. For sound recording I have no need for that
but there is no technical reason not to add it.
2. What's involved in migrating from VirtualBox to Seoul?
In principle you may use your very same installation in VBox
interchangeable with Seoul. I use my Debian developer VM installation
with Seoul, Vbox5 and Vbox6 interchangeable as required. Switching is a
matter of powering down, and using another launcher.
So, I would advise to start with a VBox installation, become
comfortable, and then add another launcher, which uses the very same
installation. The required packages are part of my Sculpt index, e.g.
and adapter component to read from VDI files (if you use them). Seoul
itself just support raw Block access (whole disk or a partition of it),
and the adapter closes this gap and translates from a VDI file to
Block_session. I will think about to add a Genodians article soon, which
may help you. In the meantime just try it and I will answer your
questions. The Thunderbird packet and the Template VM packet actually
using this adapter implicitly.
3. Maintaining a Seoul system (tools, etc.)
If you asking for some nice UI for configuration purposes, neither our
VBox port nor Seoul has something to offer.
What exactly you are expecting/asking for ?
Cheers,
Alex.
[0] https://genodians.org/alex-ab/2019-03-06-disposal-browser-vm
[1] https://hypervisor.org
[2] https://genodians.org/topics-seoul
[3] https://genode.org/documentation/release-
notes/23.11#Seoul_virtual_machine_monitor
[4] https://genode.org/documentation/release-
notes/16.02#Assignment_of_USB_devices_to_virtual_machines
[5] https://www.kraxel.org/blog/2021/05/qemu-cut-paste/
_______________________________________________
users mailing list -- users@lists.genode.org
To unsubscribe send an email to users-le...@lists.genode.org
Archived at
https://lists.genode.org/mailman3/hyperkitty/list/users@lists.genode.org/message/VHZFVP2TCDDUCZI6OPVGBHRSIIWF7FVQ/