bao-project / bao-demos

A guide on how to build and use a set of Bao guest configurations for various platforms
Other
33 stars 37 forks source link

I encountered the following problems when using Raspberry Pi 4b to run bao, and the prompt information printed by the serial port is as follows #20

Open wusnga8dn opened 1 year ago

wusnga8dn commented 1 year ago

U-Boot 2022.10 (Apr 11 2023 - 00:36:12 -0700)

DRAM: 7.9 GiB RPI 4 Model B (0xd03114) Core: 202 devices, 16 uclasses, devicetree: board MMC: mmcnr@7e300000: 1, emmc2@7e340000: 0 Loading Environment from FAT... Unable to read "uboot.env" from mmc0:1...
In: serial
Out: serial
Err: serial
Net: eth0: ethernet@7d580000
PCIe BRCM: link up, 5.0 Gbps x1 (SSC)
starting USB...
Bus xhci_pci: Register 5000420 NbrPorts 5
Starting the controller
USB XHCI 1.00
scanning bus xhci_pci for devices... 2 USB Device(s) found
scanning usb for storage devices... 0 Storage Device(s) found
Hit any key to stop autoboot: 0
switch to partitions #0, OK
mmc0 is current device
Scanning mmc 0:1...
Card did not respond to voltage select! : -110
No EFI system partition
BootOrder not defined
EFI boot manager: Cannot load any image
Card did not respond to voltage select! : -110
MMC Device 2 not found
no mmc device at slot 2

Device 0: unknown device
ethernet@7d580000 Waiting for PHY auto negotiation to complete......... TIMEOUT! bcmgenet: PHY startup failed: -110
missing environment variable: pxeuuid
Retrieving file: pxelinux.cfg/01-e4-5f-01-40-9c-76
ethernet@7d580000 Waiting for PHY auto negotiation to complete......... TIMEOUT! bcmgenet: PHY startup failed: -110

DavidMCerdeira commented 1 year ago

We were able to replicate the issue. In the following we days we'll track down the problem and issue a fix.

josecm commented 1 year ago

@wusnga8dn Can you confirm you followed these instructions:

--------------------------------------------------------------------------------  
5) Run u-boot commands                                                            

Quickly press any key to skip autoboot. If not possibly press ctrl-c until        
you get the u-boot prompt. Then load the bao image, and jump to it:               

    fatload mmc 0 0x200000 bao.bin; go 0x200000                                   

You should see the firmare, bao and its guests printing on the UART.              

I get the same U-boot output as you, if I don't press any key. As soon I press Ctrl+C I get the prompt and I am able to load the image and jump to it.

josecm commented 1 year ago

Btw, if you are using minicom, I've experienced not being able to input any characters. To fix this issue make sure you disable Hardware and Software Flow Control in the Serial Port Setup (press ctr+o to get there)

wusnga8dn commented 1 year ago

Btw, if you are using minicom, I've experienced not being able to input any characters. To fix this issue make sure you disable Hardware and Software Flow Control in the Serial Port Setup (press ctr+o to get there)

Thank you very much for your help, when I disabled Hardware and Software Flow Control when using minicom, I can input commands normally: fatload mmc 0 0x200000 bao.bin; go 0x200000 The prompt information printed after entering the command is as follows: U-Boot> fatload mmc 0 0x200000 bao.bin; go 0x200000 50032640 bytes read in 2103 ms (22.7 MiB/s)

Starting application at 0x00200000  …

Bao Hypervisor I don't seem to see firmare, bao and their guests printing on the UART, is this normal?

wusnga8dn commented 1 year ago

This is all the information printed by my serial port, the cursor no longer prints the information 3 0U2_@JHAZ@)CR} BFFS4O

josecm commented 1 year ago

@wusnga8dn I believe we've fixed the issues with the raspberry pi boot. Can you please try it out again? (Please note you have to use a fresh clone of the repo or at least delete the wrkdir/imgs/rpi4/linux+freertos and bao and freertos directories in wrkdir/srcs.

Please let me know if it is working for you now.

wusnga8dn commented 1 year ago

Hi Jose Martins, when I connect the ethernet cable directly from your computer to For the Raspberry Pi, statically configure the IP for the wired connection: 192.168.42.2. The specific configuration is as shown in the figure:

7157655ebbd282baa89ab3a0e5a6803 (1)

But when I ping the address 192.168.42.15, the error message is as follows: ubuntu@ubuntu:~$ ping 192.168.42.15 PING 192.168.42.15 (192.168.42.15) 56(84) bytes of data. From 192.168.42.2 icmp_seq=1 Destination Host Unreachable From 192.168.42.2 icmp_seq=2 Destination Host Unreachable From 192.168.42.2 icmp_seq=3 Destination Host Unreachable From 192.168.42.2 icmp_seq=4 Destination Host Unreachable From 192.168.42.2 icmp_seq=5 Destination Host Unreachable From 192.168.42.2 icmp_seq=6 Destination Host Unreachable I would like to ask, what is the reason for this, is it because linux is not running in the bao framework The reason for the guest? Because I didn't see a prompt message similar to Bao Linux guest in the startup information

josecm commented 1 year ago

@wusnga8dn is this particular issue solved? If so, could you share what the problem was?

tupelo-shen commented 1 year ago

This is all the information printed by my serial port, the cursor no longer prints the information 3 0U2_@JHAZ@)CR} BFFS4O

I encounter this problem as i first run bao+linux+freertos on rpi4 too. At this point, Cannot connect my Computer by SSH because guest os is not booted.

I try this failed many times even though I freshly git clone bao-demos project. To see what happened, I added prink messages in the init.c file of the bao-hypervisor sources and deleted wrkdir/imgs/rpi4/linux+freertos directory manually. (make clean command seems to be not work on). Then it crashed when I try to run bao.bin but it succeeded to boot freertos guest and linux guest after i recompiled. But i don't know what does cause this. Maybe the Makefile is not working properly when first make.

Successful result is as follows:

U-Boot> fatload mmc 0 0x200000 bao.bin ; go 0x200000
50032640 bytes read in 2142 ms (22.3 MiB/s)
## Starting application at 0x00200000 ...
Bao Hypervisor
Bao Hypervisor
Bao Hypervisor
Bao Hypervisor
Bao Hypervisor
Bao FreeRTOS guest
Task1: 0
Task2: 0
Task1: 1
Task2: 1

linux guest:

# cat /proc/cpuinfo
processor       : 0
BogoMIPS        : 108.00
Features        : fp asimd evtstrm crc32 cpuid
CPU implementer : 0x41
CPU architecture: 8
CPU variant     : 0x0
CPU part        : 0xd08
CPU revision    : 3

processor       : 1
BogoMIPS        : 108.00
Features        : fp asimd evtstrm crc32 cpuid
CPU implementer : 0x41
CPU architecture: 8
CPU variant     : 0x0
CPU part        : 0xd08
CPU revision    : 3

processor       : 2
BogoMIPS        : 108.00
Features        : fp asimd evtstrm crc32 cpuid
CPU implementer : 0x41
CPU architecture: 8
CPU variant     : 0x0
CPU part        : 0xd08
CPU revision    : 3

# uname -a
Linux buildroot 6.1.0 #2 SMP PREEMPT Wed May 24 18:27:23 CST 2023 aarch64 GNU/Linux
#
josecm commented 10 months ago

@wusnga8dn @tupelo-shen, sorry for not being able to provide the necessary support. Were you able to overcome this issue? If so could you tell us how? If not, do you still need support? Otherwise I'll just close the issue...