[Bug 9786] [RFC] patch, ash: look for internal applets as last resource to find and execute a command

bugzilla at busybox.net bugzilla at busybox.net
Thu Mar 30 14:16:20 UTC 2017


--- Comment #2 from Jordi Pujol <jordipujolp at gmail.com> ---
I include a new version of this modification, Now the ash shell works properly
as desired,

I have tested several commands: from the most common to complex ones like find,
which, xargs.

~ $ PATH=/usr/local/bin:/usr/bin:/bin
~ $ # executing which command from filesystem
~ $ which -a uuencode df sleep
~ $ PATH=%applet:/usr/local/bin:/usr/bin:/bin
~ $ which -a uuencode df sleep

It also boots the system correctly using Debian initramfs, only two links to
/bin/busybox are needed to mount /proc, they are mkdir and mount. For this I
have modified /usr/share/initramfs-tools/hooks/zz-busybox script, included in
this message.

Another interesting script, also included. At the beginning of the process, it
sets PATH=%applet:$PATH so that busybox prefers the applets, uses only Busybox
commands and runs on a system that is in shutdown process, unmounting the
disks. Synchronizes data in memory with the disk and mounts the data partitions
in read-only mode.

In short, a single modified Busybox program satisfies two different needs,
first need is create and execute a simpler initramfs and second to execute a
script that prefers the applets before than other commands in the PATH.

Is it worth improving the development of this alternative?

Comments are welcome.

Debian repository. Have stored the corresponding packages in:

deb [arch=amd64,i386] http://livenet.ddns.net/ftp/debian/ sid main
deb-src http://livenet.ddns.net/ftp/debian/ sid main

You are receiving this mail because:
You are on the CC list for the bug.

More information about the busybox-cvs mailing list