How to remove getty@tty1 link in yocto dunfell branch

Hi @gustavo.tx,

thank you for your comments.
You are right, serialgetty recipe does not work with getty@.service at all. In the past, whole getty thing was probably handled differently.
Fortunately, I spotted ROOTFS_POSTPROCESS_COMMAND in my custom image recipe, which is derived from tdx-reference-minimal-image.bb.
I have created minimal-image-base.inc file with this content:

# add the rootfs version to the welcome banner
ROOTFS_POSTPROCESS_COMMAND += "add_rootfs_version; "
ROOTFS_POSTPROCESS_COMMAND += "remove_tty1_service; "

# remove getty@tty1.service and getty@.service
remove_tty1_service () {
    rm -f ${IMAGE_ROOTFS}/lib/systemd/system/getty@.service
    rm -f ${IMAGE_ROOTFS}/etc/systemd/system/getty.target.wants/getty@tty1.service
}

add_rootfs_version () {
    printf "${DISTRO_NAME} ${DISTRO_VERSION} (${DISTRO_CODENAME}) \\\n \\\l\n" > ${IMAGE_ROOTFS}/etc/issue
    printf "${DISTRO_NAME} ${DISTRO_VERSION} (${DISTRO_CODENAME}) %%h\n" > ${IMAGE_ROOTFS}/etc/issue.net
    printf "${IMAGE_NAME}\n\n" >> ${IMAGE_ROOTFS}/etc/issue
    printf "${IMAGE_NAME}\n\n" >> ${IMAGE_ROOTFS}/etc/issue.net
}

add_rootfs_version already existed in the recipe, so I just added my remove_tty1_service function.

This inc file has to be added to an image recipe via require minimal-image-base.inc. With this file, it works. I needed to get rid of the command prompt, this solution is (so far) sufficient for me.
I have not added my solution earlier, because I was messing with a “multimedia” image based on my working “minimal” image. And because I wanted to try wayland support with opengl without X11, I wanted to be sure that weston will work, including weston-touch-calibrator. Because I found on the net that weston requires tty1 to run, I was not sure if my approach with getty@tty1.service will be ok.

But, everything runs well, my display is calibrated, demo cinematicexperience runs on 60 fps smoothly.

1 Like