Discussion:
How to use the L4 Microkernel with a FreeBSD userland.
(too old to reply)
Mario Marietto
2024-02-11 13:44:14 UTC
Permalink
Hello to everyone.

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.
--
Mario.
Mark Millard
2024-02-11 18:58:56 UTC
Permalink
Post by Mario Marietto
http://os.inf.tu-dresden.de/L4Re/download/snapshots/
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.
• Debian 11 or later
• Ubuntu 22.04 or later
http://os.inf.tu-dresden.de/L4Re/rpi.html
https://pastebin.ubuntu.com/p/6SwN2mpJBM/
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



--
Posted automagically by a mail2news gateway at muc.de e.V.
Please direct questions, flames, donations, etc. to news-***@muc.de
Mario Marietto
2024-02-11 21:20:31 UTC
Permalink
I will do it as soon as I get all the necessary tools to turn on the
Raspberry Pi 4b. I was thinking that L4 worked like the old project
coLinux,where Linux ran as a list of processes under WIndows. In my sick
mind I'd thought that L4 allows FreeBSD to run as a list of processes with
the L4 microkernel itself on "top" of it. Do you know if something like
this exists ?
Post by Mark Millard
[Only replying to what I've subscribed to --and I dropped
Warner as well.]
Post by Mario Marietto
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
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
Post by Mario Marietto
Post by Mario Marietto
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
Post by Mario Marietto
Post by Mario Marietto
http://os.inf.tu-dresden.de/L4Re/download/snapshots/
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.
Post by Mario Marietto
Post by Mario Marietto
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.
Post by Mario Marietto
Post by Mario Marietto
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.
Post by Mario Marietto
Post by Mario Marietto
We are confident that the snapshot works on the following
• 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
Post by Mario Marietto
Post by Mario Marietto
http://os.inf.tu-dresden.de/L4Re/rpi.html
https://pastebin.ubuntu.com/p/6SwN2mpJBM/
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.
Post by Mario Marietto
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.
Post by Mario Marietto
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
Post by Mario Marietto
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
--
Mario.
Mario Marietto
2024-02-11 19:43:59 UTC
Permalink
ok. But what does this mean ? That I can use whatever Linux distro I want ?
Or even the FreeBSD world ?
Post by Mario Marietto
Post by Mario Marietto
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
Post by Mario Marietto
http://os.inf.tu-dresden.de/L4Re/download/snapshots/
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.
Post by Mario Marietto
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.
Post by Mario Marietto
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.
Post by Mario Marietto
• 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
Post by Mario Marietto
http://os.inf.tu-dresden.de/L4Re/rpi.html
https://pastebin.ubuntu.com/p/6SwN2mpJBM/
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.
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
--
Mario.
Mark Millard
2024-02-11 20:00:48 UTC
Permalink
[Only replying to what I've subscribed to --and I dropped
Warner as well.]
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
Post by Mario Marietto
http://os.inf.tu-dresden.de/L4Re/download/snapshots/
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.
• Debian 11 or later
• Ubuntu 22.04 or later
http://os.inf.tu-dresden.de/L4Re/rpi.html
https://pastebin.ubuntu.com/p/6SwN2mpJBM/
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.
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



--
Posted automagically by a mail2news gateway at muc.de e.V.
Please direct questions, flames, donations, etc. to news-***@muc.de
Mark Millard
2024-02-11 20:19:37 UTC
Permalink
Post by Mark Millard
[Only replying to what I've subscribed to --and I dropped
Warner as well.]
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
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.
Post by Mark Millard
Post by Mario Marietto
http://os.inf.tu-dresden.de/L4Re/download/snapshots/
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.
• Debian 11 or later
• Ubuntu 22.04 or later
http://os.inf.tu-dresden.de/L4Re/rpi.html
https://pastebin.ubuntu.com/p/6SwN2mpJBM/
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.
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



--
Posted automagically by a mail2news gateway at muc.de e.V.
Please direct questions, flames, donations, etc. to news-***@muc.de
Loading...