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

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

被折叠的 条评论
为什么被折叠?



