l4re Getting started

简介: l4re Getting started



The L4Re Microkernel, Adam Lackorzynski,June 2018

 

开发环境: ubuntu 20.04

编译目标平台:x86

验证平台:qemu

1、环境搭建

1)下载源码
https://l4re.org/download/snapshots/l4re-base-22.04.0.tar.xz
2)安装相关工具
apt install make dialog gawk g++ binutils pkg-config g++-multilib flex bison device-tree-compiler mtools qemu-system-i386

2、编译

编译 l4re 框架

1)编译配置
cd l4re-base-22.04.0 && make setup
2) 编译
make -j8

编译微内核 fiasco.oc:

1)cd src/kernel/fiasco
2)make BUILDDIR=mybuild
3)cd mybuild
4)make config
5)make -j8

3、运行

1)cd src/l4/mybuild
2) make grub2iso E=hello MODULE_SEARCH_PATH=./../../src/fiasco/mybuild/

附录

L4Re

L4Re(原名为L4Ka::Pistachio)是一款基于微内核设计的操作系统,旨在为嵌入式系统和虚拟化提供支持。它是L4微内核操作系统家族的一部分,基于L4微内核设计。


L4Re的设计具有模块化和可定制化的特点,允许开发人员为特定用例创建自定义配置。它提供一个最小的内核来管理硬件资源并提供基本的系统服务,而大部分操作系统功能都是在内核之上运行的用户级进程实现的。


L4Re经常用于嵌入式系统中,如工业自动化、汽车和航空航天应用程序,以及虚拟化环境中,如虚拟机监视器和容器系统。它在GNU通用公共许可证(GPL)版本2下提供。


L4Re & Fiasco

Fiasco是L4架构的微内核组件。它是一个小巧且模块化的内核,提供基本的硬件抽象和管理低级硬件资源,如内存、中断和I/O。Fiasco还提供了一个接口,让用户级组件可以与硬件和其他用户级组件进行通信。


另一方面,L4Re是一个用户级框架,提供了一组库、工具和应用程序,可以运行在Fiasco微内核之上。L4Re利用Fiasco提供的基本功能创建了一个完整的操作系统,具有模块化和可定制化的特性。


L4Re和Fiasco的关系可以比作房子和它的基础构架。Fiasco是构成操作系统基础的微内核,而L4Re则是在这个基础上建立的一个完整的用户级操作系统。L4Re依赖于Fiasco来提供底层的硬件管理和抽象层,同时还提供了一些高级的服务和库来方便应用程序的开发和运行。


总的来说,L4Re和Fiasco是L4微内核架构中不同层次的组件,它们紧密结合在一起构成了一个灵活、可定制和安全的操作系统架构。


seL4

L4Re是一个面向嵌入式系统和虚拟化的操作系统,它旨在提供一个模块化、可定制和高度灵活的用户级操作系统框架。它基于L4微内核和Fiasco微内核,提供了一组库、工具和应用程序来方便开发人员构建和部署各种嵌入式和虚拟化系统。


seL4是一个高度安全的操作系统,它旨在提供最高级别的保护和隔离。它采用了严格的形式化验证方法来证明其正确性和安全性,这使得它能够被广泛用于高度安全的领域,如国防、金融和关键基础设施。seL4的设计使得它能够提供严格的隔离和保护,从而防止恶意软件或攻击者对系统进行攻击或破坏。


尽管L4Re和seL4都是基于微内核的操作系统,但它们的设计和用例有所不同。L4Re旨在提供灵活和可定制的嵌入式和虚拟化系统,而seL4旨在提供高度安全的操作系统,可以用于安全性要求非常高的领域。


皮格马利翁效应心理学指出,赞美、赞同能够产生奇迹,越具体,效果越好~

“收藏夹吃灰”是学“器”练“术”非常聪明的方法,帮助我们避免日常低效的勤奋~


相关文章
|
编译器 Linux 调度
makfile的编译选项:CFLAGS、CPPFLAGS、LDFLAGS、LIBS
makfile的编译选项:CFLAGS、CPPFLAGS、LDFLAGS、LIBS
3641 0
|
算法 安全 芯片
OP-TEE中的密码学算法
OP-TEE中的密码学算法
524 0
|
存储 缓存 Linux
Linux内核文件系统:比万物之神还要强大的存储魔法!
Linux内核文件系统:比万物之神还要强大的存储魔法!
|
缓存 Linux 调度
CPU 隔离:Nohz_full
SUSE Labs 团队探索了 Kernel CPU 隔离及其核心组件之一:Full Dynticks(或 Nohz Full),并撰写了本系列文章.
2199 0
CPU 隔离:Nohz_full
|
网络协议 开发工具 git
解决 git 报错 “fatal: unable to access ‘https://github.com/.../.git‘: Recv failure Connection was rese
在使用 Git/Git小乌龟 进行代码管理的过程中,经常会遇到各种各样的问题,其中之一就是在执行 git clone 或 git pull 等操作时出现 “fatal: unable to access ‘https://github.com/…/.git’: Recv failure Connection was reset” 的报错。这个问题通常是由网络连接问题或代理设置不正确导致的。在我的个人使用经验中,我亲自尝试了四种方法,它们都能够有效地解决这个报错。个人比较推荐方法二。
9348 1
|
缓存 网络协议 网络架构
以太网数据链路层、Ethernet_II帧格式、IEEE802.3帧格式,以太网的MAC地址的组成,ARP地址解析协议的工作原理,单播帧、组播帧、广播帧的区别
数据链路层,Ethernet_II帧格式、IEEE802.3帧格式,帧格式的区分以及链路层每种帧格式有什么作用,怎么区别分辨帧格式,以太网MAC地址的组成,ARP地址解析协议原理、什么是单播帧?什么是组播数据帧?什么是广播帧?...............
2099 0
以太网数据链路层、Ethernet_II帧格式、IEEE802.3帧格式,以太网的MAC地址的组成,ARP地址解析协议的工作原理,单播帧、组播帧、广播帧的区别
|
安全 Linux 虚拟化
minos 2.1 中断虚拟化——ARMv8 异常处理
越往后,交叉的越多,大多都绕不开 ARMv8 的异常处理,所以必须得先了解了解 ARMv8 的异常处理流程 先说一下术语,从手册中的用词来看,在 x86 平台,一般将异常和中断统称为中断,在 ARM 平台,一般将中断和异常统称为异常
549 3
minos 2.1 中断虚拟化——ARMv8 异常处理
|
网络协议 测试技术 网络性能优化
Android系统 以太网吞吐量和丢包测试
Android系统 以太网吞吐量和丢包测试
1605 1
|
Ubuntu 应用服务中间件 nginx
docker--导出镜像 save/export、导入镜像 load/import
docker--导出镜像 save/export、导入镜像 load/import
22339 1
|
JSON Linux API
嵌入式设备的 Json 库基本使用
嵌入式设备的 Json 库基本使用
855 0