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 Tue 23 Sep 2014, 20:47
All times are UTC - 4
 Forum index » Advanced Topics » Cutting edge
system optimization techniques
Moderators: Flash, Ian, JohnMurga
Post new topic   Reply to topic View previous topic :: View next topic
Page 2 of 2 [20 Posts]   Goto page: Previous 1, 2
Author Message
sunburnt


Joined: 08 Jun 2005
Posts: 5031
Location: Arizona, U.S.A.

PostPosted: Sun 26 Aug 2012, 11:54    Post subject:  

Yes, I realize BusyBox isn`t for the purpose of reduced size.
I just question it`s seeming general usefulness, and it`s value in Squash based systems.
I have no doubt that there`s a lot more going on with it.

If it`s truly an enhancement then perhaps it should be expanded?
Add in sed, grep, cut, paste, comm, awk, and perhaps even more...
This would "containerize" most of the loose Linux utility files.
Back to top
View user's profile Send private message 
Ibidem

Joined: 25 May 2010
Posts: 490
Location: State of Jefferson

PostPosted: Sat 09 Feb 2013, 03:17    Post subject:  

Busybox has sed, awk, lpd, vi, fdisk, mkfs, fsck, and so on--it's enough to build the kernel, combined with binutils, gcc, and make. You probably want CONFIG_DESKTOP, though.
I've actually usedit as a full standalone OS.

IIRC, UPX hurts because it ends up killing the self-exec trick or something similar--could be wrong; I remember they mentioned it was NOT good for anything which has multiple instances.
I'd expect Busybox to be an improvement on compressed filesystems due to reduced filesystem io-it self-executes from RAM that is required just to run it, so you don't have it eating up cycles on decompression or cached in ram.
The big space savings (IIRC) was actually in just having one ELF header.
A shared, split Busybox with libbusybox.so was ~6-7 MB in the 1.18 timeline (an interesting config option that is well hidden: enable PIC, then edit .config and uncomment it; I forget the name of the option...)
Back to top
View user's profile Send private message 
technosaurus


Joined: 18 May 2008
Posts: 4351

PostPosted: Sat 09 Feb 2013, 04:37    Post subject:  

The problem with libbusybox.so is that it only exports the <applet>_main functions, not the other functions that could be useful for linking against for creating other apps (I believe this was brought up on the mailing list at some point) ... things like the zlib/bz2/xz, md5/sha1 and other numerous helper functions, but this is likely due to license choice being gpl vs. lgpl - industry isn't usually interested in gpl-ing a major work, but now there is toybox.
_________________
Web Programming - Pet Packaging 100 & 101
Back to top
View user's profile Send private message 
scsijon

Joined: 23 May 2007
Posts: 1042
Location: the australian mallee

PostPosted: Sat 27 Jul 2013, 21:52    Post subject: Re: system optimization techniques  

technosaurus wrote:
Wondering whether or not to recompile a program in your puplet to eliminate large shared libs that are only used once or twice

Code:
for x in ${PATH//://* }/* ; do [ -x "$x" ] && objdump -x $x 2>/dev/null & done|grep NEEDED|sort |uniq -c |sort -n >binaudit


this will tell you how many times each library is needed (if it isn't on the list, it can likely just be removed --- not always though, need to remember dlopen and/or plugins may use it too ... in "module" mode)

now open binaudit in your text editor and get to work, starting with the ones that are needed only once ... you can build them in statically


Turned it into a shell script (easy) and ran it, it's interesting and usefull, however was wondering if you would be willing to extend it to start from / and test against all installed files and all subdirectorie depths and of course their libraries directories.

It could then become a tool for backtesting a completed build, and fill a void that we don't have now.

As you know, i'm not much of a coder and somedays just thinking is a mental migrane.

thanks
scsijon
Back to top
View user's profile Send private message Visit poster's website 
technosaurus


Joined: 18 May 2008
Posts: 4351

PostPosted: Sun 28 Jul 2013, 21:20    Post subject:  

If you start at /, it will check libs too even if no binaries use them. Waste of time and not useful. Maybe add some from /usr/share and $HOME, but those should really get fixed to be in proper locations.
_________________
Web Programming - Pet Packaging 100 & 101
Back to top
View user's profile Send private message 
Display posts from previous:   Sort by:   
Page 2 of 2 [20 Posts]   Goto page: Previous 1, 2
Post new topic   Reply to topic View previous topic :: View next topic
 Forum index » Advanced Topics » Cutting edge
Jump to:  

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Powered by phpBB © 2001, 2005 phpBB Group
[ Time: 0.0649s ][ Queries: 12 (0.0172s) ][ GZIP on ]