飞腾Phytium Jailhouse 运行Free RTOS

目录

Jailhouse

Free RTOS

总结


验证的硬件板卡使用飞腾e2000q cpu

  • Jailhouse

下载buildroot源码并编译

使用集成jailhouse的buildroot根文件系统(参考文档Phytium-Linux-buildroot: Buildroot是一种简单、高效且易于使用的工具,可以通过交叉编译生成嵌入式Linux系统。Buildroot的用户手册位于docs/manual/manual.pdf。phytium-linux-buildroot基于Buildroot,适配了E2000,飞腾派等飞腾CPU,支持ubuntu/Debian文件系统、initrd文件系统、最小文件系统的编译。):

git clone https://gitee.com/phytium_embedded/phytium-linux-buildroot
cd phytium-linux-buildroot
./support/kconfig/merge_config.sh configs/phytium_defconfig configs/jailhouse.config
make -j$(nproc)

编译成功后在phytium-linux-buildroot/output/images目录下生成rootfs.tar、Image、*.dtb等文件。

测试板卡使用U盘作为系统盘启动,U盘格式为ext4,把rootfs.tar解压到U盘根,并在U盘新建boot目录,把Image、*.dtb文件复制该目录下。

运行buildroot并测试Jailhouse

uboot下加载linux内核并且启动根文件系统:

setenv bootargs console=ttyAMA1,115200 audit=0 earlycon=pl011,0x2800d000 root=/dev/sda1 rootwait rw mem=1G
usb start;ext4load usb 0:1 ${kernel_addr} boot/Image;ext4load usb 0:1 ${ft_fdt_addr} boot/e2000q-come-board.dtb;booti ${kernel_addr} - ${ft_fdt_addr}

顺利进入系统,运行简单Jailhouse测试。

因为jailhouse分配资源时会占用uart1调试串口,导致串口控制台不能输入,使用网络ssh登录,使用ssh控制台输入jailhouse命令(参考文档Phytium-Jailhouse: 基于飞腾CPU移植的Jailhouse demo示例。):

insmod /lib/modules/5.10.209-phytium-embedded-v2.2/jailhouse/driver/jailhouse.ko
/usr/local/sbin/jailhouse enable /etc/jailhouse/e2000q.cell
/usr/local/sbin/jailhouse cell create /etc/jailhouse/e2000q-inmate-demo.cell
/usr/local/sbin/jailhouse cell load 1 /usr/local/libexec/jailhouse/demos/uart-demo.bin
/usr/local/sbin/jailhouse cell start 1

成功执行结果如下:

# [  239.279305] jailhouse: loading out-of-tree module taints kernel.

Initializing Jailhouse hypervisor  on CPU 1
Code location: 0x0000ffffc0200800
Page pool usage after early setup: mem 45/4066, remap 0/131072
Initializing processors:
 CPU 1... OK
 CPU 0... OK
 CPU 2... OK
 CPU 3... OK
Initializing unit: irqchip
Initializing unit: ARM SMMU v3
Initializing unit: ARM SMMU
Initializing unit: PVU IOMMU
Initializing unit: PCI
Adding virtual PCI device 00:00.0 to cell "e2000q"
Page pool usage after late setup: mem 385/4066, remap 65680/131072
Activating hypervisor
[  244.982054] The Jailhouse is opening.
[  258.187482] CPU0: shutdown
[  258.190270] psci: CPU0 killed (polled 0 ms)
Adding virtual PCI device 00:00.0 to cell "inmate-demo"
Shared memory connection established, peer cells:
 "e2000q"
Created cell "inmate-demo"
Page pool usage after cell creation: mem 399/4066, remap 65680/131072
[  258.217722] Created Jailhouse cell "inmate-demo"
Cell "inmate-demo" can be loaded
Started cell "inmate-demo"
Hello 1 from cell!
Hello 2 from cell!
Hello 3 from cell!
Hello 4 from cell!
Hell

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值