Project

General

Profile

So reduce » History » Version 1

Oleksandr Rybalko, 04/18/2012 10:09 AM

1 1 Oleksandr Rybalko
h1. So reduce
2 1 Oleksandr Rybalko
3 1 Oleksandr Rybalko
*Q: Why BSDs use crunchgen, linux use busybox?*
4 1 Oleksandr Rybalko
A:
5 1 Oleksandr Rybalko
* busybox - everything in single and small binary
6 1 Oleksandr Rybalko
* crunchgen -
7 1 Oleksandr Rybalko
## it is small
8 1 Oleksandr Rybalko
## it is integrated (no external dependency)
9 1 Oleksandr Rybalko
10 1 Oleksandr Rybalko
bsdbox (by Adrian Chadd) http://wiki.freebsd.org/AdrianChadd/BsdBox
11 1 Oleksandr Rybalko
toybox http://landley.net/code/toybox/
12 1 Oleksandr Rybalko
13 1 Oleksandr Rybalko
crunchgen very nice because it make resulting binary on top of set of existing sources
14 1 Oleksandr Rybalko
but it have biiiig problem, all libs inside it, so no external software
15 1 Oleksandr Rybalko
otherwise ext soft must be compiled statically 
16 1 Oleksandr Rybalko
why sizeof(crunchgen bsdbox) < sizeof(same tools + libs)?
17 1 Oleksandr Rybalko
because libs compiled in w/o unused symbols
18 1 Oleksandr Rybalko
so, if we want:
19 1 Oleksandr Rybalko
20 1 Oleksandr Rybalko
# to have ability to add new soft
21 1 Oleksandr Rybalko
# still keep it small
22 1 Oleksandr Rybalko
# still keep tools as generic (unmodified)
23 1 Oleksandr Rybalko
24 1 Oleksandr Rybalko
we need a way to 
25 1 Oleksandr Rybalko
26 1 Oleksandr Rybalko
# collect symbols over (basic tools set + installable packages)
27 1 Oleksandr Rybalko
# reduce symbol set of system libraries 
28 1 Oleksandr Rybalko
29 1 Oleksandr Rybalko
to collect symbols we have nm/ldd/etc
30 1 Oleksandr Rybalko
to copy (libc.so) to (libc.so w/o some symbols) maybe possible with objcopy