<p>I added a custom boot screen to marlin by adding <code>_Bootscreen.h</code> to the project root folder and it works fine. The problem is that the custom screen shows quickly and disappear then the marlin boot screen is then displayed for a longer time.
I want to remove the marlin boot screen.</p>

<p>I dug around in the source code and found a <code>void lcd_bootscreen</code> function in the   <code>ultralcd_impl_HD44780.h</code> header. This seems to be the function that is loading the marlin's boot screen due to the comments in the code. I added <code>return;</code> to the <strong>first line</strong> of code in this function but the marlin's boot screen is still loading. </p>

<p>How can I remove the marlin boot screen. How can make my custom boot screen wait for more time?</p>

<p>The marlin version is 1.1.8.</p>

So after some search:
You can't (at least should not) remove the marlin bootscreen according to this issue
SHOW_CUSTOM_BOOTSCREEN hides Marlin logo
, quote:
We wanted an additional logo - not a replacement of the Marlin logo.
According to the
code here
there's a constant CUSTOM_BOOTSCREEN_TIMEOUT taking the default value of 2500 which is 2.5 seconds but you can redefine it in your _Boostrap.h file.
This constant is only available for DOGM lcd screens which is chosen by the code here in
ultralcd.cpp
and whitout more details on your machine it's hard to tell from
Conditionals_LCD.h
which will be used.