Change Android boot images

When you power on your ConnectCore 6 device, it displays the manufacturing company logo (in this case Digi) for a few seconds, followed by an animation of the Digi logo. You may want to change these images for more complete product branding.

Change Linux kernel splash screen

Requirements:

The splash image is stored in the Linux kernel sources in PPM (Portable Pixmap Format) format. To change the splash image, follow these steps:

  1. Create a splash image using a graphic design application. Save the image as logo_custom.ppm.

Note You can convert any existing image to ppm format using conversion utilities such as mogrify.

  1. Reduce the number of colors to 224 using ppmquant. Execute this command:
$ ppmquant 224 logo_custom.ppm > logo_custom_224.ppm
  1. Convert the image to ASCII format using pnmnoraw . Issue this command:
$ pnmnoraw logo_custom_224.ppm > logo_custom_clut224.ppm

The final name of the image must be logo_custom_clut224.ppm.

  1. In the Linux kernel sources, replace the current logo image with the image you have just created. For Android, it is located at kernel_imx/drivers/video/logo/logo_custom_clut224.ppm.
  2. If you already have the kernel compiled, remove the objects to generate the images with the new image. For Android:
$ rm -rf out/target/product/imx6_ccimx6_sbc/obj/KERNEL_OBJ
  1. Build the firmware and program it in the module. The new splash is displayed when you boot your device.

Change Android boot animation

The boot animation and its configuration are contained in a ZIP file called bootanimation.zip that is located in the /system/media folder of the target root file system. This file includes the following:

The animation sequentially displays the images in the part# folders. The files located in part0 are displayed first. Then, if there are more part folders, files within part1 are displayed, and so on.

Note The boot animation must contain at least one sequence folder (part0).

desc.txt file

The contents of this file define how the sequences and images are displayed during the animation. The file is configured with the following:

width height frame-rate
p loops pause folder-sequence-1
p loops pause folder-sequence-2
...
p loops pause folder-sequence-#

Example:

420 600 30
p 1 15 part0
p 0 0 part1

In this example, the 420 x 600 PNG images play at 30 fps. The first scene (part0) plays once and pauses for 15 frames (15/30 = 0.5 seconds) before moving onto the next scene (part1) which loops until the boot has finished.

You can add as many sequence definition lines as necessary.

Folders

The folders contain the PNG images for each sequence of the animation. They can have a common prefix but must end with a whole number incrementing by one. For example.

boot_0000.png
boot_0001.png
boot_0002.png
...
boot_0085.png

An animation must contain at least one sequence, so there should be at least one part folder within the bootanimation.zip file.

Generate your own boot animation

Follow these steps to create your own boot animation:

  1. Generate the sequence or sequences of PNG images with a graphic design application. Remember to name the images with an incremental whole number.
  2. Divide the animation into sequences and organize the PNG files in their corresponding sequence folders. If your animation contains just one sequence, you only need one folder.
  3. Create the desc.txt file and configure your animation settings. See desc.txt file for more information.
  4. Zip your animation files (desc.txt and folders) in a file called bootanimation.zip.

Note You must use the store option to generate an uncompressed zip file.

  1. Replace the animation of your module using one of the following methods:
    • Replace it directly. You can directly replace the bootanimation.zip of your ConnectCore 6.
      1. Open a serial connection to the serial port to which the ConnectCore 6 is connected. Use the following settings:
        • Port: Serial port to which ConnectCore 6 SBC is attached

        • Baud rate: 115200

        • Data Bits: 8

        • Parity: None

        • Stop Bits: 1

        • Flow control: None

      2. Remount the /system partition as read-write:
        #> mount -o rw,remount /system
      1. Copy your bootanimation.zip to /system/media.

      2. Give read permissions to the boot animation file by issuing this command:

        #> chmod 666 /system/media/bootanimation.zip
      3. Reboot the device. The new boot animation logo is displayed.

    • Modify the Android sources. You can also modify the Android sources to get Android firmware with your own boot animation.
      1. In the Android sources, replace the bootanimation.zip file contained in device/digi/imx_ccimx6_sbc/binaries with your zip file.
      2. If you already have the sources compiled, remove the file out/target/product/imx6_ccimx6_sbc/system/media/bootanimation.zip.
      3. Build the Android firmware and program it in the module.