maemo.org - Talk

maemo.org - Talk (https://talk.maemo.org/index.php)
-   OS2008 / Maemo 4 / Chinook - Diablo (https://talk.maemo.org/forumdisplay.php?f=29)
-   -   Removing the bootsplash? (https://talk.maemo.org/showthread.php?t=18948)

Capn_Fish 2008-04-09 22:48

Removing the bootsplash?
 
First off, sorry if this is the wrong place to ask this.

Is there a way to remove the bootsplash from the N810's initfs (the Nokia logo and/or the hands)? I'm fiddling with Debian, but, so far as I can tell, if you don't start X11, you can't see anything on the screen (eg, access the CLI).

Thanks.

EDIT: Or remove the "booting from mmc3, external SD, ext2" from fanoush's initfs? That's more likely the culprit.

qwerty12 2008-04-10 07:12

Re: Removing the bootsplash?
 
Look in the init scripts folder, the progress bars, nokia logo and big nokia splash are just run via init scripts.

But you know the system is set to shutdown if the X-Server init script is stopped? (For OS2008 at least, no idea about Debian)

I doubt it but if you really want to remove it:
Quote:

${T2S} -c
${T2S} -s 2 -H center -y 20 -T 0 -t "Booting from ${default_root} (${root_dev} ${root_fstype})..."
Comment out those lines in bootmenu.sh. It may be worth noting that they really don't do much.

First T2S clears the screen, 2nd one places the message there.
And a lot messages come up when you press menu and even before as the prompt to press menu.

You may also need to recompile kernel for FB support which kept giving me failed compiles and when I did get it to work, my N800 would power off each time on startup.

Johnx 2008-04-10 08:21

Re: Removing the bootsplash?
 
Unless you flash a custom kernel with CONFIG_FB_MANUAL_UPDATE=y (sp??) you won't be able to use the command line, even without the boot splash.

EDIT: I should add that this option seems to mess with scaling while watching videos. There's no way to win. :)

qwerty12 2008-04-10 08:25

Re: Removing the bootsplash?
 
Quote:

Originally Posted by Johnx (Post 167833)
Unless you flash a custom kernel with CONFIG_FB_MANUAL_UPDATE=y (sp??) you won't be able to use the command line, even without the boot splash.

EDIT: I should add that this option seems to mess with scaling while watching videos. There's no way to win. :)

Hehe, thanks :)

I just realised I had this turned on. Does this option have any advantages to keeping it on?

EDIT: I have CONFIG_FB_OMAP_MANUAL_UPDATE=y , same thing?

fanoush 2008-04-10 09:04

Re: Removing the bootsplash?
 
I think extra kernel with just CONFIG_FB_OMAP_MANUAL_UPDATE=y is not really needed. I guess people do it just for simplicity. You can switch between manual and auto mode at runtime with framebuffer OMAPFB_SET_UPDATE_MODE ioctl call. CONFIG_FB_OMAP_MANUAL_UPDATE=y is just default what kernel uses at boot time. IMO easier is to write command that can do the switch and no extra kernel is needed. When talking about it, I could perhaps add such command to initfs and have it it as bootmenu item option just like filesystem type or root device name.

Johnx 2008-04-10 11:12

Re: Removing the bootsplash?
 
Wow. That's great! I had no idea that you could switch it at runtime. O_o

-John

fanoush 2008-04-10 11:14

Re: Removing the bootsplash?
 
here is quick example
http://fanoush.wz.cz/maemo/fb_update_mode.tar.gz

at least on 770 you can see change in kernel log but it should work on n8x0 too (maybe with no message in log)

call it like
./fb_update_mode manual
./fb_update_mode auto

EDIT:

I have updated the archive and added statically linked and uclibc version for 770, you can copy static version to any initfs or run it in rootfs, uclibc770 only to 770's initfs and hack bootmenu to run it at boot time. This may be useful for direct framebuffer access like running OPIE etc.

For text console you also need additional framebuffer console modules or kernel with framebuffer console compiled in (the stock one has it disabled). Modules are inside
http://fanoush.wz.cz/maemo/modules-2...-custom.tar.gz for N8x0/OS2008
http://fanoush.wz.cz/maemo/4.2007-modules.tar.gz for N800/OS2007
http://fanoush.wz.cz/maemo/modules-3.2006.49-2.tar.gz for 770
in drivers/video/console

I never tried it but maybe it works :-) Let me know if you try.

fanoush 2008-04-10 16:19

Re: Removing the bootsplash?
 
Quote:

Originally Posted by fanoush (Post 167871)
I never tried it but maybe it works :-) Let me know if you try.

