Full Busybox 1.15.X snapshots
- technosaurus
- Posts: 4853
- Joined: Mon 19 May 2008, 01:24
- Location: Blue Springs, MO
- Contact:
Full Busybox 1.15.X snapshots
I compiled the snapshot build of busybox with allyesconfig and all parts that puppy supports (everything but pam and selinux) this will be much closer to the full desktop versions.
I set it up named bb instead of busybox so that it can coexist with a different version (such as static versions in init, etc...)
Barry recently discussed using the huge init with unionfs - which would eliminate the need for the separate statically compiled busybox, so I compiled it against gnu libc shared instead
I also made a little script that rebuilds all of the symlinks to bb called "listing"
On the plus side a symlink to bb is 2bytes vs 7bytes (14 if it is in ../sbin) so it saves a couple of kb
Does anyone know if it really matters if a program is in /bin or /sbin?
I set it up named bb instead of busybox so that it can coexist with a different version (such as static versions in init, etc...)
Barry recently discussed using the huge init with unionfs - which would eliminate the need for the separate statically compiled busybox, so I compiled it against gnu libc shared instead
I also made a little script that rebuilds all of the symlinks to bb called "listing"
On the plus side a symlink to bb is 2bytes vs 7bytes (14 if it is in ../sbin) so it saves a couple of kb
Does anyone know if it really matters if a program is in /bin or /sbin?
Last edited by technosaurus on Fri 01 Jan 2010, 18:47, edited 2 times in total.
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].
Re: Full Busybox 1.15.X snapshots
afaik it should not make a difference, as we are root. /sbin is for system-binaries, needed to administrate the system. in systems witch su/sudo, apps in /sbin might need superuser-privileges.technosaurus wrote:Does anyone know if it really matters if a program is in /bin or /sbin?
for a deeper look: http://proton.pathname.com/fhs/pub/fhs-2.3.html
aragon
PUPPY SEARCH: http://wellminded.com/puppy/pupsearch.html
- technosaurus
- Posts: 4853
- Joined: Mon 19 May 2008, 01:24
- Location: Blue Springs, MO
- Contact:
Thanks for the reminder, I've gotten so used to puppy that I was beginning to think that su is MU's caped alter ego
- Attachments
-
- genbbhlp.gz
- Here is a script to generate a single all inclusive help file for this build ..must run in same dir as bb
- (1.39 KiB) Downloaded 1196 times
-
- bbhelp.bz2
- here is the --help for all of the files in this busybox build
- (28.91 KiB) Downloaded 1189 times
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].
Don't really know for sure though it may matter if /bin appears in the PATH variable before /sbin. I did find however a slight speed up of scripts (on a slow system) such as /etc/rc.d/rc.sysinit by redefining frequently used commands to busybox such as echo to invoke busybox directly and not via the symlink /bin/echo e.g.Does anyone know if it really matters if a program is in /bin or /sbin?
alias echo="/bin/busybox echo "
- technosaurus
- Posts: 4853
- Joined: Mon 19 May 2008, 01:24
- Location: Blue Springs, MO
- Contact:
compare to toybox which contains just the basics for init:
- basename, bzcat, cat, catv, chroot, chvt, cksum, count, cp, df, dirname, dmesg, echo, false, help, mdev, mkfifo, mkswap, nc, netcat, oneit, patch, pwd, rmdir, seq, sh, sha1sum, sleep, sort, sync, tee, touch, toybox, toysh, true, tty, uname, which, yes
- Attachments
-
- toybox-0.0.9.2-i486.pet
- (24.98 KiB) Downloaded 1136 times
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].
- technosaurus
- Posts: 4853
- Joined: Mon 19 May 2008, 01:24
- Location: Blue Springs, MO
- Contact:
then compare to embutils statically compiled against diet libc
I did not statically compile toybox or busybox so keep that in mind for the comparison
I did not statically compile toybox or busybox so keep that in mind for the comparison
- allinone, arch, basename, cat, chgrp, chmod, chown, chroot, chrootuid, chvt, clear, cmp, cp, date, dd, df, dirname, dmesg, domainname, du, echo, env, false, head, hostname, id, insmod, install, kill, ldd, ln, ls, lsmod, md5sum, mesg, mkdir, mkfifo, mknod, mktemp, mount, mv, nice, nohup, pivot_root, printenv, pwd, renice, rm, rmdir, rmmod, sleep, sleep2, soscp, sosln, soslns, sosmv, sosrm, strings, sync, tail, tar, tee, test, time, touch, tr, true, truncate, tty, umount, uname, uniq, uudecode, uuencode, wc, which, whoami, write, yes
- Attachments
-
- embutils-0.19.1-i486.pet
- (91.37 KiB) Downloaded 1140 times
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].
- technosaurus
- Posts: 4853
- Joined: Mon 19 May 2008, 01:24
- Location: Blue Springs, MO
- Contact:
Snapshot of bb-1.16
here is a snapshot of bb-1.16 (renamed to bb for interoperability) and 2 scripts that will replace or supplement the existing gnu or bb versions
This version contains quite a few new applets related to flash; lspci, ntpd, traceroute6, wall,mkfs.reiser,tune2fs,mkfs_ext2 (and lots of others that were left out of Puppy in version 1.15)... over 330 applets in total
again everything but PAM and SELINUX applets
This version contains quite a few new applets related to flash; lspci, ntpd, traceroute6, wall,mkfs.reiser,tune2fs,mkfs_ext2 (and lots of others that were left out of Puppy in version 1.15)... over 330 applets in total
again everything but PAM and SELINUX applets
- Attachments
-
- bbscripts.tar.gz
- (2.89 KiB) Downloaded 1137 times
Last edited by technosaurus on Fri 01 Jan 2010, 18:26, edited 1 time in total.
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].
- technosaurus
- Posts: 4853
- Joined: Mon 19 May 2008, 01:24
- Location: Blue Springs, MO
- Contact:
I need to recompile this again because lsusb was added and I have found it to be very useful in the past, but I wanted to mention that if you want to keep specific existing GNU utilities and replace the rest then you can just comment out that line in the "replace" script.
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].
- technosaurus
- Posts: 4853
- Joined: Mon 19 May 2008, 01:24
- Location: Blue Springs, MO
- Contact:
and let's not forget asmutils - hasn't been updated in over 3 years but its size can't be beat (<3kb pet for 138 utils) - I would only test this with pfix=ram or use pet2tgz and test individually, since documentation is minimal
contains:
arch, basename, cal, cat, ccd, cda2raw, chmod, chown, chroot, chvt, cmp, cp, cpuinfo, cpuspeed, cut, date, dc, dd, deallocvt, deflate, df, dirname, dmesg, domainname, du, echo, eject, env, extname, factor, false, fdisk, finger, fingerd, free, fromdos, ftpd, getty, gi, grep, halt, head, hexdump, host, hostname, httpd, id, idea, ifconfig, inflate, init, kill, killall, killall5, ksyms, less, ln, ls, lsmod, lsusb, lzss, md5, md5sum, mesg, m_inetd, mkdir, mkfifo, mkfs.minix, mknod, mkswap, more, mount, mv, nc, netstat, nice, nm, nohup, od, paste, pidof, ping, pop3d, poweroff, proxy, ps, pwd, rc6crypt, readelf, readkey, readlink, reboot, renice, rm, rmdir, rmdsum, rmmod, rot13, route, scan, scons, sh, sha1sum, size, sleep, sln, softdog, strings, swapoff, swapon, sync, sysctl, tail, tar, tee, telnet, telnetd, test, todos, touch, tr, true, truss, tty, umount, uname, update, uptime, users, usleep, uuencode, watch, wc, wget, which, whoami, write, yes
contains:
arch, basename, cal, cat, ccd, cda2raw, chmod, chown, chroot, chvt, cmp, cp, cpuinfo, cpuspeed, cut, date, dc, dd, deallocvt, deflate, df, dirname, dmesg, domainname, du, echo, eject, env, extname, factor, false, fdisk, finger, fingerd, free, fromdos, ftpd, getty, gi, grep, halt, head, hexdump, host, hostname, httpd, id, idea, ifconfig, inflate, init, kill, killall, killall5, ksyms, less, ln, ls, lsmod, lsusb, lzss, md5, md5sum, mesg, m_inetd, mkdir, mkfifo, mkfs.minix, mknod, mkswap, more, mount, mv, nc, netstat, nice, nm, nohup, od, paste, pidof, ping, pop3d, poweroff, proxy, ps, pwd, rc6crypt, readelf, readkey, readlink, reboot, renice, rm, rmdir, rmdsum, rmmod, rot13, route, scan, scons, sh, sha1sum, size, sleep, sln, softdog, strings, swapoff, swapon, sync, sysctl, tail, tar, tee, telnet, telnetd, test, todos, touch, tr, true, truss, tty, umount, uname, update, uptime, users, usleep, uuencode, watch, wc, wget, which, whoami, write, yes
- Attachments
-
- asmutils-0.18-i486.pet
- (2.87 KiB) Downloaded 1098 times
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].
- technosaurus
- Posts: 4853
- Joined: Mon 19 May 2008, 01:24
- Location: Blue Springs, MO
- Contact:
Here the latest bb from tree and a summary of the tools that the others have that busybox does not
Overall I think the biggest one to be ported is ldd from embutils
NEWS! - it seems the busybox git repo is down - I am keeping my source tree that I downloaded yesterday just in case.
---from embutils---
arch, chrootuid, domainname, ldd, sleep2, soscp, sosln, soslns, sosmv, sosrm, truncate, write
---from toybox---
count, netcat, oneit
---from asmutils---
arch, ccd, cda2raw, cpuinfo, cpuspeed, deflate, domainname, extname, factor, finger, fingerd, fromdos, gi, host, idea, inflate, ksyms, lzss, md5, m_inetd, nm, paste, pop3d, proxy, rc6crypt, readelf, readkey, rmdsum, rot13, scan, scons, size, sln, softdog, todos, truss, update, users, write
As you can see asmutils has a lot of extra goodies, too bad its development stopped before the multicall binary was created - I don't know how easy they would be to port into busybox (may be platform specific assembly)
Overall I think the biggest one to be ported is ldd from embutils
NEWS! - it seems the busybox git repo is down - I am keeping my source tree that I downloaded yesterday just in case.
---from embutils---
arch, chrootuid, domainname, ldd, sleep2, soscp, sosln, soslns, sosmv, sosrm, truncate, write
---from toybox---
count, netcat, oneit
---from asmutils---
arch, ccd, cda2raw, cpuinfo, cpuspeed, deflate, domainname, extname, factor, finger, fingerd, fromdos, gi, host, idea, inflate, ksyms, lzss, md5, m_inetd, nm, paste, pop3d, proxy, rc6crypt, readelf, readkey, rmdsum, rot13, scan, scons, size, sln, softdog, todos, truss, update, users, write
As you can see asmutils has a lot of extra goodies, too bad its development stopped before the multicall binary was created - I don't know how easy they would be to port into busybox (may be platform specific assembly)
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].
- Abnormalter
- Posts: 95
- Joined: Sun 31 Jan 2010, 10:56
- Location: Russia
Re: Full Busybox 1.15.X snapshots
Dear technosaurus,
because you can 'compiled the snapshot build of busybox', I glad to get your answer for this situation:
Into oldest busybox the replacement of 'ps' command has feature for displaying Vmem & CPU% columns. But into 1.15 it VERY USUABLE & NEEDABLE feature lost down!
How many hardly to do return it to busybox for Puppy?
Thanks, -- AT
because you can 'compiled the snapshot build of busybox', I glad to get your answer for this situation:
Into oldest busybox the replacement of 'ps' command has feature for displaying Vmem & CPU% columns. But into 1.15 it VERY USUABLE & NEEDABLE feature lost down!
How many hardly to do return it to busybox for Puppy?
Thanks, -- AT
- technosaurus
- Posts: 4853
- Joined: Mon 19 May 2008, 01:24
- Location: Blue Springs, MO
- Contact:
More recent builds are available here:
http://busybox.net/downloads/binaries/
Just save as busybox (without the -architecture)
Here is a one-liner that will make all of the appropriate links in the busbox directory
I put mine in /usr/busybox/ and then:
This way it will not override any full versions but it can be tested easily by renaming or removing symlinks
http://busybox.net/downloads/binaries/
Just save as busybox (without the -architecture)
Here is a one-liner that will make all of the appropriate links in the busbox directory
Code: Select all
for x in `./busybox |sed -n '15,$ s/\t/ / p' |sed 's/,//g'`; do ln -sf ./busybox -s $x; done
Code: Select all
export PATH=$PATH:/usr/busybox
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].
- Abnormalter
- Posts: 95
- Joined: Sun 31 Jan 2010, 10:56
- Location: Russia
Thanks!
Now I use special 'ps' command as replacement such is 'ps' shell script, who I put to /bin directory:
P.S.
1. The busybox-1.8.2 file, who I put to /bin directory, is renamed me old version of busybox by Puppy 4.2x, -- it's busybox who can display 'ps' output fine.
2. The ps-SOURCE is original of ps script by Puppy.
Hmm... For me it's simply way... without any problems... =)
Now I use special 'ps' command as replacement such is 'ps' shell script, who I put to /bin directory:
Code: Select all
#!/bin/sh
# With our scripts, if 'ps' called without commandline params, -- run OLD busybox ps...
[ "`which busybox-1.8.2`" != "" ] && [ ! $1 ] && exec busybox-1.8.2 ps
# This 'ps' way has different output to busybox 'ps' if called it by a params, for compatibility only.
[ "`which ps-SOURCE`" != "" ] && [ ! "$1" = "" ] && exec ps-SOURCE $@
# Or run busybox for 'ps' command like modern Puppy style...
exec busybox ps
1. The busybox-1.8.2 file, who I put to /bin directory, is renamed me old version of busybox by Puppy 4.2x, -- it's busybox who can display 'ps' output fine.
2. The ps-SOURCE is original of ps script by Puppy.
Hmm... For me it's simply way... without any problems... =)
- technosaurus
- Posts: 4853
- Joined: Mon 19 May 2008, 01:24
- Location: Blue Springs, MO
- Contact:
To get a static uclibc-i486 build of the latest stable busybox go here:
http://impactlinux.com/aboriginal/downl ... 86.tar.bz2
(many other platforms are available - from arm to x86_64)
as for the ps command I looked into the code and did a bit of analysis - if all of the top and ps grouped commands were separated out, the code size could be reduced while adding those functions to ps and possibly adding additional commands such as cpu% memusage (duplicate => code size reduction) and many more - this would be a great project for a C coder. I made a hack at a hack by adding some code from top.c into the commented out sections of ps (and uncommented them) ... turned out to be a pretty hacky hack, so I moved on to leave it to someone with a good grasp of C.
http://impactlinux.com/aboriginal/downl ... 86.tar.bz2
(many other platforms are available - from arm to x86_64)
as for the ps command I looked into the code and did a bit of analysis - if all of the top and ps grouped commands were separated out, the code size could be reduced while adding those functions to ps and possibly adding additional commands such as cpu% memusage (duplicate => code size reduction) and many more - this would be a great project for a C coder. I made a hack at a hack by adding some code from top.c into the commented out sections of ps (and uncommented them) ... turned out to be a pretty hacky hack, so I moved on to leave it to someone with a good grasp of C.
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].
- Abnormalter
- Posts: 95
- Joined: Sun 31 Jan 2010, 10:56
- Location: Russia
- technosaurus
- Posts: 4853
- Joined: Mon 19 May 2008, 01:24
- Location: Blue Springs, MO
- Contact:
I thought I would go ahead and throw google's toolbox into the mix for comparison. I haven't gotten a chance to build it, but figured I could at least put a link to the source for later (the source was difficult to find on google -hmm???)
http://android.git.kernel.org/?p=platfo ... git;a=tree
and redhat's nash
git://git.fedoraproject.org/git/hosted/mkinitrd
http://android.git.kernel.org/?p=platfo ... git;a=tree
and redhat's nash
git://git.fedoraproject.org/git/hosted/mkinitrd
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].