pc386 hello.exe on real hardware (issues with VGA/VBE output)

Chris Johns chrisj at rtems.org
Wed Aug 26 07:53:50 UTC 2020


On 26/8/20 7:56 am, Karel Gardas wrote:
> 
> while testing pc386 BSP to write some verified information bits into the
> manual I've hit very simple issue. 

Thank you for doing this, it is really great to see it happening.

> I'm not able to run hello.exe on real
> hardware PC w/o UART1 presented/connected and get its expected "Hello"
> output to the VGA/GPU console. I think RTEMS still pushed hello message
> down to the UART1.

I just want to understand what UART1 is. Is it COM1?

> What I have tried is:
> 
> One of: --video=auto/--video=1440x900/--video=1280x800/--video=off
> parameteres in combination with nothing or --console=/dev/vgacons

I have not played with the --video options.

> RTEMS boots well (using builtin NIC pxe loading ipxe loading manually
> hello.exe from tftp server), but what I see only are messages from
> FB_VESA_RM (2 or 3 lines depending on --video param) and then:
> 
> ELCR Found.  ISA IRQas prohrammed as:
>   0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
>   E E E E E E E E E E E  L  E  E  E  E
> PCI bus: using PCI BIOS interface
> Legacy UART Ports: COM1-COM4

Looks good. The legacy UART ports have been found. You can disable them with
`--disable-com1-com4`. This option is used if you have a PCI resident UART ports.

> and that's all.
> 
> I'm curious why even --video=off --console=/dev/vgacons is not working.
> 
> Does anybody have any experience with output on PC console with recent
> RTEMS? By recent I mean I'm testing 5.1.rc2 here...

I have been doing this but I have not been testing the console options. I have a
iPXE bootloader on a USB stick because the resident Intel PXE BIOS has a bug
with the ISC DHCP server on FreeBSD where the server responses from the DHCP
server never make it to the wire. The config is:

$ cat rtems-config.ipxe
#!ipxe
:dhcp_again
dhcp || goto dhcp_again
echo Booting RTEMS ....
chain tftp://10.10.5.2/rtems.exe --console=/dev/com1,115200
--printk=/dev/com1,115200
reboot

I build iPXE on Linux with:

make -j 10 EMBED=../../rtems-config.ipxe

I would need to rebuild the USB stick to change it to test and I am not in the
office.

> BTW: hardware tested is lenovo thinkpad t400 and lenovo thinkpad t500 so
> far. Attempt to boot on more modern hardware failed on UEFI PXE boot
> which is probably not supported by RTEMS .exe binary at all. -- my
> assumption based on what x86_64 BSP needs to do in order to boot on
> UEFI. Please correct if I'm wrong, uefi pxe was tested on asrock b450 so
> far only...

You are correct. I have not found a way to have UEFI boot chain to a multiboot
image, then again I have not looked in any detail. Being able to chain would be
the simplest solution but I am not sure if it is possible.

Chris


More information about the users mailing list