Tried with 770 when in bootmenu over usb networking and it works. Set mode to auto, insert all modules in video/console and voila black console with plenty of boot stuff appears. Hmm, with usb keyboard for 770/N800 or N810's keyboard one could even run pure text mode stuff on the tablet (like debian without X) or boot into some single user recovery mode. Time to add all this to bootmenu :-)

qwerty12 2008-04-10 16:22

Re: Removing the bootsplash?
 
Woot, fanoush, you are great.

Off to try this out :)

BTW: If you don't mind me asking, what kernel config options do I need to set/disable? I'd prefer compiling in kernel rather than insmod'ing modules at initfs.

Benson 2008-04-10 17:29

Re: Removing the bootsplash?
 
Text only repair mode would be great... USB keyboard's a bit of a hassle, but understandable. (I'm currently running stock initfs on N800, but I'll be reflashing, initfsing, and mmcbooting in a few days... might get some spinning wheels too, where'd you get 'em, Faheem?)

qwerty12 2008-04-10 17:35

Re: Removing the bootsplash?
 
Quote:

Originally Posted by Benson (Post 167993)
Text only repair mode would be great... USB keyboard's a bit of a hassle, but understandable. (I'm currently running stock initfs on N800, but I'll be reflashing, initfsing, and mmcbooting in a few days... might get some spinning wheels too, where'd you get 'em, Faheem?)

Hehe, I'll be trying this out when I know what options to enable and recompile kernel and when fanoush updates bootmenu :)

Initfs is great! I damaged my mmc boot though :(

From da rimhouse :p

fanoush 2008-04-10 21:35

Re: Removing the bootsplash?
 
Quote:

Originally Posted by qwerty12 (Post 167995)
Hehe, I'll be trying this out when I know what options to enable and recompile kernel and when fanoush updates bootmenu :)

It will take few days to update bootmenu. As for kernel - search for framebuffer console. Different people have different taste :-) IMO kernel modules are more flexible (you can insert them only when you need them and you can use almost any kernel, not just self-built custom one). You can put them (softcursor.ko bitblit.ko font.ko fbcon.ko) to lib/modules/current when creating initfs and then just add them to
MENU_X_MODULES like this
MENU_X_MODULES="mbcache ext2 softcursor bitblit font fbcon" to let bootmenu insert them for you

My current testing bootmenu.conf has item like this

MENU_X_MODULES="mbcache ext2 softcursor bitblit font fbcon"
MENU_X_FBMODE="auto"

and in bootmenu.sh I added

Code:

eval i=\$MENU_${MENU_IDX}_FBMODE ; [ -z "$i" ] || /usr/sbin/fb_update_mode $i
above existing line
Code:

eval i=\$MENU_${MENU_IDX}_MODULES ; [ -z "$i" ] || load_modules $i
of course you need to copy fb_update_mode to /usr/sbin in initfs (and modules too as said above) best done in different shell when initfs_flasher has basic initfs prepared and is asking about dropbear or bootmenu.conf.

when maemo system boots and starts x server it is better to turn back to manual mode if you don't plan to use the console. You can also switch consoles via chvt command, x server runs on console 2, to test framebuffer console when system is booted set mode to auto and switch back to first console via 'chvt 1' (better over ssh), you can also try to run getty on it '/sbin/getty 38400 tty1' if you have keyboard and non-locked account with password set.

