Hi Lonnie,
it works with copying stuff to the assets directory, because the assets directory path is in the MODULE_SEARCH_PATH aka the list of paths printed in the error output.
You can configure the MODULE_SEARCH_PATH and also the QEMU command line via the conf/Makeconf.boot file. Have a look at https://github.com/kernkonzept/manifest/wiki/LinuxVM#creating-makeconfboot and https://github.com/kernkonzept/manifest/wiki/LinuxVM#creating-makeconfboot
So to get fiasco automatically picked up you need to specify something like
MODULE_SEARCH_PATH += /path/to/fiasco/build/dir
(e.g. line 26 in https://github.com/kernkonzept/mk/blob/master/conf/Makeconf.boot.example)
The same applies to directories that contain binaries not found. Just add the directory paths in the same way to the MODULE_SEARCH_PATH separated by a colon.
The list `make qemu` shows is generated from the entries in l4/conf/modules.list, so make sure to have all folders containing the mentioned files in the MODULE_SEARCH_PATH. (Yes, these paths should be in the MODULE_SEARCH_PATH from the start, I'll see that this gets more beginner friendly.)
Regarding ham: Yes, you can use any directory to check out into and there is no relation to the location of the ham binary. I myself have the same ~/bin/ham file which links to ~/code/ham/ham and my folder for the checkout is ~/code/l4/public.
ham init -u ... generated a ~/code/l4/public/.ham and ham sync generated ~/code/l4/public/{fiasco,l4} folders.
However, note that `ham init` uses the _current directory_ to place the .ham directory into. `ham sync` than places the files in parallel to the .ham directory.
Cheers, Philipp
Am 05.11.24 um 21:41 schrieb Lonnie Cumberland:
Hello Phillip,
Just as a quick follow up, I was able to put fiasco in the assets path, but also had to copy some configs over from the examples in src after which I could run some of them to run, but not many as they were missing some other files as well.
I am particularly interested in running framebuffer examples with the uvmm and multiple VM's active at once on x64 if at all possible. Some other microhypervisor examples with graphics would also be very interesting to see run as well.
Thanks again and have a great day, Lonnie
On 11/5/2024 3:22 PM, Lonnie Cumberland wrote:
Hello Phillip,
Thanks for getting back to me on these and I have been able to confirm that the .elf32 bit versions do run in qemu which is a good step forward and the .efi (x64) version do not at this time as you mentioned.
regarding the "make qemu" I am able to bring up the list, but when I select one (actually all of them behave like this), I get an error:
Could not find 'fiasco'
within paths
/home/lonnie/build-amd64/assets /home/lonnie/build-amd64/bin/amd64_gen/l4f /home/lonnie/build-amd64/bin/amd64_gen/plain /home/lonnie/build-amd64/lib/amd64_gen/std/l4f /home/lonnie/build-amd64/lib/amd64_gen/std/plain make[1]: *** [Makefile:693: qemu] Error 1 make[1]: Leaving directory '/home/lonnie/l4' make: *** [Makefile:6: do-all-make-goals] Error 2
My fresh setup is via ham and as per the steps "https://github.com/kernkonzept/manifest/wiki/BUILDING"
I put ham in my ~/bin/ham and then added it to the PATH so that it is able to be used.
On a side question regarding ham, I did try to create a "~/l4re" directory and then did the ham init from within there thinking that it might put all of the L4Re related directories under that initial sub-directory, but it did not and put them under my base home directory. Is there some cli switch or flag that I can use to have ham put everything in the l4re sub-directory and build in there instead. This is not critical, but mostly just to keep all of the l4re stuff together and in one sub-directory for good housekeeping, I guess?
Thanks again and have a great day, Lonie
On 11/5/2024 7:40 AM, Philipp Eppelt wrote:
Hi Lonnie,
welcome to the L4Re learning curve. :-)
Indeed, there seems to be a problem with .efi images. Thanks for letting us know.
I can boot the .elf32 image though: l4image -i l4re_vm-basic-pci.elf32 launch
It behaves like shown in the screencast: https://l4re.org/cast-vm-basic-pci-qemu-x86.html
Since you already have the github version, you can run the examples from the l4re build directory. `make qemu` executed in your l4re build directory should show a list of example entries to run. These examples are the same as the prebuild images.
Cheers, Philipp
Am 03.11.24 um 21:52 schrieb Lonnie Cumberland:
Hello All,
I hope that your day is going well. Recently, I have decided to explore L4Re as a microhypervisor and capabilities as a possible minimalist component-based microkernel OS.
I have just set up Ubuntu 23.10 (x64) in an Intel NUC13 and would am reviewing as much documentation as I can find as well as am building the core L4Re according to the Github Wiki just to see how the process goes.
https://github.com/kernkonzept/manifest/wiki/BUILDING
As I am in the learning curve at the moment, I also would like to build some examples such as the "Screenshots" (https://l4re.org/screens.html) and demos from the Pre-Built section (https://l4re.org/download/snapshots/pre-built-images/amd64/). I did try to follow the direction on the pre-built sections and grabbed the "l4image" and all of the AMD64 EFI files to try and test, but when I launch them they just seem to hang and do nothing. I do have qemu (x64) installed as well, but still nothing seems to boot.
What I would like to ask the mailinglist members is where can I get the source code to the "screenshots" examples as well as the AMD64 "pre-built" examples noted above so that I cam do a fresh compile to see them in action?
Any help would be greatly appreciated.
Thanks in advance and have a great day, Lonnie
l4-hackers mailing list -- l4-hackers@os.inf.tu-dresden.de To unsubscribe send an email to l4-hackers-leave@os.inf.tu-dresden.de