Re: Building Screenshots and examples

Philipp Eppelt <[email protected]> Wed, 6 Nov 2024 18:29:33 +0100
Newsgroups gmane.comp.micro-kernel.l4.devel
Message-ID <[email protected]>
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 -- [email protected]
>>>> To unsubscribe send an email to [email protected]
>>>
>>
> 

-- 
[email protected] - Tel. 0351-41 883 221
http://www.kernkonzept.com

Kernkonzept GmbH.  Sitz: Dresden.  Amtsgericht Dresden, HRB 31129.
Geschäftsführer: Dr.-Ing. Michael Hohmuth

_______________________________________________
l4-hackers mailing list -- [email protected]
To unsubscribe send an email to [email protected]
OpenPGP_signature.asc (application/pgp-signature, 840 B)
-----BEGIN PGP SIGNATURE-----

wsF5BAABCAAjFiEEO7T7Jq7ah1WoVcqMg8udkTKw7CEFAmcrp30FAwAAAAAACgkQg8udkTKw7CFu
fxAAh0g5cZvm45MCMAUzwAjlxQn0NEynZ4Iv7pTjPGQ9y7eSgnmC6ge1fyE0aCLnIS5qBsDeaiG2
RD3Gx3QL/G6ECW/bbgi1jNTXRJrQMunzN0JnyRn97QBY0TcchwkFr7zNhuaZhv8RxzlaEK+F1FN7
PVt+PCEqHbxWLzVoVy4bPcM911vzS/Nli+Lj5T8/MlrKu4zEdd3Hyasdchfbg8MYrrUEUatD3WmE
LXKnCm/Y8PKQP2FheL1fi77K3CMVueXrCf2Mn5pjLqKciElRVNcxCcNFJzWHA5V7M1cAxsw4SrDu
FaWr+sO1y8awe+o7BTtIe/CFj84Na4HXp4Pe4nn6ulj6o3KPeMlK572FbPI14Y9OMj4Ta9T4u8Vk
XISr0XP9XDYH72K8HF3mejfY72opXfHorIkS7DN/pVJRDbCRJyCp/UqFnnhiffRKdZYCs5Uq97ZS
Yd8PJfx/HGB521Q6/ScgVnhC9fm0jHZ/+6e0iyp0lvLSGN33pCko4/FWCSJbwhORQd5/4q2aEui5
hp47f5+Wy3EPX4R/8wlS0I/jGSpTGauF3EI+pNLakuT5VUxx5k2uueIK3A44oqCmDpNzyNlc5m3F
cCwS0cpNIDgBu7Se0kjDxZa0oihEXvanp/8FlaVrjEx8azwfJNQk7SXJZcCHbZdRV4RfV02+ZpkV
qDk=
=rf5d
-----END PGP SIGNATURE-----