Couldn't get boot messages on serial port with Raspberry 3

We’re using Raspberry Pi 2 with serial console attached with following kernel cmdline:

console=ttyAMA0,115200 console=tty1

It is working properly. But, same setting doesn’t work on Raspberry Pi 3 boards. TTY1 console works but we couldn’t see anything over serial console.

Is it possible to make serial console working on boot with Raspberry 3?

This is a known issue with Raspberry 3.

UART0 pins (ttyAMA0) mapped for Bluetooth module and previously used pins mapped as UART1.

It is possible to use UART1 but it is a software UART and baud rate affected by the cpu clock speed so it is not stable enough. If you decrease the cpu clock frequence, UART1 becomes more usable but probably you don’t want to limit your board’s cpu performance by this way.

So, the best option is to disable bluetooth module completely and make UART0 working again with previoudly used pins like Raspberry Pi 2. If you need bluetooth, you can use external usb bluetooth modules.

To disable bluetooth module, append following lines into config.txt:

dtoverlay=pi3-disable-bt

You should see console messages working again.