qwerty12 2008-04-11 00:09

Re: Removing the bootsplash?
 
Quote:

Originally Posted by fanoush (Post 168117)

when maemo system boots and starts x server it is better to turn back to manual mode if you don't plan to use the console. You can also switch consoles via chvt command, x server runs on console 2, to test framebuffer console when system is booted set mode to auto and switch back to first console via 'chvt 1' (better over ssh), you can also try to run getty on it '/sbin/getty 38400 tty1' if you have keyboard and non-locked account with password set.

Mr Dufka, you have made me extremely happy ^-^ :), thank you very much!

I have a question though if you do not mind? How do I get a usb keyboard to be recognised at boot time? My ssh is broken on computer side as usbnet module has "disappeared" and stupid ubuntu is giving me kernel src for another version.

To anyone, i'm that happy, i made a crap utube :p
http://www.youtube.com/watch?v=UlG7jnXUCTI

Benson 2008-04-11 00:35

Re: Removing the bootsplash?
 
Quote:

Originally Posted by fanoush (Post 168117)
When maemo system boots and starts x server it is better to turn back to manual mode if you don't plan to use the console. You can also switch consoles via chvt command, x server runs on console 2, to test framebuffer console when system is booted set mode to auto and switch back to first console via 'chvt 1' (better over ssh), you can also try to run getty on it '/sbin/getty 38400 tty1' if you have keyboard and non-locked account with password set.

Awesome sweet!
Do you think a bluetooth keyboard would work (in runlevel 2) on the text console? I had assumed that the X server would run on console 1, thus making it only useful as a non-X recovery mode. But having multiple fb consoles, with a getty (or just a respawning shell) on console 1, would be quite nice for some things, and I don't (yet) have a portable USB keyboard. Hmmm... I'm obviously gonna have to compile gpm once I've got this, should be able to work with my BT mouse.

In case the utility of a text console over xterm is not obvious to some, there's a thread around where ArnimS is trying to get some rogue-like going (AndBang, or some such. :p) and was desperately trying to get a toolbarless, scrollbarless xterm. If you've got a keyboard, it's going to generally save real estate, which is good. And it's always up, which means no waiting for an xterm to launch. It may have a speed advantage for textmode stuff in dosbox, or it may not.

Oh, and every bit of screen real estate is needed for playing videos with aa & mplayer, not to mention BB. If osso-xterm is actually xterm derived, I think fbcon will be faster. At least it is on x86, though rxvt beats them both.

Capn_Fish 2008-04-11 02:39

Re: Removing the bootsplash?
 
So, in order to use this to get to the CLI on Debian, I would add calling the manual refresh to my init scripts?

Sorry for potentially being thick.

fanoush 2008-04-11 06:17

Re: Removing the bootsplash?
 
Quote:

Originally Posted by Capn_Fish (Post 168234)
So, in order to use this to get to the CLI on Debian, I would add calling the manual refresh to my init scripts?

Sorry for potentially being thick.

You have several options:

- compile and flash custom kernel with framebuffer console enabled and automatic refresh (=no modifications of your rootfs)

- use stock kernel, set fb update mode to auto and insert framebuffer modules in your own debian rootfs boot script

- hack bootmenu as mentioned above to do it for you for specific menu boot item (=no modifications of your rootfs)

- wait until I add it to bootmenu (sunday or monday evening is optimistic guess)

fanoush 2008-04-11 06:40

Re: Removing the bootsplash?
 
Quote:

Originally Posted by Benson (Post 168184)
Awesome sweet!
Do you think a bluetooth keyboard would work (in runlevel 2) on the text console? I had assumed that the X server would run on console 1, thus making it only useful as a non-X recovery mode. But having multiple fb consoles, with a getty (or just a respawning shell) on console 1, would be quite nice for some things, and I don't (yet) have a portable USB keyboard. Hmmm... I'm obviously gonna have to compile gpm once I've got this, should be able to work with my BT mouse.

