Difference between revisions of "BusyBox"

From ArchWiki
Jump to: navigation, search
m (gnu2busybox-diffutils: use pkg template.)
(update Pkg/AUR templates)
(Tag: wiki-scripts)
 
(29 intermediate revisions by 4 users not shown)
Line 1: Line 1:
 +
[[Category:Init]]
 
[[Category:System administration]]
 
[[Category:System administration]]
 +
[[ja:BusyBox]]
 +
{{Related articles start}}
 +
{{Related|mkinitcpio}}
 +
{{Related|init}}
 +
{{Related articles end}}
 +
{{Warning|Do not expect full drop-in replacement and compatibility. Certain utilities may not exist and for those that do, there may be missing options.}}
  
The [https://wiki.archlinux.org/index.php/DeveloperWiki:Core-Repository base]2[https://www.archlinux.org/packages/community/x86_64/busybox/ busybox] project aims to offer drop-in replacements for various central parts of the Arch linux base system.
+
[[w:BusyBox]]
  
'''IMPORTANT: Do not expect 100% drop-in replacement and compatibility. Certain utilities may not exist and for those that do, there may be missing options. One purpose of this Wiki is to document missing features and the problems they cause (in order to device work-arounds). Make sure that the replacement(s) that you install fill your needs before proceeding.'''
+
== Installation ==
  
Busybox commands are simply symlinks to the busybox binary and are thus extremely light weight. For a low footprint system, this could be quite valuable.
+
[[Install]] the {{Pkg|busybox}} package.
  
 +
Busybox commands are symbolic links to {{ic|/usr/bin/busybox}} and thus take very little space. This is especially interesting for low-footprint systems.
  
----
+
== Usage ==
  
==gnu2busybox-coreutils==
+
=== init ===
  
Package {{AUR|gnu2busybox-coreutils}} offers a nearly pain-free drop-in replacement of the GNU coreutils. Some commands lack options present in the corresponding coreutils binaries.
+
Init scripts can be used together with busybox-init, for example {{AUR|minirc}}{{Broken package link|package not found}}. See [[init]] for details.
  
Gain from replacing coreutils with busybox: GNU {{Pkg|coreutils}}: 13.1 MB installed, symlinks to busybox: approximately 0.
+
=== getty ===
  
'''Missing utilities:'''
+
The gettys are defined in the file {{ic|/etc/inittab}}, By default getty is started on ttys 1 through 4.
  
/bin
+
In order to enable/disable gettys, you just put this line in /etc/inittab.
    dircolors
+
{{bc|
 +
<nowiki>tty2::respawn:/sbin/agetty -8 -s 38400 tty2 linux
 +
</nowiki>}}
 +
Just replace tty2 with the tty, you want getty to start on.
 +
If you want init to ask you before starting the gettty, then replace respawn with askfirst.
  
/usr/bin
+
=== mdev ===
    chcon csplit factor fmt join nl nproc paste pinky pr ptx runcon shuf
 
    stdbuf timeout truncate tsort users
 
  
'''Missing utilities that are mapped to corresponding Busybox functions or ash script files'''
+
See [https://wiki.gentoo.org/wiki/Mdev Gentoo wiki].
  
/bin
+
== See also ==
    dir --> ls
 
    shred --> rm
 
    vdir --> ls
 
  
/usr/bin
+
* [[w:ToyBox]]
    link --> ln
 
    unlink --> rm
 
    sha224sum --> script: perl-digest-sha
 
    sha256sum --> script: perl-digest-sha
 
    sha384sum --> script: perl-digest-sha
 
    sha512sum --> script: perl-digest-sha
 
 
 
'''Missing features that cause problems:'''
 
 
 
      readlink: missing option [-e, -m, -q or -s] causes problems for Yaourt
 
   
 
----
 
 
 
==base2busybox-util-linux==
 
 
 
Package {{AUR|base2busybox-util-linux}} offers an alternative to util-linux.
 
 
 
Gain from replacing util-linux with busybox: {{Pkg|util-linux}}:  7.5 MB installed, symlinks to busybox: approximately 0.
 
 
 
'''Missing utilities:'''
 
 
 
/bin
 
    arch findmnt lsblk
 
 
 
/sbin
 
    agetty blkid cfdisk ctrlaltdel findfs fsck.cramfs fsfreeze fstrim mkfs
 
    mkfs.bfs mkfs.cramfs raw sfdisk swaplabel wipefs
 
 
 
/usr/bin
 
  chkdupexe col colcrt colrm column cytune ddate fallocate i386 ionice ipcmk
 
  isosize line look lscpu mcookie namei pg rename scriptreplay setterm tailf
 
  taskset ul unshare uuidgen whereis write x86_64
 
 
 
/usr/sbin
 
    addpart delpart ldattach partx tunelp uuidd
 
 
 
'''Missing features that cause problems:'''
 
 
 
==gnu2busybox-findutils==
 
 
 
Package {{AUR|gnu2busybox-findutils}} offers functionality corresponding to the binaries found in GNU {{Pkg|findutils}}.
 
 
 
Gain from replacing findutils with busybox: GNU findutils: 1.7 MB installed, symlinks to busybox: approximately 0.
 
 
 
'''Missing utilities:'''
 
 
 
/usr/bin
 
    oldfind
 
 
 
'''Missing features that cause problems:'''
 
 
 
----
 
 
 
==gnu2busybox-diffutils==
 
 
 
Package {{AUR|gnu2busybox-diffutils}} offers functionality corresponding to the binaries found in GNU {{Pkg|diffutils}}.
 
 
 
Gain from replacing diffutils with busybox: GNU diffutils: 1.4 MB installed, symlinks to busybox: approximately 0.
 
 
 
'''Missing utilities:'''
 
 
 
/usr/bin
 
    diff3 sdiff
 
 
 
'''Missing features that cause problems:'''
 
 
 
==FUTURE PLANS==
 
 
 
* Busybox-init: a very simple (only 1 runlevel) init system, ash init scripts
 
* Meta-package and/or group to easily convert an Arch base system to a busybox base system.
 

Latest revision as of 18:55, 29 July 2017

Related articles

Warning: Do not expect full drop-in replacement and compatibility. Certain utilities may not exist and for those that do, there may be missing options.

w:BusyBox

Installation

Install the busybox package.

Busybox commands are symbolic links to /usr/bin/busybox and thus take very little space. This is especially interesting for low-footprint systems.

Usage

init

Init scripts can be used together with busybox-init, for example minircAUR[broken link: package not found]. See init for details.

getty

The gettys are defined in the file /etc/inittab, By default getty is started on ttys 1 through 4.

In order to enable/disable gettys, you just put this line in /etc/inittab.

tty2::respawn:/sbin/agetty -8 -s 38400 tty2 linux

Just replace tty2 with the tty, you want getty to start on. If you want init to ask you before starting the gettty, then replace respawn with askfirst.

mdev

See Gentoo wiki.

See also