pUPnGO - 6Mb ISO - Basic Building Block Puplet

A home for all kinds of Puppy related projects
Message
Author
User avatar
technosaurus
Posts: 4853
Joined: Mon 19 May 2008, 01:24
Location: Blue Springs, MO
Contact:

#621 Post by technosaurus »

the 20% size savings was on a 2.6.32 kernel (Wary=squashfs4) and *.ko modules (no individual .gz compression) When squashed with a tree structure, I get a 24+Mb sfs file and under 19Mb flattened (module.* makes little difference on either) ... there are multiple factors that could push it down 1)the directories may account for some 2)the files being in the same directory may allow compression to cross multiple files and eliminate globally shared code (the stuff needed by all modules as well as elf structures and common strings or the directory tree my be throwing some other wrench
As for the differences - module compression, squash3 vs 4, cpu and ram???
I'm also squashing the 2.6.32 directory itself ... it just makes better sense to mount it on /lib/modules/2.6.32 rather than keep empty parent directories

Edit - more cool X stuff here:
http://unixb4coffee.hubpages.com/

Code: Select all

/* minimal defaulttextviewer (view only) for gtk1 */
#include <stdio.h>
#include <gtk/gtk.h>

int main( int argc, char *argv[] ){
	GtkWidget *window, *text;
	FILE *infile;

	gtk_init (&argc, &argv);
 
	window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
	gtk_widget_set_usize (window, 640, 480);
	gtk_signal_connect (GTK_OBJECT (window), "destroy", gtk_main_quit, NULL);
	
	text = gtk_text_new (NULL, NULL);
	infile = fopen(argv[1], "r");
	
	if	(infile)
	{
		char buffer[1024];	int nchars;
		
		do 
		{
			nchars = fread(buffer, 1, 1024, infile);
			gtk_text_insert (GTK_TEXT (text), NULL, NULL, NULL, buffer, -1);
		} while	(nchars == 1024);
		fclose (infile);
	}

	gtk_container_add (GTK_CONTAINER (window), text);
	
	gtk_widget_show_all(window);
	gtk_main ();
	return(0);			 
}
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].

goingnuts
Posts: 932
Joined: Sun 07 Dec 2008, 13:33
Contact:

#622 Post by goingnuts »

Further test on the mcb...Not quite sure how to read those informations...
is it a proof of shared memory between the different applications spawn from the mcb?
Attachments
snap0000.png
(22.62 KiB) Downloaded 988 times

starhawk
Posts: 4906
Joined: Mon 22 Nov 2010, 06:04
Location: Everybody knows this is nowhere...

#623 Post by starhawk »

Tried pUPnGO 090611 on my wonderfully picky and catankarous Dell Latitude CPi. Unfortunately, the only graphics driver that seems to work properly on that old laptop is the generic Xorg driver (the neomagic driver produces ...interesting... results). Xvesa wreaks havoc -- every other vertical line is used and the colors are Gulden's brown-mustard "yellow" (or Koop's if you use that stuff instead) and a dark seasick green -- and the whole thing kernel panics (I suspect, just some 640x480 artifacting, nothing intelligible left) after a few minutes!

Is there a way to (size-frugally) incorporate Xorg into pUPnGO with *only* the generic driver? My understanding is that this config would work on most systems to begin with... and one would still get to choose Xvesa if one wants that.

MUCH-LATER EDIT: just found out (via a different system) that the package installer is broken in that version.

goingnuts
Posts: 932
Joined: Sun 07 Dec 2008, 13:33
Contact:

#624 Post by goingnuts »

starhawk wrote:MUCH-LATER EDIT: just found out (via a different system) that the package installer is broken in that version.
Sorry to hear that! Do you know what was broken - which archive type did you try to install?

starhawk
Posts: 4906
Joined: Mon 22 Nov 2010, 06:04
Location: Everybody knows this is nowhere...

#625 Post by starhawk »

running pkginstall.sh by itself clears the terminal screen like a CLS command. Using the menu results in the menu refreshing. No readout, not even an error message.

Adding Xorg functionality is equally important to me.

goingnuts
Posts: 932
Joined: Sun 07 Dec 2008, 13:33
Contact:

#626 Post by goingnuts »

Attached revised versions of pkginstall.sh and pkgremove.sh.
Some bash specific substitutions failed when ash was only shell in the previous versions.

As for getting Xorg to play in pUPnGO try installing xorg_xorg_full_dri-7.3 official pet and needed libs accordingly (not tested...).

Or try using the static build of Xfbdev posted earlier in this thread. The kernel in pUPnGO V412 060211 - version is build with support for that.
Attachments
pkgins_rem-300412.tar.gz
(6.96 KiB) Downloaded 378 times

starhawk
Posts: 4906
Joined: Mon 22 Nov 2010, 06:04
Location: Everybody knows this is nowhere...