usb keyboard with tablet turned to host mode should be fine, bluetooth should work exactly the same way until the connection drops :-) Hopefully power button long press should do clean shutdown at least.

As for speed - well, the automatic refresh mode means that there is periodic timer in kernel (hardcoded to 20 Hz) that forces full screen update. That means it won't be fluent, and you will see tearing since full screen update is slow (more for N8x0). The update is not very CPU intensive but it still may have impact on performance and battery life (as it keeps OMAP DMA engine and video chip busy). For 770 it is possible to try to enable tearsync flag in auto update mode and maybe raise the frequency of updates to have tear-free and quicker response time, for N8x0 there is not much room for improvement.

As for usability - with usb keyboard it should be pretty good, bluetooth is not reliable. N810 keyboard will be perfect but it needs custom mapping, fn key doesn't work so you can't write numbers. Feel free to contribute such mapping :-)

Capn_Fish 2008-04-11 11:45

Re: Removing the bootsplash?
 
Quote:

Originally Posted by fanoush (Post 168298)
You have several options:

- compile and flash custom kernel with framebuffer console enabled and automatic refresh (=no modifications of your rootfs)

- use stock kernel, set fb update mode to auto and insert framebuffer modules in your own debian rootfs boot script

- hack bootmenu as mentioned above to do it for you for specific menu boot item (=no modifications of your rootfs)

- wait until I add it to bootmenu (sunday or monday evening is optimistic guess)

Thanks! Now I have to see about Scratchbox...

Benson 2008-04-11 13:25

Re: Removing the bootsplash?
 
Quote:

Originally Posted by fanoush (Post 168306)
usb keyboard with tablet turned to host mode should be fine, bluetooth should work exactly the same way until the connection drops :-) Hopefully power button long press should do clean shutdown at least.

Well, I'm using powerlaunch; as I understand it, that runs outside X just like the mce, so I can just have it chvt 2 when it deploys the menu in X. (I think)
Quote:

