Puppy Linux Discussion Forum Forum Index Puppy Linux Discussion Forum
Puppy HOME page : puppylinux.com
"THE" alternative forum : puppylinux.info
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

The time now is Wed 26 Nov 2014, 16:27
All times are UTC - 4
 Forum index » Advanced Topics » Cutting edge
Saluki, Puppy Remastered
Moderators: Flash, Ian, JohnMurga
Post_new_topic   Reply_to_topic View_previous_topic :: View_next_topic
Page 3 of 24 Posts_count   Goto page: Previous 1, 2, 3, 4, 5, ..., 22, 23, 24 Next
Author Message
Iguleder


Joined: 11 Aug 2009
Posts: 1923
Location: Israel, somewhere in the beautiful desert

PostPosted: Wed 08 Sep 2010, 09:02    Post_subject:  

ttuuxxx wrote:
That's a nice start but, It should be around 110-120MB, 150MB is too large for a default pre-alpha
ttuuxxx


I guess you haven't read the whole message. This is 90% of the core stuff, including the stuff that go to the devx, with locales and everything. Most of these files belong to the devx ... I guess I could produce a 30-40 MB ISO from just the applications and the libraries.

At the moment I'm trying to produce a working alpha ISO of my distro with these ... it had a severe bug with udev, I found out it's impossible to put device nodes in a tar archive to move them between computers ... I took a look at /dev and it seems it's empty Laughing

Gonna create those device nodes ... should work Smile

_________________
My homepage
Back to top
View user's profile Send_private_message Visit_website MSNM 
ICQ 
jemimah


Joined: 26 Aug 2009
Posts: 4309
Location: Tampa, FL

PostPosted: Wed 08 Sep 2010, 09:30    Post_subject:  

Aitch wrote:

Devs, any interest?.....Puppy from scratch/Pup'n'Go + network download to self construct a Pup for your own hardware.....nice n fast/small ....add what you want by SFS using sfs linker, or similar


It's called TinyCore. Why reinvent the wheel?
Back to top
View user's profile Send_private_message Visit_website 
jemimah


Joined: 26 Aug 2009
Posts: 4309
Location: Tampa, FL

PostPosted: Wed 08 Sep 2010, 09:34    Post_subject:  

Iguleder wrote:
I found out it's impossible to put device nodes in a tar archive to move them between computers ... I took a look at /dev and it seems it's empty Laughing


Try a cpio archive - I think that should work.
Back to top
View user's profile Send_private_message Visit_website 
technosaurus


Joined: 18 May 2008
Posts: 4379

PostPosted: Wed 08 Sep 2010, 11:14    Post_subject:  

I for one would rather start with a clean base and properly optimize compiles and choose optional dependencies from the onset.

