Disable automated start of X after boot

sudo systemctl enable multi-user.target --force
sudo systemctl set-default multi-user.target

Do not clear contents of the console/terminal after boot

mkdir /etc/systemd/system/getty@.service.d

cat >/etc/systemd/system/getty@.service.d/noclear.conf <<EOF
[Service]
TTYVTDisallocate=no
EOF

systemctl daemon-reload

Regenerate "/boot/grub/grub.cfg"

update-grub

Disable splash screen

In "/etc/default/grub" (or your own one in "/etc/default/grub.d/99-mygrub.cfg") get rid of "splash" in "GRUB_CMDLINE_LINUX_DEFAULT":

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

Display GRUB's menu before booting (suppress hiding it)

Change in "/etc/default/grub"...

GRUB_TIMEOUT_STYLE=hidden

...to...

GRUB_TIMEOUT_STYLE=menu