LeMaker Guitar Boot Logo Requirements

12 10558
Can you please explain what are the requirements for making a LeMaker Boot Logo Image?

I tried to create a same name and same size 24bit BMP logo and compressed it with "tar cvfz" command but it didn't load properly at the time of boot.


You should use gzip command

Edited by sghazagh at Wed Oct 14, 2015 14:00

Hi All,
As I could finally change the boot logo, here are the steps you should follow for successfully changing the Boot Logo:
1- Make an 24bit BMP file not bigger than your screen size.
2- Make it horizontally and vertically mirrored (Don't know why it should be up side down!)
3- Name of the BMP file should be "boot_log.bmp" (attention to 'log' and not 'logo')
3- If you made it in Windows, transfer it to Linux machine and use "gzip" command to compress it.
4- Name of the .gz file should be "boot_logo.bmp.gz" (attention to 'logo' and not 'log' this time)
5- Place it onthe  'misc' partition of eMMC. (Not SD, in fact SD does not need this file at all. You can remove it from your SD vfat partition as all yhe provided images have this file listed as well.)
  • gzip boot_log.bmp
  • mv boot_log.bmp.gz /media/lemaker/misc/boot_logo.bmp.gz
6- Restart and you should see the new logo  

LeMaker Team: Here is an example of an answer that we are looking for when we ask a question. Not a two words, unclear reply!!!

Edited by tkaiser at Wed Oct 14, 2015 15:37

The sources are available (not from LeMaker but who cares). You define the name here and the code is there and there and there. Actions Semi is relying on U-Boot like probably every other manufacturer of ARM devices as well

sghazagh replied at Wed Oct 14, 2015 13:52
Hi All,
As I could finally change the boot logo, here are the steps you should follow for successful ...

No, unfortunately these aren't any steps to follow. They're obviously just the result of a few hours trial&error but they contain many mistakes and misleading directions.

The S500 uses U-Boot to boot and to optionally display a boot logo. You can take any image in BMP format that meets the requirements: any valid bit depth and size, gzip compressed, size of compressed content-stream must not exceed 10485760 bytes, name of the gzip compressed content-stream has to be either "boot_logo.bmp.gz" or to be changed inside the SDK (there you could also adjust the maximum file size but it's better to not do so or use higher compression settings) and it has to be placed on the first partition (must be VFAT or FAT unless changed in owl_splash.c) next to the kernel uImage and kernel.dtb. This applies to both eMMC and SD cards since U-Boot will have a look for the boot logo on the first partition on the device it boots from.

The name of the image you use doesn't play any role since gzip compressed content-streams don't contain names. You could load even a BMP on the fly from the net and use it as boot logo:
  1. root@Lemuntu:/media/lemaker/misc# wget -qO- "http://ilab.engr.utk.edu/ilabdocs/Epilog/BMP%20sample%20files/test.bmp" | gzip -9 -c >boot_logo.bmp.gz && sync && reboot
Copy the Code
After the reboot the image (cat content of course) will be displayed:

And you will be surprised that it's not scaled but cropped (I used a portrait image and at the moment LeMaker's OS images use for whatever reason even on HDMI displays 1024x600 pixel) and also rotated by 180°-- at least on a HDMI display. This can be fixed by rotating the image before or by adjusting the device tree used ("rotate_degree = 180" -- pretty silly since then the normal output will be rotated also).

We all should keep in mind that the software support for the S500 seems to be in an early state especially regarding display initialisation so things might change in the future. And what might work on one output (HDMI) might not work on another (LCD with different rotation settings in the .dts file).

Edited by tkaiser at Thu Oct 15, 2015 01:22

To sum it up in a user friendly way:

LeMaker's guitar can drive different displays at the same time. Currently LeMaker ships with its OS images a configuration with a configured LCD screen (their 7" device in mind with a maximum resolution of 1024x600 pixel). With such a config shipped (LeMaker only ships one single kernel.dtb file instead of many for different display situations) a connected HDMI display will 'inherit' the LCD's 'master resolution'. So while your HDMI screen will be driven with 1080p it will just display an upscaled 1024x600 screen.

To display a boot logo you just need an image in BMP format. Convert this to a gzipped variant (using "gzip -c >boot_logo.bmp.gz" on Linux/Unix/OS X or use 7-zip on Windows and save the result GZIP compressed as "boot_logo.bmp.gz"). The U-Boot code responsible for displaying the logo expects a file with exactly this name on the first partition of the boot medium that has to be VFAT/FAT formatted (keep that in mind when trying to create an own OS image with a single partition -- you might have to replace the file_fat_read call used to read the compressed logo for ext4).

Since the code in U-Boot doesn't scale the image but crops it when its dimensions exceed the display resolution at the moment the best dimensions are 1024x600 pixel since this is the LCD's master resolution that is also used on a connected HDMI display. If your main output is HDMI you should also be aware that at the time of this writing the source image should be rotated by 180°prior to compressing it. As soon as Actions/LeMaker can resolve the 'master display resolution' issue (providing a kernel.dtb without LCD defined?) things might change. Size/rotation of the logo in question depend always on the settings defined in the device tree (kernel.dtb lying next to boot_logo.bmp.gz)

tkaiser replied at Thu Oct 15, 2015 00:25
No, unfortunately these aren't any steps to follow. They're obviously just the result of a few hou ...

LeMaker Guitar only read the boot_logo.bmp.gz file if you store it on eMMC vfat partition (misc partition).

It doesn't care if you place it in SD vfat partition.
You generally right as it should look for boot device but this is the wat they configured.
You can check it by placing a boot logo on SD and see it does not work. place it in eMMC and you see for both SD boot and eMMC boot it will be same...


Edited by tkaiser at Thu Oct 15, 2015 07:35
sghazagh replied at Thu Oct 15, 2015 06:34
LeMaker Guitar only read the boot_logo.bmp.gz file if you store it on eMMC vfat partition (misc pa ...

Maybe you're right.
When Jean-Luc tested the Roseapple Pi he did a boot from SD card and in his boot log posted there it reads
  1. bootlogo: if=mmc, dev=0
  2. reading boot_logo.bmp.gz
Copy the Code
When I booted from eMMC it read instead
  1. bootlogo: if=mmc, dev=1
  2. reading boot_logo.bmp.gz
Copy the Code
(SD0: 0, eMMC: 1 (eMMC))

So at least it works somewhere else.

BTW: it's useless to make any assumptions. Everything related to U-Boot will be way more clear with an USB-to-serial adapter connected. Since then you can change the U-Boot environment (experts only) and more importantly read what's happening.

In my boot log prior to the "reading boot_logo.bmp.gz" message errors appear indicating that U-Boot tries to read from the wrong partition or the partition doesn't exist. As written before: Might be also useful to modify include/common.h to enable debug output for stuff like that. But without a serial console it's pretty useless do to anything with U-Boot. And no, we don't have to wait for LeMaker for 'their' SDK (it seems they just start to release sources), we can use Actions Semi's.

But what about this one?

That is LeMaker U-Boot. And I think it is identical for their boards as I read Guitar and Banana board has same U-Boot?!!!
But don't want to wast my time for compiling the things which I am not sertain it is for Guitar.
Will wait while officially see the U-Boot for Guitar then will play with options....


That's for the Bananas (very outdated also -- please keep in mind that LeMaker unfortunately doesn't actively support them any more).

Actions Semi uses U-Boot 2015.04 with a lot of proprietary stuff you won't find in upstream U-Boot (all the 'owl' stuff). I doubt they're interested to send their patches upstream (the very same applies to the 3.10.37 kernel they use. Heavily patched to support their SoCs but none of this stuff ready to be included in mainline kernel).

Anyway: Since you want to provide OS images it's now time to setup a build environment. I would choose an Ubuntu 14.04 x86 setup (I chose my usual Armbian build system) since then you can directly start over: http://wiki.linux-xapple.org/w/index.php/Build_Howto

When LeMaker sometimes in the future provides 'their' sources you exchange github links and are done.

You have to log in before you can reply Login | Sign Up

Points Rules