#627 Post by starhawk »

Link to the xorg pet? (for the 090611 pUPnGO)

EDIT: got tired of waiting :P found it meself. I'll post again to say if it works or not.

starhawk
Posts: 4906
Joined: Mon 22 Nov 2010, 06:04
Location: Everybody knows this is nowhere...

#628 Post by starhawk »

All I get when I un-tar/gz that file is a "tartmp" file. Can you check and make sure it works on your end?

goingnuts
Posts: 932
Joined: Sun 07 Dec 2008, 13:33
Contact:

#629 Post by goingnuts »

starhawk wrote: EDIT: got tired of waiting :P found it meself..
np - you got help asking for service... :wink:

The pkginstall.sh works ok here. You wont get Xorg with the xorg_xorg_full_dri-7.3 alone...
Try look at the official pets for P412 or other version ex. here, unpack them and strip down for your needs, repack and install in pUPnGO...ex. here

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

#630 Post by technosaurus »

Just an fyi, I _am_ still working on fixing kdrive/tinyx, so that it _is_ a viable option. Its just kind of difficult to cherry pick the patches from the Xorg tree, since they never really paid any attention to whether changes broke the kdrives (which is why they were mostly removed) ... so I am using Xfree86-4.8 as the base and patches that I have found for those.

background:
Pulling out just one of Xvesa or xfbdev would be fairly simple, but there are quite a few platform specific options with some hardware acceleration that would be a shame to throw out (ati, i850, itsy, ipaq, SDL, ... many more). This involves fixing dix/main.c so that it either works more like a multicall binary that calls the proper functions based on how it is invoked (and therefore renaming a lot of functions and probably using a hacky global variable) ... or ... shifting "main" to the various drivers themselves (which would still require some function renaming, but better lend itself to making a multicall binary without hacky global variables). The second option would make it much more portable and even allow us to have a libkdrive/libtinyx ... saving space on shared library type distros and making it easier to update the universal xservers (vesa and fb) or test/add platform specific ones or even a new universal one for modern PCs that uses something like opengl/opencl. I currently only plan to support linux/bsd, so the nest of ifdefs for extinct platforms and corporate unices (what is the plural of unix?) will be minimized (If one of them wanted to sponsor the project, I'd be open to maintaining a separate tree though) ... for mac/windows hopefully there is a way to use xnest/xephyr type of driver so that the majority of platform specific code can go in there (it would have to be from an outside contributor though) ... anyhow its a lot of code and my 'g','r','e','p' keys have almost completely faded from my keyboard and my left mouse button is busted from it already - In the mean time, try the Xvesa from tinycore with the tcl version of pupngo (or their minimal Xorg package), since it is the closest to being up to date (it is newer and the mouse works better due to a patch, and a few other niceties but it doesn't have the remove-ugly-background patch AFAIR)
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].

starhawk
Posts: 4906
Joined: Mon 22 Nov 2010, 06:04
Location: Everybody knows this is nowhere...

#631 Post by starhawk »

Got the *.tar.gz working -- apparently 7zip was flagging the .tar file as a directory in Windows (or Windows was making a very incorrect assumption!). I un-*.gz'd it using GZip (found on the 'net) and did the untarring with 7zip and it worked.

Gaah :roll: another reason to switch, albeit a small one. Either way: not your archive, my extracting methods.

I'll take a look at the Xorg pet you provided, as I've too little knowledge of how things work to know safely what to strip from a package.

EDIT: *.pet does not work. Install from within GUI = black screen, X cursor, nothing useful present. I think you cut out a little too much :lol:

I'll take a look at the original *.pet and see what I can do.

starhawk
Posts: 4906
Joined: Mon 22 Nov 2010, 06:04
Location: Everybody knows this is nowhere...

#632 Post by starhawk »

I installed xorg 7.3-1 base, server, and drivers-full from the Puppy4 ibiblio repository, and "stole" (borrowed) the shell scripts xorgwizard, xrandrshell, xserverwizard, and input-wizard, from Puppy 412 not-retro.

I try to run xorgwizard and it doesn't work -- crashes instantly. xserverwizard says that gtkdialog2 is missing. My guess (although I can't read that fast) is that xorgwizard needs the same.

Is this something I can fix with a symlink, or do I need to learn to code something here?

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

#633 Post by technosaurus »

starhawk wrote:EDIT: *.pet does not work. Install from within GUI = black screen, X cursor, nothing useful present. I think you cut out a little too much :lol:
That means it works but you need a window manager ... jwm is the best supported and highly configurable

this is my hacky way to get X up without adding extra tools

Code: Select all

Xorg & sleep 5 && jwm -display :0
feel free to adjust the sleep value (some start in <1s others take up to 10s ... or you can use my static waitfordisplay that I posted some pages back)
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].

