Difference between revisions of "Linux Boot Logo"
From ArmadeusWiki
(→Create an image to suitable format (C include file)) |
|||
Line 9: | Line 9: | ||
# install Netpbm package: <pre>$ sudo apt-get install netpbm </pre> | # install Netpbm package: <pre>$ sudo apt-get install netpbm </pre> | ||
# reduce the number of colors in your image to 224: <pre class="host">$ ppmquant 224 my_boot_logo.ppm > my_boot_logo_224.ppm</pre> | # reduce the number of colors in your image to 224: <pre class="host">$ ppmquant 224 my_boot_logo.ppm > my_boot_logo_224.ppm</pre> | ||
− | # convert it to PPM ASCII format: <pre class="host">$ pnmnoraw my_boot_logo_224.ppm > my_boot_logo_ascii_224.ppm</pre> | + | # convert it to PPM ASCII format (if ''pnmnoraw'' is not available on your distribution (ex: LUbuntu 17.10), try with ''pnmtoplainpnm''): <pre class="host">$ pnmnoraw my_boot_logo_224.ppm > my_boot_logo_ascii_224.ppm</pre> |
# get the armadeus envt variables: <pre class="host">$ make shell_env && source armadeus_env.sh</pre> | # get the armadeus envt variables: <pre class="host">$ make shell_env && source armadeus_env.sh</pre> | ||
# copy the PPM to ''$ARMADEUS_LINUX_DIR/drivers/video/logo/'' directory '''with a name ending with _clut224.ppm''': <pre>$ cp my_boot_logo_ascii_224.ppm $ARMADEUS_LINUX_DIR/drivers/video/logo/logo_custom_clut224.ppm</pre> | # copy the PPM to ''$ARMADEUS_LINUX_DIR/drivers/video/logo/'' directory '''with a name ending with _clut224.ppm''': <pre>$ cp my_boot_logo_ascii_224.ppm $ARMADEUS_LINUX_DIR/drivers/video/logo/logo_custom_clut224.ppm</pre> |
Latest revision as of 10:28, 21 June 2018
On this page we will explain you how to change the Boot Logo/Screen of Linux.
By default the following screen is displayed on your LCD:
Contents
Create an image to suitable format (C include file)
- create a new image fitting the size of your LCD (320x240, 480x272 or 800x480), with The Gimp (for example).
- save it in PPM RAW file format, let's say my_boot_logo.ppm
- install Netpbm package:
$ sudo apt-get install netpbm
- reduce the number of colors in your image to 224:
$ ppmquant 224 my_boot_logo.ppm > my_boot_logo_224.ppm
- convert it to PPM ASCII format (if pnmnoraw is not available on your distribution (ex: LUbuntu 17.10), try with pnmtoplainpnm):
$ pnmnoraw my_boot_logo_224.ppm > my_boot_logo_ascii_224.ppm
- get the armadeus envt variables:
$ make shell_env && source armadeus_env.sh
- copy the PPM to $ARMADEUS_LINUX_DIR/drivers/video/logo/ directory with a name ending with _clut224.ppm:
$ cp my_boot_logo_ascii_224.ppm $ARMADEUS_LINUX_DIR/drivers/video/logo/logo_custom_clut224.ppm
- Linux will automatically convert your .ppm to a .c file, after you have added it to the build system, using the $ARMADEUS_LINUX_DIR/scripts/pnmtologo script. This is the purpose of the next step.
Add your file to Linux build system
- If you have overwritten $ARMADEUS_LINUX_DIR/drivers/video/logo/logo_armadeus_clut224.ppm with your own logo at the previous stage, then you can jump to the next step; otherwise:
- Edit $ARMADEUS_LINUX_DIR/drivers/video/logo/Makefile
- Put it your logo file name at line 18 (replace current one):
obj-$(CONFIG_LOGO_ARMADEUS_CLUT224) += logo_custom_clut224.o
- Edit $ARMADEUS_LINUX_DIR/drivers/video/logo/logo.c
- Add it your logo C struct name at line 39:
extern const struct linux_logo logo_custom_clut224;
- Put it your logo C struct name at line 122 (replace current one):
#ifdef CONFIG_LOGO_ARMADEUS_CLUT224
/* Armadeus Linux logo */
logo = &logo_custom_clut224;
#endif
Recompile & install kernel
- Make sure that the "Armadeus Logo" option is selected in:
$ make linux-menuconfig
Device Drivers ---> Graphics support ---> [*] Bootup logo ---> [*] 224-color Armadeus Linux logo
- Then recompile your kernel:
$ make linux
and install it on your board.
- Restart your board and you should see your image:
Remove Login from framebuffer terminal
- On your target, edit /etc/inittab
- Comment line 28:
#tty1::respawn:/sbin/getty 38400 tty1
- save it and restart your system
Deactivate remaining cursor
It may be a remaining cursor at the left upper corner of the screen. Indeed virtual console cursor is activated by default in Linux. To deactivate it at boot stage, you will have to:
- on recent kernels (3.8+), follow tips here
- otherwise:
- Edit source file $ARMADEUS_LINUX_KERNEL/drivers/char/vt.c
- Near line 1620, in function reset_terminal(), change with
vc->vc_deccm = 1;
vc->vc_deccm = 0;
- recompile and reflash your kernel
After this modification, at any moment, you can get your blinking cursor back with:
# echo -e '\033[?25h' > /dev/tty1 # echo 1 > /sys/class/graphics/fbcon/cursor_blink