Re: How to use the L4 Microkernel with a FreeBSD userland.

From: Mark Millard <marklmi_at_yahoo.com>
Date: Sun, 11 Feb 2024 20:19:37 UTC
On Feb 11, 2024, at 12:00, Mark Millard <marklmi@yahoo.com> wrote:

> [Only replying to what I've subscribed to --and I dropped
> Warner as well.]
> 
> On Feb 11, 2024, at 11:43, Mario Marietto <marietto2008@gmail.com> wrote:
> 
>> ok. But what does this mean ? That I can use whatever Linux distro I want ? Or even the FreeBSD world ?
> 
> Only to build L4Re.
> 
> The LR4e built will not contain any Linux userland materials,
> nor any FreeBSD userland materials. LR4e has its own userland
> materials that will be present instead.
> 
> http://os.inf.tu-dresden.de/download/snapshots/pre-built-images/arm64/
> 
> already contains pre-built .elf and .uimage files Why not use one
> of those on the RPi4B?
> 
> By size (larger), the most complete ones for the RPi4B seem to be
> (both formats):
> 
> http://os.inf.tu-dresden.de/download/snapshots/pre-built-images/arm64/bootstrap_vm-multi_rpi4.elf
> http://os.inf.tu-dresden.de/download/snapshots/pre-built-images/arm64/bootstrap_vm-multi_rpi4.uimage
> 
> http://os.inf.tu-dresden.de/download/snapshots/pre-built-images/arm64/bootstrap_vm-basic_rpi4.elf
> http://os.inf.tu-dresden.de/download/snapshots/pre-built-images/arm64/bootstrap_vm-basic_rpi4.uimage

May be you are wanting to run FreeBSD in a virtual machine
in the LR4e environment? For example,

http://os.inf.tu-dresden.de/L4Re/screens.html

shows a "Virtualized Linux running in a window" that is using
a virtual machine environment to run Linux in, not directly
using the Linux userland with the microkernel. It also shows
an example of "A vritual machine" that shows a GNU GRUB
running in the virtual machine.

For this the pre-built images should be sufficient: no need to
build your own L4Re. It is the virtual machine configuration
that would be then at issue.

>> On Sun, Feb 11, 2024 at 7:59 PM Mark Millard <marklmi@yahoo.com> wrote:
>> 
>> 
>> On Feb 11, 2024, at 05:44, Mario Marietto <marietto2008@gmail.com> wrote:
>> 
>>> I'm trying to understand how to use the L4 Microkernel with a FreeBSD userland. I've asked the same to a L4 developer,but he told me that he does not know FreeBSD,so I'm here to ask the same question. First of all I'm sure that it can be done,because it is written clearly on their website :
>>> 
>>> 
>>> http://os.inf.tu-dresden.de/L4Re/download/snapshots/
>>> 
>>> 
>>> on the section :
>>> Host system requirements
>>> The host system shall be a 64bit-based system with a recent Linux distribution installed and at least 2GB of free disk space.
>>> All necessary tools required by the build are available from the provided packages of the Linux distributions, including cross compilers. But there are also other cross compiler packages available (see below). You might want to run make check_build_tools in the src/l4 directory to verify the common tools are installed.
>>> You are free to use any Linux distribution you like, or even BSDs or any of its derivatives. But then you should know the game. Especially tool versions should be recent, as installed on the listed distributions below.
>>> We are confident that the snapshot works on the following distributions:
>>>    • Debian 11 or later
>>>    • Ubuntu 22.04 or later
>>> 
>>> Let's say I want to use the L4 microkernel + FreeBSD 14 on my Raspberry Pi 4,the first step I did was to build L4Re for the Rpi,according with this instructions :
>>> 
>>> 
>>> http://os.inf.tu-dresden.de/L4Re/rpi.html 
>>> 
>>> This is the log file of the compilation,that hasn't given any  error :
>>> 
>>> 
>>> https://pastebin.ubuntu.com/p/6SwN2mpJBM/
>>> 
>>> 
>>> Or I could have taken a pre built image of the L4 microkernel here : 
>>> 
>>> 
>>> http://os.inf.tu-dresden.de/download/snapshots/pre-built-images/arm64/
>>> 
>>> 
>>> 
>>> At this point the tutorial says that I should use a Linux distro. They suggest the official distro for the Raspberry Pi 4,that's RaspBian. But I don't want to use Linux as a userland,I want to use FreeBSD. The question now is : what should I do to achieve that goal ? How can I link the L4 microkernel with the ubldr bootloader of FreeBSD ? Or should I link it to the kernel of FreeBSD ? Can someone explain to me the missing step ? thanks.
>> 
>> QUOTING the "Configuring yourself" section:
>> The make setup step configures predefined setups for both the L4Re microkernel (Fiasco) and the L4Re user-level software, and connects both together so the images for the target system can be built.
>> END QUOTE
>> 
>> So L4Re has its own user-level software, not just a kernel. There is no use of a Linux or FreeBSD user-level software
>> when L4Re is booted. (They are just used for building.)
>> 
>> "The host system" is just a host for building the L4Re parts and assembling the image from the parts. The "Pulling it together" section is about combining the parts (including the microkernel and the user-level software) to make the overall image that does not include Linux or FreeBSD code.



===
Mark Millard
marklmi at yahoo.com