[Solved/Workaround] Boot with no boot screen. (console)

Search This thread

britoso

Senior Member
Jan 13, 2010
2,794
302
Orlando
Is there a way to view the raw boot process in text mode instead of the boot animation?
Hoping there is a setting in a config file somewhere....


Edit: ([Solved/Workaround])
One easy solution is to install the paid app mentioned here. It shows you the logcat log as your phone boots.

A free kernel mod to accomplish this is still elusive.
 
Last edited:

britoso

Senior Member
Jan 13, 2010
2,794
302
Orlando
For linux/grub this is accomplished by removing the 'quiet' and 'splash' options in /boot/grub/menu.lst


Also found a possible setting in /init.rc
export ANDROID_BOOTLOGO 1
However I cannot chmod this file to edit it even as root. / is mounted read-only :(
su
chmod u+w init.rc
chmod: init.rc: Read-only file system
Do I need to unpack + edit the file + repack boot.img and then flash(boot) it to achieve this?
 
Last edited:

followinginsanity

Senior Member
Feb 12, 2008
328
59
Hampton
For linux/grub this is accomplished by removing the 'quiet' and 'splash' options in /boot/grub/menu.lst


Also found a possible setting in /init.rc

However I cannot chmod this file to edit it even as root. / is mounted read-only :(

Do I need to unpack + edit the file + repack boot.img and then flash(boot) it to achieve this?

you need to mount /system as rw before you can chmod anything. SU file manager works well for this, and you can do it all on the phone, even the edits. Just don't forget to make a nandroid before you do any tweaks.

I know there is a way to disable the boot animation in the boot.img-kernel, i've seen it done before.
 
Last edited:

followinginsanity

Senior Member
Feb 12, 2008
328
59
Hampton
heh Just depends on where you need to make the changes :p Its what I used to do the build.prop mods to get navi working on the G1 back before they did the official update. Either way I do hope we can figure out how to disable the boot animation. Like I said I know its been done, and where the guy said he did the mod to do it. But thats only a start. Also I know the emulator has a command so that you can boot it without the animation but thats the emu, not the actual device.
 

britoso

Senior Member
Jan 13, 2010
2,794
302
Orlando
Heres where I am now:

  1. The first X comes from initlogo.rle in the root directory of the bootimage.
  2. The next image is the boot logo. This is a set of two images in framework-res.apk/assets/images.
    Qr2QW.png

    5gFpD.png
  3. If a bootanimation.zip is found in /data/local or system/media, it is shown next. This is the nexus boot animation.
I tried renaming bootanimation.zip...the boot logo images were shown instead.
I removed the boot logo images from framework-res.apk...got a blank black screen until the lock screen appeared.
Also tried editing pushing a modified init.rc with these commands, didnt help the original init.rc was restored on reboot.
Code:
adb shell mount -o remount,rw rootfs /
adb pull init.rc .
#edit the file.
adb push init.rc /
adb shell sync
adb reboot

Found some instructions on how to edit the boot image:
http://android-dls.com/wiki/index.php?title=HOWTO:_Unpack,_Edit,_and_Re-Pack_Boot_Images

Thinking of setting up ubuntu in a virtualbox to try this. (Goal is to turn set ANDROID_BOOTLOGO 0 in init.rc). Dont know if this will let us see the verbose boot log or not...

Update:
Tried this. the 2.5MB boot.img splits up into two pieces (ramdisk and kernel), totaling 2MB (?), flashing an updated 2MB boot.img gets the phone stuck on the initial x. ... Something is missing.
 
Last edited:

fubaya

Senior Member
Mar 20, 2010
251
28
Re: Boot with no boot screen? (console)

I noticed there is a /system/bin/bootanimation. I ran it from terminal and the animation played. I couldn't exit it and had to take the battery out to reboot. It took over my screen and disabled all the buttons.

If you removed the images and still had a black screen, I wonder if this program was running but was black because the images were gone. Maybe renaming it would keep it from running and do what you want?

I tried to "cat" it but it's a binary. There was some garbled text toward the end which said "boot animation disabled" and gave some file locations etc. May be some clues there.

Sent from my Nexus One using the XDA mobile application powered by Tapatalk
 

britoso

Senior Member
Jan 13, 2010
2,794
302
Orlando
I noticed there is a /system/bin/bootanimation. Maybe renaming it would keep it from running and do what you want?
Tried this.
adb -d shell mv /system/bin/bootanimation /system/bin/bootanimation1

It booted ok and I got a black screen in place of the boot animation, went straight to the lock screen.

Didnt get the console text though :(
 

anethema

Senior Member
Apr 18, 2010
59
12
Well where are all the Kernel hackers when you need em :D

Told by someone pretty intelligent that the Kernel will basically need to be compiled to enable the console framebuffer option and maybe remove references to the boot animations etc. I'd love something like this though, wish I knew more about implementing it.
 

Jack_R1

Senior Member
Aug 9, 2009
4,362
964
I can contribute a little bit.
Go over to the Dev section, see the "update.zip creation" thread. There are instructions for creating a boot image:
http://xdaforums.com/showthread.php?t=667923

In these instructions, you'll notice an interesting switch for kernel to execute with:
--cmdline 'no_console_suspend=1 console=null'

I believe that might lead you to where you're trying to get ;)
 

britoso

Senior Member
Jan 13, 2010
2,794
302
Orlando
I can contribute a little bit.
Go over to the Dev section, see the "update.zip creation" thread. There are instructions for creating a boot image:
http://xdaforums.com/showthread.php?t=667923

In these instructions, you'll notice an interesting switch for kernel to execute with:
--cmdline 'no_console_suspend=1 console=null'

I believe that might lead you to where you're trying to get ;)
I tried that, the new boot.img I create does not work, see post #8
 

leonnib4

Senior Member
Mar 1, 2010
1,458
86
Paris
Re: Boot with no boot screen? (console)

i would love this!

unfortunately i did the same things eg move bootanimation.zip bootanimation script etc.

only got a black screen.

we could build a bootanimation.zip with text images... lol

Sent from my Nexus One using the XDA mobile application powered by Tapatalk
 

Jack_R1

Senior Member
Aug 9, 2009
4,362
964
What you posted, and also tried the command that was in my boot.img (cyanogenmod)

But I posted the default command, and marked it in red to say - if you're making a boot image with default command line, you're actually redirecting the console to null, so what do you expect to see?!

First, try eliminating redirection, the default might work. Remove the "console=null" from the line and rebuild the boot image.

In case it still won't work - try to change it to "console=tty", "console=ttyS0" or something like that.
 

Top Liked Posts

  • There are no posts matching your filters.
  • 1
    Heres an app that scrolls the dmesg log on your screen during bootup.
    It uses an executable for the bootanimation or something...

    https://market.android.com/details?id=eu.chainfire.livedmesg

    edit: it works!!!!! :)
    Doesn't show the normal logcat messages though, not too much happening on dmesg
    1
    I'm still looking for a normal solution to this too, besides that the app is excellent.

    I flashed a ROM with the raw boot animation a year or so ago, but it was an alpha from the developer, and I didn't realize what it was because the developer simply wasn't done with it, and it was something of a mistake.

    Might have been Kaosinate v3 or something.

    Still looking for this.

    Hi folks, I've used live dmesg with my Motorola Milestone 2 some time ago, but now I'm looking for a more "personal" approach.

    My phone now uses CM10's Android 4.1.1 so the rules changed a little bit from froyo.

    Digging into this problem, I noticed that there is a program responsible for calling the boot animation:

    Code:
    localhost / # which bootanimation                                              
    /system/bin/bootanimation

    A grep'ped strings command to that file gives me the following:

    Code:
    localhost / # strings `which bootanimation`|grep anim                          
    persist.sys.nobootanimation
    boot animation disabled
    service.bootanim.exit
    /system/media/bootanimation-encrypted.zip
    /data/local/bootanimation.zip
    /system/media/bootanimation.zip
    Unable to allocate memory to preload the animation
    bootanimation

    Now look at that nice
    Code:
    persist.sys.nobootanimation

    Code:
    getprop persist.sys.nobootanimation
    told me there was no such setting, so I forced it. Once forced, getprop reported as a valid setting (I set it to 1) and rebooted my phone. Guess what: I ended with a faster boot process, with no blank screen (only the Motorola's white M).

    Now I'm trying to understand that behaviour, but trying to think logically I believe that the M just sits there until another "process?" takes over the screen (like dalvik itself). If that's correct, then we just need to find how to "talk" to the screen controller to give it console output or at least a "tail -f" of the boot up log.

    Best regards,

    Paul.

    PS: I've been reading this post, and on a second thought the kernel may not be sending console output to the screen, so we are in front of a somewhat hardcoded setting. I'll dig into kernel boot settings (If there is any) and will post results.

    UPDATE: I figured out that stopping zygote and media

    Code:
    setprop ctl.stop zygote
    setprop ctl.stop media

    does not help. Phone screen freezes and all buttons go unresponsive. The phone appears to be completely frozen, although through ADB is absolutely normal.

    Also, the process tree is a lot shorter after stopping zygote:

    Code:
    init-+-adbd-+-sh---bash---pstree
         |      `-4*[{adbd}]
         |-akmd2
         |-battd
         |-brcm_guci_drv---{brcm_guci_drv}
         |-dbus-daemon
         |-debuggerd
         |-drmserver---{Binder_1}
         |-gkisystem-+-location---8*[{location}]
         |           |-opprofdaemon---3*[{opprofdaemon}]
         |           |-protocol_driver---6*[{protocol_drive}]
         |           `-6*[{gkisystem}]
         |-installd
         |-keystore
         |-netd---6*[{netd}]
         |-nvm_daemon
         |-panic_daemon
         |-rild---2*[{rild}]
         |-servicemanager
         |-ssmgrd
         |-surfaceflinger-+-{Binder_1}
         |                |-{Binder_2}
         |                |-{DisplayEventTh}
         |                |-{EventThread}
         |                |-{SurfaceFlinger}
         |                `-{VSyncThread}
         |-ueventd
         |-usbd
         `-vold---2*[{vold}]

    All of this leads me to think that my kernel does not have VT support. I'm completely lost about why the buttons became unresponsive, though. I think I'll need to study how a .SBF works to see how I can replace my kernel.

    If someone has a hint or a link to useful doc, I'll be glad.

    Best regards,

    Paul.
    1
    I'm trying to do this as well, I have been noticing that most posts on this thread are related to the boot animation. I think we are looking in the wrong place. I've been using Linux for years, the way you do this in Linux is fairly straightforward, as someone said it is a boot loader parameter and has nothing to do with user space apps. I think that all that would need to be done is edit the boot loader init file and then make sure the boot loader reads the new file, in Linux, this is done by updating grub (if using grub) with the new config file via a command (update-grub) hope this helps. Will be looking into this further!