Pebble 1.0 BETA - simple bootsplash program
maybe something wrong with "bootsplash stop"
This time, I installed the pup412 with full hd. then installed the pebble1.0 for 4.12. But it also stoped at the image of "Booting Puppy Linux"!
After some tests, I found that problem occured with "bootsplash stop" by adding test-code to rc.sysinit. The code "bootsplash stop" could not return.
Why "bootsplash stop" could not return?
After some tests, I found that problem occured with "bootsplash stop" by adding test-code to rc.sysinit. The code "bootsplash stop" could not return.
Why "bootsplash stop" could not return?
Finaly, I found that the "bootsplash stop" fall into the endless loop. It has paused in the loop of "while" beacuse the ASLEEP_FILE is not existed. I don't konwn which process has operated the file called "pebble_nowasleep". I had not discovered at least in pebble_deamon. So I posted the problem at here.
So I added "touch $ASLEEP_FILE" to the script of pebble before the loop of "while". it works fine.
Code: Select all
#Stop the daemon (shuts it down)
if [ "$1" = "stop" ]; then
rm -f "$ASLEEP_FILE"
#stop the daemon
echo "q" > "$PEBBLE_PIPE"
#wait for it to finish stopping
while [ ! -f "$ASLEEP_FILE" ]; do echo > /dev/null; done;
rm -f "$ASLEEP_FILE"
#puts the console back to normal
sym_con
#stop the worm
echo "//WORM_SHUTDOWN//" > "$WORM_PIPE"
(
#make sure the daemons are shut down and temporary files are removed
sync
sleep 1
killall pebble-daemon
killall worm
sync
rm -f "$PEBBLE_IMAGE_LIST" "$PEBBLE_PIPE" "$PEBBLE_STATE" "$WORM_PIPE"
) > /dev/null 2>&1 &
fi
- Pizzasgood
- Posts: 6183
- Joined: Wed 04 May 2005, 20:28
- Location: Knoxville, TN, USA
The file would be created by pebble-daemon, after it finishes shutting itself down. That way I can ensure that it's finished before cleaning up the screen. Otherwise there is a possibility that the script will clear the screen before the daemon finishes shutting down, leading to the daemon re-drawing the screen after it has been cleared.
The part that shuts down the pebble-daemon is the part above the while loop, that does the echo. What it does is output a "q" into a pipe. Pebble-daemon checks that pipe each cycle and reads anything inside. If it sees a "q" it interprets that as a command to shut down.
The modified version I posted for 4.11 adds some extra code so that it will only wait up to five seconds, and then continue anyways. That way if pebble-daemon doesn't shutdown for some reason, or the file doesn't get created properly, then the script won't get stuck in an infinite loop.
The modification basically just replaces this:with this:
Except, I made it into a function in the actual file.
If that while loop is where it was hanging, installing the modified version should have fixed it. Did you perhaps forget to install the .pet file that was inside the tarball? Since the hang seems to be happening at the very end, the .pet would be the important part.
Try it again, being sure to use 4.11 and the modded package, and to use the .pet. If it works I'll rebuild and upload the packages for the other versions of Puppy with that added to them.
Of course, even if the modification "fixes" it, that's only a workaround. I need to see if I can figure out why the pebble-daemon is hanging.
The part that shuts down the pebble-daemon is the part above the while loop, that does the echo. What it does is output a "q" into a pipe. Pebble-daemon checks that pipe each cycle and reads anything inside. If it sees a "q" it interprets that as a command to shut down.
The modified version I posted for 4.11 adds some extra code so that it will only wait up to five seconds, and then continue anyways. That way if pebble-daemon doesn't shutdown for some reason, or the file doesn't get created properly, then the script won't get stuck in an infinite loop.
The modification basically just replaces this:
Code: Select all
while [ ! -f "$ASLEEP_FILE" ]; do echo > /dev/null; done;
rm -f "$ASLEEP_FILE"
Code: Select all
#use usleep if availible for a tighter loop
if [ -x /bin/usleep ]; then
SLEEP_CMND="usleep 100000"
INC=1
else
SLEEP_CMND="sleep 1"
INC=10
fi
CYCLES=0
while [ ! -f "$ASLEEP_FILE" ] && [ $CYCLES -lt 50 ]; do
CYCLES=$[$CYCLES+$INC]
$SLEEP_CMND
done
rm -f "$ASLEEP_FILE"
If that while loop is where it was hanging, installing the modified version should have fixed it. Did you perhaps forget to install the .pet file that was inside the tarball? Since the hang seems to be happening at the very end, the .pet would be the important part.
Try it again, being sure to use 4.11 and the modded package, and to use the .pet. If it works I'll rebuild and upload the packages for the other versions of Puppy with that added to them.
Of course, even if the modification "fixes" it, that's only a workaround. I need to see if I can figure out why the pebble-daemon is hanging.
Sorry, but I don't understand what you're trying to say.james_liu wrote:Good, the edition 4.11 first like this, did not know that 4.12 can also have such question
It could leave the cursor that you see when at the commandline invisible (the real one, not rxvt). Also, it might leave a couple files lying around in /tmp. And probably would leave the file /dev/console symlinked to the wrong place, causing any lines of code with a ">/dev/console" to not output to the screen like they should. So nothing life-threatening, just a couple small nuisances.kranthi wrote:one solution that seems to work for me is to replace
"bootsplash stop" with "killall pebble-daemon"
dont know if there are any side-effects though.
[size=75]Between depriving a man of one hour from his life and depriving him of his life there exists only a difference of degree. --Muad'Dib[/size]
[img]http://www.browserloadofcoolness.com/sig.png[/img]
[img]http://www.browserloadofcoolness.com/sig.png[/img]
- Pizzasgood
- Posts: 6183
- Joined: Wed 04 May 2005, 20:28
- Location: Knoxville, TN, USA
If I remember and am not busy with more important things, I'll take another look over spring break. But what I really need to do is get some of my other projects finished so I can start the research I'll need in order to make Pebble 2.0. That's a project that will probably have to wait until summer break, but it will be much more usable than this one and implemented in a more stable way. I'll definitely be eliminating many of the weird quirks that this version has. Plus it will have a very important difference: a well integrated debug mode.
[size=75]Between depriving a man of one hour from his life and depriving him of his life there exists only a difference of degree. --Muad'Dib[/size]
[img]http://www.browserloadofcoolness.com/sig.png[/img]
[img]http://www.browserloadofcoolness.com/sig.png[/img]
Talking about future releases of Pebble:
Are there any plans to include the option to provide the commandline with a background image instead of hiding the output behind a JPEG (like bootsplash etc)? It would be really awesome to have a background image in the commandline all the time (just like GoblinX, Elive, you name it), even after the system finished booting.
I tried to compile splashy a few days ago, but not really being an expert with gcc, make always failed and exited with an error (it probably just requires a little adjustment for ./configure, but I'm a complete newbie when it comes to that. ^^').
Are there any plans to include the option to provide the commandline with a background image instead of hiding the output behind a JPEG (like bootsplash etc)? It would be really awesome to have a background image in the commandline all the time (just like GoblinX, Elive, you name it), even after the system finished booting.
I tried to compile splashy a few days ago, but not really being an expert with gcc, make always failed and exited with an error (it probably just requires a little adjustment for ./configure, but I'm a complete newbie when it comes to that. ^^').
- Pizzasgood
- Posts: 6183
- Joined: Wed 04 May 2005, 20:28
- Location: Knoxville, TN, USA
Yeah, I intend to make version 2.x use split screen, and in the process I'll probably have to write code that would let me render the text myself, which means I could put it over an image, in a box, sandwiched between two images, etc. All of which could be animated...
I suppose if I can get it to handle input properly, I could theoretically set it up as something you can just run, outside of booting, to have those graphics. And if I make the interface properly, you should be able to almost control the graphics with an external program, so they could update in real time to match the state of your computer (i.e. turn redder based on how hard the cpu is cranking, or have penguins waddling around in the background with the number related to the cpu load...).
I hadn't thought about those possibilities before... Thanks for sparking them off.
At the moment, it's not looking like I'll start on Pebble 2.0 until Fall. I need to finish Retrovol, and I've neglected Project Carrot for the last couple months. I also want to start Project Onion this summer.
I suppose if I can get it to handle input properly, I could theoretically set it up as something you can just run, outside of booting, to have those graphics. And if I make the interface properly, you should be able to almost control the graphics with an external program, so they could update in real time to match the state of your computer (i.e. turn redder based on how hard the cpu is cranking, or have penguins waddling around in the background with the number related to the cpu load...).
I hadn't thought about those possibilities before... Thanks for sparking them off.
At the moment, it's not looking like I'll start on Pebble 2.0 until Fall. I need to finish Retrovol, and I've neglected Project Carrot for the last couple months. I also want to start Project Onion this summer.
[size=75]Between depriving a man of one hour from his life and depriving him of his life there exists only a difference of degree. --Muad'Dib[/size]
[img]http://www.browserloadofcoolness.com/sig.png[/img]
[img]http://www.browserloadofcoolness.com/sig.png[/img]
You're welcome, pizzasgood. ^^
I'd love to help you with pebble, but unfortunately I can't.
The tools that I've written so far are in tcl/tk, or they use GtkDialog3 (but I want to move to tcl/tk completely, GtkDialog requires way too many dirty hacks for the simplest tasks if you want to show things in real-time). But if you need a few good pics for pebble, don't hesitate to ask, I can help you with that (I'm a 2D/3D artist, both traditional and digital).
I'd love to help you with pebble, but unfortunately I can't.
The tools that I've written so far are in tcl/tk, or they use GtkDialog3 (but I want to move to tcl/tk completely, GtkDialog requires way too many dirty hacks for the simplest tasks if you want to show things in real-time). But if you need a few good pics for pebble, don't hesitate to ask, I can help you with that (I'm a 2D/3D artist, both traditional and digital).
- Pizzasgood
- Posts: 6183
- Joined: Wed 04 May 2005, 20:28
- Location: Knoxville, TN, USA
Cool. I'll keep that in mind when I start working on it again. I used to do a good amount of art, but I've been too busy for the last several years. I did a little sketching the other day and was happy to see that my abilities haven't completely deteriorated But I generally prefer programming over art.
[size=75]Between depriving a man of one hour from his life and depriving him of his life there exists only a difference of degree. --Muad'Dib[/size]
[img]http://www.browserloadofcoolness.com/sig.png[/img]
[img]http://www.browserloadofcoolness.com/sig.png[/img]
Warmock
http://murga-linux.com/puppy/viewtopic. ... 13&t=18810
I'm still figuring out how to make Splashy works. Now I could get rid of text while booting. However, all I get so far is a blank screen instead of graphics.
===============
Dear Pizzasgood,
Could you create another Pebble version with Splashy? Pebble Bootspash is better in term of quality but it is too difficult for newbies (such as myself) to work with.
By the way, thanks for your help on configuring the boot scripts last year. Since then I have never had a problem when power cut again. You are my hero.
The following threat helps me to successfully compile the SplashyI tried to compile splashy a few days ago, but not really being an expert with gcc, make always failed and exited with an error (it probably just requires a little adjustment for ./configure, but I'm a complete newbie when it comes to that. ^^').
http://murga-linux.com/puppy/viewtopic. ... 13&t=18810
I'm still figuring out how to make Splashy works. Now I could get rid of text while booting. However, all I get so far is a blank screen instead of graphics.
===============
Dear Pizzasgood,
Could you create another Pebble version with Splashy? Pebble Bootspash is better in term of quality but it is too difficult for newbies (such as myself) to work with.
By the way, thanks for your help on configuring the boot scripts last year. Since then I have never had a problem when power cut again. You are my hero.
- Pizzasgood
- Posts: 6183
- Joined: Wed 04 May 2005, 20:28
- Location: Knoxville, TN, USA
Which parts are hard to work with, and in which ways?
I believe the biggest pain is dealing with initrd.gz - not much I can do there, besides providing premade versions and a utility to modify it more easily (on the forum somewhere, named "Edit-Initrd" - I believe it still works with 4.x? Haven't used it in a long time.).
The modifications to the boot scrips are about as simple as I can figure out how to do. Unless you know of a way to make Pebble magically know when it should drop back to the CLI? Maybe replacing the "read" and "exit" commands with wrappers that first communicate with Pebble? Seems like that would be a little iffy, but if it worked it would be pretty neat.
Or do you mean setting up the themes is too complicated? I'm sure there's plenty of room for improvement there.
I believe the biggest pain is dealing with initrd.gz - not much I can do there, besides providing premade versions and a utility to modify it more easily (on the forum somewhere, named "Edit-Initrd" - I believe it still works with 4.x? Haven't used it in a long time.).
The modifications to the boot scrips are about as simple as I can figure out how to do. Unless you know of a way to make Pebble magically know when it should drop back to the CLI? Maybe replacing the "read" and "exit" commands with wrappers that first communicate with Pebble? Seems like that would be a little iffy, but if it worked it would be pretty neat.
Or do you mean setting up the themes is too complicated? I'm sure there's plenty of room for improvement there.
[size=75]Between depriving a man of one hour from his life and depriving him of his life there exists only a difference of degree. --Muad'Dib[/size]
[img]http://www.browserloadofcoolness.com/sig.png[/img]
[img]http://www.browserloadofcoolness.com/sig.png[/img]
Pebble Status
Will Pebble work with Wary Puppy 5.1.4? Seems to me some kernel specific modules were included with it and it will not work.
Will this Splash screen project be updated anytime?
What might the alternatives be for a framebuffer/splash screen in the latest Puppy. Splashy doesn't seem to compile. Others?
Will this Splash screen project be updated anytime?
What might the alternatives be for a framebuffer/splash screen in the latest Puppy. Splashy doesn't seem to compile. Others?
- Pizzasgood
- Posts: 6183
- Joined: Wed 04 May 2005, 20:28
- Location: Knoxville, TN, USA
Haven't used Wary, so I don't know for sure, but it shouldn't be too hard to manage. You are correct about the kernel modules, so you'd have to either compile or obtain versions that match your kernel. Barry used to make these available as part of the unleashed package for the version of Puppy in question. I think he still does this in the woof package, but I'm not sure.
You'd also have to manually go through the init scripts to add the various commands to have it start, stop, etc.
I'm intending to make a new version of this someday. One of the companies I'm working with uses a heavily modified Puppy, and they're interested in a more advanced splash program than the current version. That's pretty low priority though. It's even lower priority in my own list of personal projects that need to be worked on. So I probably won't get around to it for a long time.
As for alternatives, I think there is one named "bootsplash". Any alternative will probably also require the same kernel modules though, and probably also editing of the bootscripts to manage it (but I could be wrong, I haven't looked very closely at other systems).
You'd also have to manually go through the init scripts to add the various commands to have it start, stop, etc.
I'm intending to make a new version of this someday. One of the companies I'm working with uses a heavily modified Puppy, and they're interested in a more advanced splash program than the current version. That's pretty low priority though. It's even lower priority in my own list of personal projects that need to be worked on. So I probably won't get around to it for a long time.
As for alternatives, I think there is one named "bootsplash". Any alternative will probably also require the same kernel modules though, and probably also editing of the bootscripts to manage it (but I could be wrong, I haven't looked very closely at other systems).
[size=75]Between depriving a man of one hour from his life and depriving him of his life there exists only a difference of degree. --Muad'Dib[/size]
[img]http://www.browserloadofcoolness.com/sig.png[/img]
[img]http://www.browserloadofcoolness.com/sig.png[/img]
- technosaurus
- Posts: 4853
- Joined: Mon 19 May 2008, 01:24
- Location: Blue Springs, MO
- Contact:
I've been trying to use this on Luci 529 with mixed results.
I modded everything including the initrd.gz and the rc.d files.
On my own machine frugal install I can get the splash and an animation sequence working during boot. the only text appearing is the Xwin start just prior to desktop.
However on shutdown even though I have not made any changes to shutdown the vga=785 keeps the echoing off.
I discovered that just using vga=785 in the grub line without any other mods on a clean frugal install, produced a black screen during booting till the init scripts took over, when text appeared.
On shutdown though, the same problem as a modded system, the shutdown is done under a black screen with no console output.
I admit I'm lost now. I read up on fbcon and tried to unbind the console in the shutdown script but to no avail.
I tried the shutdownsplash in the shutdown script but I cannot get this to work correctly. I did hope this would restore the console for the closing messages using the pause etc.
I even got this far on a live cd build.
Anyone know where I'm going wrong.
I modded everything including the initrd.gz and the rc.d files.
On my own machine frugal install I can get the splash and an animation sequence working during boot. the only text appearing is the Xwin start just prior to desktop.
However on shutdown even though I have not made any changes to shutdown the vga=785 keeps the echoing off.
I discovered that just using vga=785 in the grub line without any other mods on a clean frugal install, produced a black screen during booting till the init scripts took over, when text appeared.
On shutdown though, the same problem as a modded system, the shutdown is done under a black screen with no console output.
I admit I'm lost now. I read up on fbcon and tried to unbind the console in the shutdown script but to no avail.
I tried the shutdownsplash in the shutdown script but I cannot get this to work correctly. I did hope this would restore the console for the closing messages using the pause etc.
I even got this far on a live cd build.
Anyone know where I'm going wrong.
Rob
-
The moment after you press "Post" is the moment you actually see the typso 8)
-
The moment after you press "Post" is the moment you actually see the typso 8)