在qemu virt平台运行xen, guest OS Dom0 Mini-OS

该篇博客详细介绍了如何在AARCH64架构下编译Mini-OS并使用QEMU进行模拟运行。首先从GitHub下载或使用预修改的Mini-OS源代码,通过指定参数执行`make`生成可执行文件。接着,配置QEMU参数启动Xen和Mini-OS,并展示QEMU的启动过程。在Mini-OS运行过程中,可以看到一系列内核信息输出,表明Mini-OS成功加载并运行。

1)编译mini-os

        到github上去下载合适的mini-os源文件,或者使用博主下载的mini-os

注:博主已修改过一些东西,不需要的则可自行下载。

编译生成可执行文件:

make MINIOS_COMPILE_ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu-

编译生成文件mini-os.img,将其拷贝至跟xen同一目录下。

2)运行 Qemu Xen Dom0 Mini-OS

qemu-system-aarch64 -machine virt,gic_version=3 -machine virtualization=true -cpu cortex-a57 -machine type=virt -m 2048 -smp 4 -bios u-boot.bin -device loader,file=xen,force-raw=on,addr=0x49000000 -device loader,file=mini-os.img,addr=0x47000000 -device loader,file=virt-gicv3.dtb,addr=0x44000000 -nographic -no-reboot -chardev socket,id=qemu-monitor,host=localhost,port=7777,server,nowait,telnet -mon qemu-monitor,mode=readline

U-Boot 2019.01 (Aug 25 2021 - 02:57:47 -0700)

DRAM:  2 GiB
Flash: 128 MiB
*** Warning - bad CRC, using default environment

In:    pl011@9000000
Out:   pl011@9000000
Err:   pl011@9000000
Net:   No ethernet found.
Hit any key to stop autoboot:  0 
=> 

配置设备树:

setenv xen_bootargs 'dom0_mem=512M'
fdt addr 0x44000000
fdt resize
fdt set /chosen \#address-cells <1>
fdt set /chosen \#size-cells <1>
fdt mknod /chosen module@0
fdt set /chosen/module@0 compatible "xen,linux-zimage" "xen,multiboot-module"
fdt set /chosen/module@0 reg <0x47000000 0x29388>
booti 0x49000000 - 0x44000000

mini-os运行结果:

U-Boot 2019.01 (Aug 25 2021 - 02:57:47 -0700)

DRAM:  2 GiB
Flash: 128 MiB
*** Warning - bad CRC, using default environment

In:    pl011@9000000
Out:   pl011@9000000
Err:   pl011@9000000
Net:   No ethernet found
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值