goingnuts
Posts: 932
Joined: Sun 07 Dec 2008, 13:33
Contact:

#634 Post by goingnuts »

I haven't tested the xorg-pet in all the past pupngo versions but it works here in my test bench.... Try running xorgwizard from outside X (command prompt) that way you wont get the missing gtkdialog2 stuff. xorgwizard need some helpers to function (ddcprobe and dmidecode) although you can configure xorg via xorgwizard without if. Also some long options are used for grep and sort which the busybox version does not understand.
The xorg pet contains a xorgwizard modified to use gtkdialog1 (you can use the static versions provided in the programming area) - and with the described changes mentioned above.

After installing the xorg pet try starting X from command prompt with "xinit". If Xorg is symlinked to X and jwm startup is described in /root/.xinitrc - Xorg and jwm should start up ...

starhawk
Posts: 4906
Joined: Mon 22 Nov 2010, 06:04
Location: Everybody knows this is nowhere...

#635 Post by starhawk »

Thanks, I'll try that.

BTW, a couple of general questions probably better for the Programming forum...

(1) what does it mean to "statically" compile something? (I know you don't rub it with Cling Wrap! :lol: )
(2) when you strip things down, how is that done? Do you delete unnecessary files out of *.pets, or do you actually rewrite lines of code? or both?

I'm a total n00b with this stuff.

EDIT: might want to take a look at the referred thread -- the two *.gz files (of which I need one) won't gunzip. I posted my troubles in that thread.

goingnuts
Posts: 932
Joined: Sun 07 Dec 2008, 13:33
Contact:

#636 Post by goingnuts »

1. static linked executables hold everything needed for it to run as a stand alone binary - that is: No external shared libraries needed. Many of the younger pUPnGO versions are composed of totally static linked binaries - that means the main sfs has no need for any shared libraries.
2. strip in the compiling sense - is removing everything unneeded for the binary to run (comments in the code, bypassed code-snippets etc.). Normally done by using the strip-program.

When I speak of stripping the xorg-packages for all unneeded stuff its a removal (delete) of files from the packages which is something different. Other names it "cut-the-fat"...

starhawk
Posts: 4906
Joined: Mon 22 Nov 2010, 06:04
Location: Everybody knows this is nowhere...

#637 Post by starhawk »

"strip-program"...? What program? Where do I get it?

I want to learn this stuff too :o

Ibidem
Posts: 549
Joined: Wed 26 May 2010, 03:31
Location: State of Jefferson

#638 Post by Ibidem »

technosaurus wrote:I will try to provide a patch for those (either by adapting from a bsd or bionic) if/as soon as rich changes this: http://git.etalabs.net/cgi-bin/gitweb.c ... NG;hb=HEAD
Sounds like Rob (or someone on his behalf) put a bee in his bonnet ... it really wasn't filling any unfilled niche as a smaller lgpl licensed c library, but as BSD it could really gain some steam...
If all goes well with musl that will render most of my idea to combine all of the essential lgpl libraries into a single shared library moot (though I still may combine v1.2.x of glib,gtk* & gdk*)
Technosaurus:
The time is now.
Rich Felker wrote:Hi everyone,
OK, here it is: the first release in the 0.9.0 series:

Milestone release covering all interfaces in ISO C99 and POSIX 2008
base. Relicensed under standard MIT license. New configure script
for easy build setup. Full stack protector and PIE support on i386
and x86_64 targets. Major floating-point math improvements and
fixes, application compatibility improvements (mostly legacy header
details), and additional bug fixes in dlerror and several wide
character functions.

http://www.etalabs.net/musl/releases/musl-0.9.0.tar.gz

Ibidem
Posts: 549
Joined: Wed 26 May 2010, 03:31
Location: State of Jefferson

#639 Post by Ibidem »

starhawk wrote:"strip-program"...? What program? Where do I get it?

Code: Select all

strip --help
You should have it already if you can compile anything--it's part of binutils.

User avatar
RetroTechGuy
Posts: 2947
Joined: Tue 15 Dec 2009, 17:20
Location: USA

#640 Post by RetroTechGuy »

starhawk wrote:"strip-program"...? What program? Where do I get it?

I want to learn this stuff too :o
It should be in the bundle with your compiler. Typically strips out all the un-needed junk (debugging info, etc) -- it makes the compiled program smaller.

So you just compiled a program called "starhawk" (the binary). Try this:

Code: Select all

ls -la starhawk

strip starhawk

ls -la starhawk
You should see that the binary is smaller afterwards.
[url=http://murga-linux.com/puppy/viewtopic.php?t=58615]Add swapfile[/url]
[url=http://wellminded.net63.net/]WellMinded Search[/url]
[url=http://puppylinux.us/psearch.html]PuppyLinux.US Search[/url]

Post Reply