Here are 7 basic points that I think matter during planning:

    1.
    For the initial first pass run I would recommend compiling with no optional dependencies selected, and here is my reasoning:
    autotools and waf will use pkg-config to select which packages to link against
    pkg-config spits out every library that the probed library was linked with
    extra unnecessary packages will be linked and show up as a dependency even if not used
    the --as-needed flag usually mitigates this as far as run time but not always work and it will still fail to start if the lib doesn't exist
    but if you compile a binary against a minimal library and then go back and recompile the library with more features it will typically still work with either version of the library

    2.
    Certain libraries are almost never linked directly and are just needed as a dependency - these should be compiled directly in for better size and speed... for instance libXau and libXdmcp are needed for libX11, but I have only found one program that needed anything in them that wasn't required by libX11 and static linking it didn't noticably increase the binary size.

    3.
    Some programs use large libraries with many dependencies to do just one or two things that can be closely mimicked in other ways <should I post a wiki entry?>. Furthermore dependencies tend to creep into projects that were formerly lean for a number of reasons that one could write an entire PhD dissertation about. We have a large collection of knowledge on this subject and have identified many projects down to the minor version or specific commit and/or patched the existing tree. Yad/zenity, pango, Xorg-7.3+ and glipper-lite come to mind.

    4.
    The linker is smarter than we are (but auto**** is not). Really ... replace an occurence of `pkg-config --libs gtk-x11-2.0` (which spits out about 10 libs and lib locations multiple times in succession) with simply -lgtk-x11-2.0. The build will likely be smaller and load faster. This is one reason many puppy sources contain their own custom build scripts.

    5.
    Sometimes bigger is smaller. For example if you have 10 daemons running in the background that call sleep from busybox, it will load the entire busybox binary and take over 1Mb of RAM per daemon, whereas if you add an additional static copy of sleep, you can save 10+Mb of RAM and another 10Mb or so if it can run using a small static dash. This goes for pretty much any daemonized process such as cupsd, udevd, inotify* .
    The ram and startup time savings far outweigh the minimal added binary size.

    6.
    -Os, -O2 and -O3 are only a small percentage of compiler/linker optimizations. See the pet packaging 100/101 link in my signature for more details, but my point is that only using standard flags can cost up to 50% size and significant performance.

    7.
    The second pass builds should be compared to the first pass for size and dependencies as an 1D10T check to see if anything creeped in unwantedly (some circular dependent packages will grow intentionally? for instance cairo's svg backend needs rsvg which depends on cairo)

_________________
Web Programming - Pet Packaging 100 & 101
Back to top
View user's profile Send_private_message 
technosaurus


Joined: 18 May 2008
Posts: 4379

PostPosted: Wed 08 Sep 2010, 11:37    Post_subject:  

jemimah wrote:
It's called TinyCore. Why reinvent the wheel?

I had considered the same thing but:
A. I prefer running as root since my OS is usually in RAM anyways.
B. Their forum and package policies are a pain.
C. No unionfs/aufs (but they do a fair job of working around it)
D. Its fairly polluted with "ugly" fltk and imlib programs (microcore is a bit better)

On the other hand I have used their tcz packages (same as sfs v4) to supplement packages that aren't in ppm, and I see no reason why we shouldn't borrow their tcz linker code to use for sfs linking, maybe some other goodies too. Microcore could still be a base I guess, some kind of blend between it and Pup'nGo.

_________________
Web Programming - Pet Packaging 100 & 101
Back to top
View user's profile Send_private_message 
Aitch


Joined: 04 Apr 2007
Posts: 6825
Location: Chatham, Kent, UK

PostPosted: Wed 08 Sep 2010, 12:21    Post_subject:  

Techno

I think jrb's linker uses TCs code already, and does TCZ and SFS linking

http://www.murga-linux.com/puppy/viewtopic.php?t=47976

[In case you missed it]

I certainly favour Puppy's own dev code to TCs

A new small fast puppy, that'll allow package [and driver?] customising and update would really be something IMO

Network boot and mesh networking would be pure luxury bonus

Also see coreboot http://www.murga-linux.com/puppy/viewtopic.php?t=59515

Aitch Smile
Back to top
View user's profile Send_private_message 
technosaurus


Joined: 18 May 2008
Posts: 4379

PostPosted: Wed 08 Sep 2010, 15:10    Post_subject:  

I don't want to forget license compliance. Here is a useful guide that addresses some of the concerns that we may face (tracking changes, avoiding the "build guru")

http://www.softwarefreedom.org/resources/2008/compliance-guide.html

I like the idea of separating the source tree by license.

@Aitch - jrb had the sfs linker working before TC switched to the .tcz format, but he added it after I posted some converted tcz files as sfs, so that the packages could stay up to date. The last remaining problem I can think of with it is symlinking of symlinks where the actual file being linked to is not in the sfs/tcz but is expected to be in the main sfs (these just need to be copied - the .so file symlinks in the devx for example)

_________________
Web Programming - Pet Packaging 100 & 101
Back to top
View user's profile Send_private_message 
jemimah


Joined: 26 Aug 2009
Posts: 4309
Location: Tampa, FL

PostPosted: Wed 08 Sep 2010, 15:36    Post_subject:  

Well I'm in for Technosaurus' plan if we can figure out a way to delegate tasks.
Back to top
View user's profile Send_private_message Visit_website 
big_bass

Joined: 13 Aug 2007
Posts: 1747

PostPosted: Wed 08 Sep 2010, 22:24    Post_subject:  

Quote:
(tracking changes, avoiding the "build guru")



thats the main reason I chose pkgtools to be the package management
to build a distro the binaries could be compiled for any source


since slackwares package manager is the oldest around
and most used ,understood and tested and plain easy to use

one large advantage is no automatic dependency resolving
which will bloat and break the system

I did a re write of the front end of pkgtools to allow dependency checking on all of the pre installed packages or any new package installed (it also works in X since I re wrote it in Xdialog)

since people always complain about dependency checking
that no longer is an issue

this removes the guru only one person that understands how to build remove and install packages cleanly

because it was well documented long before I ever used it


I really agree to following linux standards as close as possible
whenever possible to keep things transparent to all

later you just point people to a website that has packages
that were tested to work

the advantage here is no built in hardcoded
package site info it is dynamic and can be quickly updated and modified in minutes


I believe some compromises are expected to gain the agreement of a team
as far as what Glibc to use and which kernel will be used
this can be a start point of who agrees
other kernels could be compiled later


one example is I used the 2.6.27.7 kernel because of the lzm and aufs and squashfs patches
were specially made for that kernel

*since a using a live cd requires a more careful selection of the kernel



Joe

_________________
debian wheezy ,linux mint, slackware I use them all and they all have good points
Mint would be best for general users though
Back to top
View user's profile Send_private_message 
Lobster
Official Crustacean


Joined: 04 May 2005
Posts: 15117
Location: Paradox Realm

PostPosted: Wed 08 Sep 2010, 23:45    Post_subject:  

Puppy testers and developers are straining at the leash . . . Smile

Whoever provides a minimal iso and devx to remaster from will have started something . . .

I will add the download location here

http://puppylinux.org/wikka/Puppy6

_________________
Puppy WIKI
Back to top
View user's profile Send_private_message Visit_website 
technosaurus


Joined: 18 May 2008
Posts: 4379

PostPosted: Thu 09 Sep 2010, 02:42    Post_subject:  

I wanted to start off with the latest version of busybox with all patches - I finally figured out how to add an applet properly so I added a small mp3 player to test it out. Compiled against glibc for now -- spent too much time figuring out how to busybox an applet.
busybox-1.17.2-minimp3.patch.gz
Description 
gz

 Download 
Filename  busybox-1.17.2-minimp3.patch.gz 
Filesize  21.96 KB 
Downloaded  573 Time(s) 
busybox-1.17.2-1.tar.gz
Description 
gz

 Download 
Filename  busybox-1.17.2-1.tar.gz 
Filesize  511.71 KB 
Downloaded  541 Time(s) 

_________________
Web Programming - Pet Packaging 100 & 101
Back to top
View user's profile Send_private_message 
Iguleder


Joined: 11 Aug 2009
Posts: 1923
Location: Israel, somewhere in the beautiful desert

PostPosted: Thu 09 Sep 2010, 03:58    Post_subject:  

Here's my SFS linker, from my own distro. Just read the code ... it's very easy to understand. I use it with 100+ SFS extensions.

It's very very easy to implement something similar for Puppy ... just a script that checks how many SFSs you have, if you have more than 8 it uses linking instead of layers.

btw: this WILL ruin your system, Puppy is not supposed to do things this way. Don't use it unless you know what you're doing.

(a gzipped Bash script)
loadsfs.gz
Description 
gz

 Download 
Filename  loadsfs.gz 
Filesize  935 Bytes 
Downloaded  490 Time(s) 

_________________
My homepage
Back to top
View user's profile Send_private_message Visit_website MSNM 
ICQ 
bigpup


Joined: 11 Oct 2009
Posts: 5390
Location: Charleston S.C. USA

PostPosted: Thu 09 Sep 2010, 09:22    Post_subject:  

I see a need to make two versions.
One with the latest kernel and bleeding edge programs for newer computers. Multicore, high end video cards, etc.
One for old computers that do not seem to be supported by the newer kernel's.
Several times, people trying to use Lucid Puppy 5.1.1 on older hardware, are finding they need to go back to older version of Puppy to get them to work.
Back to top
View user's profile Send_private_message 
big_bass

Joined: 13 Aug 2007
Posts: 1747

PostPosted: Thu 09 Sep 2010, 09:54    Post_subject:  

technosaurus
Quote:
I wanted to start off with the latest version of busybox with all patches



I do agree that having a correctly configured busybox is needed

@technosaurus I will welcome all your apps if you provide sources or links
to the configure options used there are just a few of us that plan to build
we have to start out well documented and have the ability to repeat the final outcome of any app compiled from the get go


I am a bit uncomfortable thinking about adding a CLI mp3 player code to the first 2800 lines to an app as critical as busybox ( I tend to be a bit conservative with things nothing personal )



that may be needed for some micro embedded system
but not required for a light weight fully functional distro
since most people will use VLC,Mplayer,gxine ,Xmmms ,xhippo and others

**thanks in advance for posting the sources / config options
hmm that gave me a thought could we have another thread for packages
offered to the source build it would be much easier to locate stuff as we go
all in one place

Joe

_________________
debian wheezy ,linux mint, slackware I use them all and they all have good points
Mint would be best for general users though

Edited_time_total
Back to top
View user's profile Send_private_message 
Aitch


Joined: 04 Apr 2007
Posts: 6825
Location: Chatham, Kent, UK

PostPosted: Thu 09 Sep 2010, 10:00    Post_subject:  

I would agree with bigpup

Does anyone else notice there were 'milestone' versions of stable/working Puppy, e.g. 1.09, 2.14R1.01, NOP, 4.12, 4.31 ....

Even ttuuxxx's 2.14X doesn't run on some old hardware that 214R101 [my fallback] runs on, and look at the work he's put into that!

We need a new milestone, and I feel it spawning Wink

Aitch Smile
Back to top
View user's profile Send_private_message 
Display_posts:   Sort by:   
Page 3 of 24 Posts_count   Goto page: Previous 1, 2, 3, 4, 5, ..., 22, 23, 24 Next
Post_new_topic   Reply_to_topic View_previous_topic :: View_next_topic
 Forum index » Advanced Topics » Cutting edge
Jump to:  

Rules_post_cannot
Rules_reply_cannot
Rules_edit_cannot
Rules_delete_cannot
Rules_vote_cannot
You cannot attach files in this forum
You can download files in this forum


Powered by phpBB © 2001, 2005 phpBB Group
[ Time: 0.1095s ][ Queries: 13 (0.0077s) ][ GZIP on ]