[SUGGESTION] Graphical boot
I know this was discussed several times without a solution, as Klaus refuses a kernel-patch.
But alas it is not neccessary for knoppix as knoppix-autoconfig is a user-space script WITH the ability to send processes to background.
So it is possible to show some splash-screen with:
# lets start the user-fb (5 minutes)
ppmtofb -w 300 /knoppix.ppm &
And at the end jsut do a:
killall ppmtofb
This can also be exited, by chainging to some console or q. So pressing Alt+Fx or Alt+Left|Right|... works for quitting, but as source is available one could change this also.
Of couse showing the knoppix picutre is not very interested, but with the utitilites from bootsplash.org (the progress-prog for example) it would be possible to do interesting things..
Or just use the Redmond-Theme from bootsplash with the nice animation ? ;-)
I think if someone did an really nice graphical boot that just depends on user-space-tools, Klaus would not object. (Of course someone has to guarantee that this is only used, if a fb is really present, but I think that is fairly easy to detect. :-) )
So, if one really want this. That is the way to go.
If one has stuff, post it here and if its also good I'll do if wished the negotations with Klaus to get it into the official version...
cu
Fabian
graphical boot - solution
Now, finally, there is my solution for the graphical boot process. I tested all of this and it works like a charm. Graphical boot with just the tools that are already on the CD.
The user should be given the maximum freedom to customize this, so I usggest having a separate script /cdrom/KNOPPIX/preinit.sh that gets executed just before the INIT process is started.
Klaus Knopper should add the following to linuxrc inside miniroot.gz just before INIT is given control:
Code:
exec /cdrom/KNOPPIX/preinit.sh
This is the eqivalent of knoppix.sh except that is executed *before* the INIT process.
Then, we can have a /cdrom/KNOPPIX/preinit.sh which contains
Code:
fbi -q /usr/share/apps/ksplash/pics/splash_top.png &
and voila - we have a graphical Knoppix boot splash screen. The big advantages of this solution:
* you can press "esc" to see the boot messages
* no kernel patches are necessary
* user then can delete or modify his preinit.sh and change the splash to what he wants - including custom images, animations (using userland applications), etc.
* no messing around with miniroot.gz once the line above is included by default by KK
* no remastering of the compressed 700 MB file
Now it would be great if KK could incorporate this. And it would be even greater if he could replace that penguin with an invisible black box.
Re: graphical boot - solution
Quote:
Originally Posted by probono
Now, finally, there is my solution for the graphical boot process. I tested all of this and it works like a charm. Graphical boot with just the tools that are already on the CD.
The user should be given the maximum freedom to customize this, so I usggest having a separate script /cdrom/KNOPPIX/preinit.sh that gets executed just before the INIT process is started.
Klaus Knopper should add the following to linuxrc inside miniroot.gz just before INIT is given control:
Code:
exec /cdrom/KNOPPIX/preinit.sh
This is the eqivalent of knoppix.sh except that is executed *before* the INIT process.
Then, we can have a /cdrom/KNOPPIX/preinit.sh which contains
Code:
fbi -q /usr/share/apps/ksplash/pics/splash_top.png &
and voila - we have a graphical Knoppix boot splash screen. The big advantages of this solution:
* you can press "esc" to see the boot messages
* no kernel patches are necessary
* user then can delete or modify his preinit.sh and change the splash to what he wants - including custom images, animations (using userland applications), etc.
* no messing around with miniroot.gz once the line above is included by default by KK
* no remastering of the compressed 700 MB file
Now it would be great if KK could incorporate this. And it would be even greater if he could replace that penguin with an invisible black box.
Nice, I like this idea, but why must this be before init ? (Just question)
And for the penguin, I think there was some kernel-cheatcode or framebuffer-operation that could hide it.
KK will have questions though:
"What will happen on a system, that does not have FBdev-support ?
Will it try to switch to some mode and make booting unusable ?"
I think it does not and my tests did show that, but I think we need some more proof as KK of course is right, that it's an system critical feature and should not break systems.
I think we could persuade him though to add it first with some cheatcode so that you can do:
knoppix splash
to boot with graphical splash screen.
This way many users can test this feature and if it does work, it can be made default.
But I think as time is at the moment really pressing for KK, he'll not come do this before the LinuxTag-DVD is in the pressing company.
cu
Fabian
PS: Really good work!
Re: graphical boot - solution
Quote:
Originally Posted by Fabianx
Nice, I like this idea, but why must this be before init ? (Just question)
Simply because after the init process it's too late ;-) Since we want the splash screen to show as early as possible in the boot process, it should definitely go before the init process, so that it can hide all the colorful hardware detection messages which can confuse some types of users.
Quote:
Originally Posted by Fabianx
And for the penguin, I think there was some kernel-cheatcode or framebuffer-operation that could hide it.
Yes, but that's something only KK can decide and do. But I think hiding the penguin will have no negative side effects on any system.
Quote:
Originally Posted by Fabianx
"What will happen on a system, that does not have FBdev-support ?
Let's test: Just start with knoppix vga=normal and see what happens... Unfortunately, I have only a limited number of computers to test it on ;-)
Quote:
Originally Posted by Fabianx
I think we could persuade him though to add it first with some cheatcode so that you can do: knoppix splash
excellent idea!
Some areas that need work (unfortunately, my shell script knowledge is very limited so we'll need your help):
* Shutdown pictures. I don't know how to rewrite the shutdown/reboot script so that my processes don't get killed. We should definitely have this in userlandsplash v1.0!
* Animation instead of static picture. Could be done in preinit.sh using bootsplash.org userland binaries and a bit of shell scripting. Perhaps something for userlandsplash v1.1
* Progress bar and graphics/animations for fsck. Could be done using bootsplash.org userland binaries, but not in the way they intended it. Would require all initscripts to be modified. Probably something for userlandsplash v2.0 ;-)