As for usability - with usb keyboard it should be pretty good, bluetooth is not reliable.
But with it in runlevel 2, with X and all associated things started, it seems like the keyboard should automatically connect and generally behave with the same reliability it normally does? (Which in my case, isn't nearly as bad as many others report.) Or will this cause added unreliability or difficulty reconnecting, for some reason I'm missing?

Capn_Fish 2008-04-21 20:21

Re: Removing the bootsplash?
 
Quote:

Originally Posted by fanoush (Post 168298)
You have several options:
- wait until I add it to bootmenu (sunday or monday evening is optimistic guess)

Any progress on this front?

fanoush 2008-04-21 21:16

Re: Removing the bootsplash?
 
Sorry, too busy, it is first on the list but had no time recently. Hopefully it will be this week. If you are impatient, qwerty12 managed to get it with info provided in this thread (post #12) so you can too, it is not that hard, just adding kernel modules and fb_update_mode binary and few lines in bootmenu.sh and .conf.

Capn_Fish 2008-04-22 01:22

Re: Removing the bootsplash?
 
No problem, and I'll look at that. I too have been busy lately, and was hoping for a ready-made solution. Doing it myself will likely be beneficial, though.

Thanks for your efforts.

Johnx 2008-04-23 06:58

Re: Removing the bootsplash?
 
Well, I've gotten this working in Debian with my cheapo smallish USB keyboard. I just loaded the modules and did fb_update_mode auto . If you don't feel like hacking around with initscripts I suggest just doing it in /etc/rc.local . Keeps things nice and simple. Thanks again fanoush!

-John

fanoush 2008-04-23 07:55

Re: Removing the bootsplash?
 
Quote:

Originally Posted by Johnx (Post 173502)
Well, I've gotten this working in Debian with my cheapo smallish USB keyboard.

Just today I got similar one for this
http://www.dealextreme.com/details.dx/sku.11933
Had no USB keyboard at home at all so got this one for such experiments. Works with N810 at least, keys feel cheap. Arrived in 13 days. I ordered it mainly for testing this but expected it after basic support in initfs is done. Looks like I'm slower than Honk-Kong post :-)

Capn_Fish 2008-05-07 16:33

Re: Removing the bootsplash?
 
Quote:

Originally Posted by qwerty12 (Post 167960)
BTW: If you don't mind me asking, what kernel config options do I need to set/disable? I'd prefer compiling in kernel rather than insmod'ing modules at initfs.

I'd like to know this as well (in addition to what the process is to compile a kernel in scratchbox, kernel building always seems to be somewhat odd).

Also, any progress on the new initfs?

Thanks.

fanoush 2008-05-09 11:57

Re: Removing the bootsplash?
 
Quote:

Originally Posted by Capn_Fish (Post 178844)
I'd like to know this as well (in addition to what the process is to compile a kernel in scratchbox, kernel building always seems to be somewhat odd).

http://maemo.org/development/documen...for_maemo.html
see also threads
http://www.internettablettalk.com/fo...ead.php?t=6029
http://www.internettablettalk.com/fo...ad.php?t=14666

framebuffer console is (when running make menuconfig)
Device Drivers --->
Graphics support --->
Console display driver support --->
[ ] Framebuffer Console support

or settable directly in .config
Code:

CONFIG_FRAMEBUFFER_CONSOLE=y
# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
# CONFIG_FONTS is not set
CONFIG_FONT_8x8=y
CONFIG_FONT_8x16=y

Quote:

Originally Posted by Capn_Fish (Post 178844)
Also, any progress on the new initfs?

No. Last weeks we were moving to different place and I still have most of my stuff in boxes in our new apartment. Once we settle, it is a matter of one free evening.

penguinbait 2008-05-20 01:59

Re: Removing the bootsplash?
 
I know the feeling fanoush, so much to do so little time. This is awesome stuff, I cannot believe I missed it for so long.

Is chvt working? Wow I gotta go play, really cool

Thanks Fanoush!!!!!!!!!!

Anunakin 2008-05-27 19:52

Re: Removing the bootsplash?
 
On new release of debian: http://www.internettablettalk.com/fo...ad.php?t=20053 this works... use chvt 1 to go to Text mode... and chvt 2 to back... dont try close X11

fanoush 2008-06-26 15:50

Re: Removing the bootsplash?
 
Got this in PM but I'll post reply here for others to see too to prevent same question again and for possible feedback from others, it is relevant to this thread, I hope qwerty12 doesn't mind.

Quote:

Originally Posted by qwerty12
Hi,

I've read that you integrated your framebuffer programs into the bootmenu but I cannot see the modules there.

Yes, modules are the missing part. Already found that old ones from chinook kernel work just fine too. New kernel is not much different but still worth to have even for booting previous firmware.


Quote:

Originally Posted by qwerty12
Am I to presume that I should compile the required modules for framebuffer using kernel-source-diablo as my kernel source and place the modules manually into the initfs like last time?

I plan to add them to the flasher but since I support OS2006,7 and 8 I did not manage to prepare all versions yet. Yes, you can also add them manually like before.

BTW I found there is easy way of spawning shell on console in initfs, busybox in initfs has openvt command, just make sure /dev/tty1 exists (cp -a it over from rootfs) and run 'openvt 1 /bin/sh'.

Basically everything is almost in place for usb keyboard mode, with N810 keyboard you can't write any number (Fn does nothing) which is pretty critical so tweaking keyboard mapping is needed. busybox has loadkmap/dumpkmap but so far I don't know exact format of the file. Maybe it can be set up in debian with real loadkeys/dumpkeys or whatever is used for tweakin the keymap and then dumpkmap it for using it with busybox.


All times are GMT. The time now is 16:49.

vBulletin® Version 3.8.8