Along with v4.8.0.6 and v4.0.21 we introduced possibility to enable COM2 as themain serial port for serial console output in coreboot and SeaBIOS. Because thisis not enabled in runtime configuration, separate binary must be built in orderto get the output on COM2.
PC-Engines have recently released a new computer, the APU2C family. In the user manual dated 08-JAN-2016, no information about OPNsense support is provided. Booting the OPNsense 16.1 installer starts of quite promising (FreeBSD is known to work, after all), but fails miserably.
Since releae v4.8.0.7 and v4.0.22 output redirection to COM2 became possible viaruntime configuration. Supported sortbootorder and SeaBIOS versions are v4.6.12and rel-1.11.0.7 respectively. For details see COM2 runtime configuration
Building coreboot firmware with console on COM2
Building image capable of printing output on COM2 is relatively easy.
Users guide
To build the firmware from scratch and change the output to COM2 follow thesteps:
- Clone the pce-fw-builder
- Pull or builddocker container:
or for legacy:
- Build v4.8.0.6 image (v4.0.21 for legacy):
- Make changes to menuconfig:
In order to change serial port, go to Console menu and change
Index for UART port to use for console
to 1
. You will see that commentbelow *** Serial port base address = 0x3f8 ***
will change to*** Serial port base address = 0x2f8 ***
(this comment is not displayed inlegacy). Then go to Payload menu and type the changed serial port base address(0x2f8
) to SeaBIOS sercon-port base address
field. Now save new config.For legacy it may not build the firmware with expected changes. One has to doa distclean first, copy the config and make the changes again:
- Build the image again:
- Flash the new image with serial output on COM2. The firmware image can befound in
release/coreboot
which is relative to clonedpce-fw-builder
directory.
Developers guide
Make default config for platform and then run menuconfig:
make olddefconfig
step is valid only on mainline. For legacy releases, omitthis stepIn order to change serial port, go to Console menu and change
Index for UART port to use for console
to 1
. You will see that commentbelow *** Serial port base address = 0x3f8 ***
will change to*** Serial port base address = 0x2f8 ***
(this comment is not displayed inlegacy). Then go to Payload menu and type the changed serial port base address(0x2f8
) to SeaBIOS sercon-port base address
field. Now save new config.COM2 runtime configuration
Since v4.8.0.7 and v4.0.22, sortbootorder has a new option to enable outputredirection to COM2. After entering sortbootorder menu, one could noticeadditional COM2 redirection among other options:
Pressing
k
and savign changes will cause switching output to COM2. The changeaffects coreboot, SeaBIOS, sortbootorder and iPXE. Unfortunately redirectiondoesn't work for memtest86+. Memtest86+ has no possibility to redirect consoleto other port than specified during build process. If one wishes to have fullsupport for COM2, follow Users guide to build firmware fromscratch.NOTE: when building firmware from scratch for COM2 as described inUsers guide, there will be no going back to COM1, even whenCOM2 redirection is disabled in sortbootorder. One will have to flash firmwarewith COM1 as main serial port (release bianry for example).
Summary
By default main console is COM1 with base address of
0x3f8
. This is the baseaddress of ttyS0 typically. After changing the output to COM2, do not forget toadjust kernel cmdline in Your OSes to set console to ttyS1 (base address0x2f8
). The baud rate remains the same (115200).The serial console disable feature in sortbootorder works also for COM2. So ifone does not desire to have output in firmware, it can be simply turned off (andturned back again with S1 button).
COM2 redirection runtime configuration works properly with all payloads exceptmemtest86+. Serial port configuration for memtest86+ is determined during buildand it cannot be changed by any means in firmware.
Along with v4.8.0.6 and v4.0.21 we introduced possibility to enable COM2 as themain serial port for serial console output in coreboot and SeaBIOS. Because thisis not enabled in runtime configuration, separate binary must be built in orderto get the output on COM2.
Since releae v4.8.0.7 and v4.0.22 output redirection to COM2 became possible viaruntime configuration. Supported sortbootorder and SeaBIOS versions are v4.6.12and rel-1.11.0.7 respectively. For details see COM2 runtime configuration
Building coreboot firmware with console on COM2
Building image capable of printing output on COM2 is relatively easy.
Users guide
To build the firmware from scratch and change the output to COM2 follow thesteps:
- Clone the pce-fw-builder
- Pull or builddocker container:
or for legacy:
- Build v4.8.0.6 image (v4.0.21 for legacy):
- Make changes to menuconfig:
In order to change serial port, go to Console menu and change
Index for UART port to use for console
to 1
. You will see that commentbelow *** Serial port base address = 0x3f8 ***
will change to*** Serial port base address = 0x2f8 ***
(this comment is not displayed inlegacy). Then go to Payload menu and type the changed serial port base address(0x2f8
) to SeaBIOS sercon-port base address
field. Now save new config.For legacy it may not build the firmware with expected changes. One has to doa distclean first, copy the config and make the changes again:
- Build the image again:
- Flash the new image with serial output on COM2. The firmware image can befound in
release/coreboot
which is relative to clonedpce-fw-builder
directory.
Developers guide
Make default config for platform and then run menuconfig:
make olddefconfig
step is valid only on mainline. For legacy releases, omitthis stepIn order to change serial port, go to Console menu and change
Index for UART port to use for console
to 1
. You will see that commentbelow *** Serial port base address = 0x3f8 ***
will change to*** Serial port base address = 0x2f8 ***
(this comment is not displayed inlegacy). Then go to Payload menu and type the changed serial port base address(0x2f8
) to SeaBIOS sercon-port base address
field. Now save new config.COM2 runtime configuration
Since v4.8.0.7 and v4.0.22, sortbootorder has a new option to enable outputredirection to COM2. After entering sortbootorder menu, one could noticeadditional COM2 redirection among other options:
Pressing
k
and savign changes will cause switching output to COM2. The changeaffects coreboot, SeaBIOS, sortbootorder and iPXE. Unfortunately redirectiondoesn't work for memtest86+. Memtest86+ has no possibility to redirect consoleto other port than specified during build process. If one wishes to have fullsupport for COM2, follow Users guide to build firmware fromscratch.NOTE: when building firmware from scratch for COM2 as described inUsers guide, there will be no going back to COM1, even whenCOM2 redirection is disabled in sortbootorder. One will have to flash firmwarewith COM1 as main serial port (release bianry for example).
Summary
By default main console is COM1 with base address of
0x3f8
. This is the baseaddress of ttyS0 typically. After changing the output to COM2, do not forget toadjust kernel cmdline in Your OSes to set console to ttyS1 (base address0x2f8
). The baud rate remains the same (115200).The serial console disable feature in sortbootorder works also for COM2. So ifone does not desire to have output in firmware, it can be simply turned off (andturned back again with S1 button).
COM2 redirection runtime configuration works properly with all payloads exceptmemtest86+. Serial port configuration for memtest86+ is determined during buildand it cannot be changed by any means in firmware.