suckless linux base utils
Go to file
sin 33be4f39c2 Fixup error message in switch_root 2014-04-14 11:27:33 +01:00
util Be consistent and use #ifdef instead of #if 2014-03-28 16:00:43 +00:00
LICENSE Implement switch_root 2014-04-14 09:44:38 +01:00
Makefile Implement switch_root 2014-04-14 09:44:38 +01:00
README Add switch_root to README 2014-04-14 09:53:47 +01:00
TODO Remove implemented items from TODO 2014-04-13 17:45:40 +01:00
arg.h Rename __ARG_H__ to ARG_H__ 2013-11-25 21:33:58 +00:00
chvt.1 Capitalize the one-line description in manpages 2014-04-12 14:16:56 +01:00
chvt.c Don't prefix error messages with the program name 2014-04-11 23:47:28 +01:00
clear.1 Capitalize the one-line description in manpages 2014-04-12 14:16:56 +01:00
clear.c clear, watch: use 0x1b instead of non-standard \e 2014-02-14 14:10:53 +00:00
config.def.h Use config.def.h 2014-02-09 12:30:22 +00:00
config.mk Add -Wextra in config.mk 2014-02-24 13:00:54 +00:00
ctrlaltdel.8 Fix manpage style 2014-04-13 16:40:56 +01:00
ctrlaltdel.c Add ctrlaltdel tool 2014-02-07 16:38:53 +00:00
df.1 Fix manpage style 2014-04-13 16:40:56 +01:00
df.c Don't list dummy rootfs by default 2014-03-18 14:20:58 +00:00
dmesg.1 Fix manpage style 2014-04-13 16:40:56 +01:00
dmesg.c Add dmesg manpage and fix dmesg usage 2014-04-12 13:58:39 +01:00
eject.1 Fix manpage style 2014-04-13 16:40:56 +01:00
eject.c exit with EXIT_SUCCESS/EXIT_FAILURE 2013-10-07 19:15:00 +01:00
fallocate.1 Fix typo 2014-04-13 16:50:20 +01:00
fallocate.c exit with EXIT_SUCCESS/EXIT_FAILURE 2013-10-07 19:15:00 +01:00
free.1 Fix manpage style 2014-04-13 16:40:56 +01:00
free.c exit with EXIT_SUCCESS/EXIT_FAILURE 2013-10-07 19:15:00 +01:00
getty.8 Add getty manpage 2014-04-12 14:23:28 +01:00
getty.c Error out if dup2 doesn't return the fd we want 2014-04-10 11:21:44 +01:00
halt.8 Fix manpage style 2014-04-13 16:40:56 +01:00
halt.c exit with EXIT_SUCCESS/EXIT_FAILURE 2013-10-07 19:15:00 +01:00
id.1 Fix manpage style 2014-04-13 16:40:56 +01:00
id.c Import id(1) from sbase 2014-02-27 14:30:30 +00:00
insmod.8 Add insmod manpage and fix insmod usage 2014-04-12 14:31:27 +01:00
insmod.c Add insmod manpage and fix insmod usage 2014-04-12 14:31:27 +01:00
killall5.8 Fix manpage style 2014-04-13 16:40:56 +01:00
killall5.c Implement -o for killall5 2014-03-17 12:29:34 +00:00
lsmod.8 Capitalize the one-line description in manpages 2014-04-12 14:16:56 +01:00
lsmod.c Fix some more instances of enprintf(EXIT_FAILURE, ...); 2014-02-27 15:10:39 +00:00
lsusb.8 Capitalize the one-line description in manpages 2014-04-12 14:16:56 +01:00
lsusb.c lsusb: initialize variables to 0, fix type warning 2014-02-14 14:11:00 +00:00
mknod.1 Fix some more inconsistencies 2014-04-13 17:00:42 +01:00
mknod.c Import mknod(1) from sbase 2014-01-28 16:52:37 +00:00
mkswap.8 Add mkswap manpage 2014-04-12 15:03:31 +01:00
mkswap.c Fix some more instances of enprintf(EXIT_FAILURE, ...); 2014-02-27 15:10:39 +00:00
mount.8 Add mount manpage 2014-04-13 17:45:35 +01:00
mount.c mount: style for loop in catfile() 2014-04-05 18:56:08 +01:00
mountpoint.1 Fix some more inconsistencies 2014-04-13 17:00:42 +01:00
mountpoint.c Convert mountpoint(1) to use mntent 2014-02-15 18:34:59 +00:00
pagesize.1 Add pagesize manpage 2014-04-12 14:57:50 +01:00
pagesize.c Fix some more instances of enprintf(EXIT_FAILURE, ...); 2014-02-27 15:10:39 +00:00
pidof.1 Add pidof manpage 2014-04-13 16:36:34 +01:00
pidof.c Return an error if we can't open the files in /proc 2014-02-13 12:28:46 +00:00
pivot_root.8 add pivot_root.8 2014-04-12 19:36:59 +01:00
pivot_root.c exit with EXIT_SUCCESS/EXIT_FAILURE 2013-10-07 19:15:00 +01:00
proc.h Rename validps() to pidfile() 2013-08-16 16:42:59 +01:00
ps.1 Add ps manpage 2014-04-13 17:30:40 +01:00
ps.c Return an error if we can't open the files in /proc 2014-02-13 12:28:46 +00:00
reboot.h Make ubase compile with musl-gcc 2013-08-19 16:34:18 +01:00
rmmod.8 Add rmmod manpage 2014-04-12 15:21:21 +01:00
rmmod.c rmmod: fix segfault if '.' is not found 2014-04-06 12:51:31 +01:00
stat.1 Fix manpage style 2014-04-13 16:40:56 +01:00
stat.c stat: implement -t (terse mode) 2014-04-04 20:09:17 +01:00
su.1 Add su manpage and fix su usage line 2014-04-13 17:23:26 +01:00
su.c Add su manpage and fix su usage line 2014-04-13 17:23:26 +01:00
swapoff.8 add unshare.1, swapon.8, swapoff.8 and update df.1 2014-04-12 19:37:06 +01:00
swapoff.c Check setmntent() for failures 2014-02-15 18:27:46 +00:00
swapon.8 add unshare.1, swapon.8, swapoff.8 and update df.1 2014-04-12 19:37:06 +01:00
swapon.c Check setmntent() for failures 2014-02-15 18:27:46 +00:00
switch_root.c Fixup error message in switch_root 2014-04-14 11:27:33 +01:00
truncate.1 Fix manpage style 2014-04-13 16:40:56 +01:00
truncate.c truncate: match coreutils truncate behaviour 2014-02-14 14:11:09 +00:00
umount.8 Add a SEE ALSO section for the umount manpage 2014-04-14 09:46:15 +01:00
umount.c Add umount manpage and fix umount usage 2014-04-13 16:28:51 +01:00
unshare.1 Be consistent with the escape sequences in the manpages 2014-04-14 09:28:07 +01:00
unshare.c The flag for unshare(1) is 'U' not 'u' 2014-02-24 13:53:34 +00:00
uptime.1 Fix uptime manpage 2014-04-13 16:28:58 +01:00
uptime.c Use utmpx instead of utmp 2013-10-08 16:49:40 +01:00
util.h Add weprintf() 2014-03-12 14:23:19 +00:00
watch.1 Add watch manpage 2014-04-13 14:53:59 +01:00
watch.c clear, watch: use 0x1b instead of non-standard \e 2014-02-14 14:10:53 +00:00
who.1 update who.1 to list the -l option 2014-04-14 09:28:01 +01:00
who.c Don't prefix error messages with the program name 2014-04-11 23:47:28 +01:00

README

ubase - suckless linux base utils
=================================

ubase is  a collection of  tools similar  in spirit to  util-linux but
much simpler.

The following programs are currently implemented:

    chvt clear ctrlaltdel df dmesg  eject fallocate free getty halt id
    insmod killall5 lsmod lsusb mknod mkswap mount mountpoint pagesize
    pidof pivot_root  ps  rmmod stat  su  swapoff  swapon  switch_root
    truncate umount unshare uptime watch who

The complement  of ubase  is sbase[1] which  mostly follows  POSIX and
provides all the portable tools.  Together they are intended to form a
base system similar to busybox but much smaller and suckless.

Building
--------

To  build ubase,  simply  type  make.  You  may  have  to fiddle  with
config.mk depending on your system.

You  can  also  build  ubase-box,  which  generates  a  single  binary
containing  all  the  required  tools.    You  can  then  symlink  the
individual tools to ubase-box.

Ideally you will  want to statically link ubase.   We highly recommend
using musl-libc[2].

[1] http://git.suckless.org/sbase/
[2] http://www.musl-libc.org/