Yocto Linux logo

From Variscite Wiki
Replacing the Linux logo with your own

Create your own logo file

Create your logo in a .png format (logo.png), and run the following to convert it to a 224 colors PPM formatted image file named logo_linux_clut224.ppm:

$ sudo apt-get install netpbm
$ pngtopnm logo.png | ppmquant 224 | pnmnoraw > logo_linux_clut224.ppm

Replace the default logo file in the Linux source

Using the Linux source code directly

Follow the "Build Linux from source code" guide to get the Linux kernel source tree.
Copy your logo_linux_clut224.ppm file to drivers/video/logo/logo_linux_clut224.ppm overwriting the original logo.
Configure your kernel and enable the default logo instead of the Variscite logo: Device Drivers -> Graphics support -> Bootup logo -> Standard 224-color Linux logo (Symbol: LOGO_LINUX_CLUT224)

If you want to create a different configuration for your own logo rather than overwriting the default one, you can look at this commit which adds the Variscite Linux logo to our kernel, and make a similar patch of your own.

Using Yocto

Add your logo_linux_clut224.ppm file to recipes-kernel/linux/files, create a bbappend file for the linux recipe (recipes-kernel/linux/linux-variscite_%.bbappend), and put the following in it:

SRC_URI_append = " file://logo_linux_clut224.ppm"

do_configure_prepend() {
    # logo support, if you supply logo_linux_clut224.ppm in SRC_URI, then it's going to be used
    if [ -e ${WORKDIR}/logo_linux_clut224.ppm ]; then
        install -m 0644 ${WORKDIR}/logo_linux_clut224.ppm ${S}/drivers/video/logo/logo_linux_clut224.ppm
        kernel_conf_variable LOGO y
        kernel_conf_variable LOGO_LINUX_CLUT224 y
        kernel_conf_variable LOGO_VARISCITE_CLUT224 n
    fi
}