Kernel 停留在;正在启动内核…”;在U-boot命令提示符中,在RaspberryPi 3上使用xvisor

Kernel 停留在;正在启动内核…”;在U-boot命令提示符中,在RaspberryPi 3上使用xvisor,kernel,raspberry-pi3,embedded-linux,u-boot,hypervisor,Kernel,Raspberry Pi3,Embedded Linux,U Boot,Hypervisor,我正在使用xvisor(一个使用虚拟化在RPi3上运行多个操作系统的虚拟机监控程序)。我使用跨编译器aarch64 linux gnu在我的PC上构建了u-boot、dtb文件和RPi内核映像,遵循官方Xvisor repo文档中的步骤 但是,在成功构建所有内容之后,当从U-boot命令提示符引导内核时,在执行bootm命令后,它会陷入“启动内核…”状态 U-Boot> mmc dev 0:0 switch to partitions #0, OK mmc0 is current devi

我正在使用xvisor(一个使用虚拟化在RPi3上运行多个操作系统的虚拟机监控程序)。我使用跨编译器aarch64 linux gnu在我的PC上构建了u-boot、dtb文件和RPi内核映像,遵循官方Xvisor repo文档中的步骤

但是,在成功构建所有内容之后,当从U-boot命令提示符引导内核时,在执行
bootm
命令后,它会陷入“启动内核…”状态

U-Boot> mmc dev 0:0
switch to partitions #0, OK
mmc0 is current device
U-Boot>  ext4load mmc 0:2 0x200000 uvmm.bin
1947480 bytes read in 239 ms (7.8 MiB/s)
U-Boot> ext4load mmc 0:2 0x800000 bcm2837-rpi-3-b.dtb
3787 bytes read in 150 ms (24.4 KiB/s)
U-Boot> ext4load mmc 0:2 0x2000000 udisk.img
33554496 bytes read in 1896 ms (16.9 MiB/s)
U-Boot> bootm 0x200000 0x2000000 0x800000
## Booting kernel from Legacy Image at 00200000 ...
   Image Name:   Xvisor
   Image Type:   AArch64 Linux Kernel Image (uncompressed)
   Data Size:    1947416 Bytes = 1.9 MiB
   Load Address: 00080000
   Entry Point:  00080000
   Verifying Checksum ... OK
## Loading init Ramdisk from Legacy Image at 02000000 ...
   Image Name:   Xvisor Ramdisk
   Image Type:   AArch64 Linux RAMDisk Image (gzip compressed)
   Data Size:    33554432 Bytes = 32 MiB
   Load Address: 00000000
   Entry Point:  00000000
   Verifying Checksum ... OK
## Flattened Device Tree blob at 00800000
   Booting using the fdt blob at 0x800000
   Loading Kernel Image ... OK
   Loading Ramdisk to 39b4e000, end 3bb4e000 ... OK
   reserving fdt memory region: addr=0 size=8000
   Loading Device Tree to 0000000039b4a000, end 0000000039b4deca ... OK

Starting kernel ...

一旦内核启动(如果确实启动了),那么控制台输出将使用内核命令行中指定的设备执行,该设备将使用U-Boot环境变量bootargs的文本传递给内核。那么在内核启动之前,什么是引导参数呢?顺便说一句,使用终端仿真器的日志功能捕获并粘贴文本,或者复制并粘贴文本,而不是发布屏幕捕获图像。我们使用命令“setenv bootargs console=ttys0115200n8”设置引导参数,仍然发生同样的问题。请仔细检查设备树中是否配置了串行端口。否则,您可以尝试earlycon(或earlyprintk),尽管支持必须配置并内置到内核中。看,是的,的确,你是对的。我们检查了dts文件,分配给客户操作系统的uart外围设备是辅助设备(仅通过蓝牙连接)。因此,现在我们正在搜索如何编辑此dts文件以分配主uart。这是dts文件uart0{manifest_type=“virtual”address_type=“memory”guest_physical_addr=;physical_size=;device_type=“serial”compatible=“primecell,arm,pl011”fifo_size=;interrupts=;};