Pebble 1.0 BETA - simple bootsplash program

Stuff that has yet to be sorted into a category.
Message
Author
james_liu
Posts: 22
Joined: Wed 03 Dec 2008, 13:07

maybe something wrong with "bootsplash stop"

#81 Post by james_liu »

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?

james_liu
Posts: 22
Joined: Wed 03 Dec 2008, 13:07

#82 Post by james_liu »

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.

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
So I added "touch $ASLEEP_FILE" to the script of pebble before the loop of "while". it works fine.

User avatar
Pizzasgood
Posts: 6183
Joined: Wed 04 May 2005, 20:28
Location: Knoxville, TN, USA

#83 Post by Pizzasgood »

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:

Code: Select all

      while [ ! -f "$ASLEEP_FILE" ]; do echo > /dev/null; done;
      rm -f "$ASLEEP_FILE"
with this:

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"
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.

james_liu wrote:Good, the edition 4.11 first like this, did not know that 4.12 can also have such question
Sorry, but I don't understand what you're trying to say.

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.
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.
[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]

jinxed
Posts: 10
Joined: Wed 28 Feb 2007, 00:24

#84 Post by jinxed »

I am also experiencing a freeze in puppy 4.1.2 (frugal install). The problem for me seems to happen around the switch-root. I mounted the drive on another machine and the last line I see in /initrd/tmp/boot-text.log is "Performing a 'switch-root' to the layered filesystem..."

User avatar
Pizzasgood
Posts: 6183
Joined: Wed 04 May 2005, 20:28
Location: Knoxville, TN, USA

#85 Post by Pizzasgood »

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]

User avatar
WarMocK
Posts: 169
Joined: Thu 05 Jul 2007, 11:53

#86 Post by WarMocK »

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. :D

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. ^^').

User avatar
Pizzasgood
Posts: 6183
Joined: Wed 04 May 2005, 20:28
Location: Knoxville, TN, USA

#87 Post by Pizzasgood »

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.
[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]

User avatar
WarMocK
Posts: 169
Joined: Thu 05 Jul 2007, 11:53

#88 Post by WarMocK »

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). ;-)

User avatar
Pizzasgood
Posts: 6183
Joined: Wed 04 May 2005, 20:28
Location: Knoxville, TN, USA

#89 Post by Pizzasgood »

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]

tunyawat
Posts: 103
Joined: Sun 02 Nov 2008, 04:03
Location: Bangkok, Thailand and London, UK

#90 Post by tunyawat »

Warmock
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. ^^').
The following threat helps me to successfully compile the Splashy

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.

User avatar
Pizzasgood
Posts: 6183
Joined: Wed 04 May 2005, 20:28
Location: Knoxville, TN, USA

#91 Post by Pizzasgood »

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.
[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]

jmark1m
Posts: 2
Joined: Thu 07 Feb 2008, 19:08

Pebble Status

#92 Post by jmark1m »

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?

User avatar
Pizzasgood
Posts: 6183
Joined: Wed 04 May 2005, 20:28
Location: Knoxville, TN, USA

#93 Post by Pizzasgood »

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).
[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]

User avatar
technosaurus
Posts: 4853
Joined: Mon 19 May 2008, 01:24
Location: Blue Springs, MO
Contact:

#94 Post by technosaurus »

As for alternatives, busybox now has fbsplash. It has had quite a few improvements in the last couple release cycles.
Check out my [url=https://github.com/technosaurus]github repositories[/url]. I may eventually get around to updating my [url=http://bashismal.blogspot.com]blogspot[/url].

User avatar
WarMocK
Posts: 169
Joined: Thu 05 Jul 2007, 11:53

#95 Post by WarMocK »

@technosaurus: is there already a dotpet available for it? Or do I need to compile that busybox-version from scratch?

User avatar
tasmod
Posts: 1460
Joined: Thu 04 Dec 2008, 13:53
Location: North Lincolnshire. UK
Contact:

#96 Post by tasmod »

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. :lol:

Anyone know where I'm going wrong. :?:
Rob
-
The moment after you press "Post" is the moment you actually see the typso 8)

Post Reply