suckless linux base utils
Go to file
sin c3341ac588 First release of ubase! 2014-05-01 12:00:17 +01:00
util Sweep through code and replace malloc() with emalloc() etc. 2014-04-30 13:08:16 +01:00
LICENSE Implement switch_root 2014-04-14 09:44:15 +01:00
Makefile Add ealloc.c with wrappers for emalloc() and friends 2014-04-30 13:02:48 +01:00
README Add initial implementation of sysctl(8) 2014-04-17 15:28:27 +01:00
TODO Add initial implementation of sysctl(8) 2014-04-17 15:28:27 +01:00
arg.h Rename __ARG_H__ to ARG_H__ 2013-11-25 21:33:26 +00:00
chvt.1 Capitalize the one-line description in manpages 2014-04-12 14:16:20 +01:00
chvt.c Don't prefix error messages with the program name 2014-04-11 23:45:49 +01:00
clear.1 Capitalize the one-line description in manpages 2014-04-12 14:16:20 +01:00
clear.c clear, watch: use 0x1b instead of non-standard \e 2014-02-14 14:03:49 +00:00
config.def.h Use config.def.h 2014-02-09 12:28:17 +00:00
config.mk First release of ubase! 2014-05-01 12:00:17 +01:00
ctrlaltdel.8 Fix manpage style 2014-04-13 16:40:40 +01:00
ctrlaltdel.c Add ctrlaltdel tool 2014-02-07 16:35:51 +00:00
df.1 Fix manpage style 2014-04-13 16:40:40 +01:00
df.c Don't list dummy rootfs by default 2014-03-18 16:19:56 +02:00
dmesg.1 Fix manpage style 2014-04-13 16:40:40 +01:00
dmesg.c Sweep through code and replace malloc() with emalloc() etc. 2014-04-30 13:08:16 +01:00
eject.1 Fix manpage style 2014-04-13 16:40:40 +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:08 +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:40 +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:16 +01:00
getty.c Error out if dup2 doesn't return the fd we want 2014-04-10 11:21:12 +01:00
halt.8 Fix manpage style 2014-04-13 16:40:40 +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:40 +01:00
id.c Import id(1) from sbase 2014-02-27 14:27:28 +00:00
insmod.8 Add insmod manpage and fix insmod usage 2014-04-12 14:30:56 +01:00
insmod.c Sweep through code and replace malloc() with emalloc() etc. 2014-04-30 13:08:16 +01:00
killall5.8 Fix manpage style 2014-04-13 16:40:40 +01:00
killall5.c Sweep through code and replace malloc() with emalloc() etc. 2014-04-30 13:08:16 +01:00
lsmod.8 Capitalize the one-line description in manpages 2014-04-12 14:16:20 +01:00
lsmod.c Fix some more instances of enprintf(EXIT_FAILURE, ...); 2014-02-27 15:08:17 +00:00
lsusb.8 Capitalize the one-line description in manpages 2014-04-12 14:16:20 +01:00
lsusb.c lsusb: initialize variables to 0, fix type warning 2014-02-14 14:03:49 +00:00
mknod.1 Fix some more inconsistencies 2014-04-13 17:00:22 +01:00
mknod.c Fix char **argv to char *argv[] 2014-04-18 11:49:10 +01:00
mkswap.8 Add mkswap manpage 2014-04-12 15:03:16 +01:00
mkswap.c Sweep through code and replace malloc() with emalloc() etc. 2014-04-30 13:08:16 +01:00
mount.8 Add mount manpage 2014-04-13 17:44:44 +01:00
mount.c mount: style for loop in catfile() 2014-04-05 11:56:40 +02:00
mountpoint.1 Fix some more inconsistencies 2014-04-13 17:00:22 +01:00
mountpoint.c Convert mountpoint(1) to use mntent 2014-02-15 18:34:06 +00:00
pagesize.1 Add pagesize manpage 2014-04-12 14:57:39 +01:00
pagesize.c Fix some more instances of enprintf(EXIT_FAILURE, ...); 2014-02-27 15:08:17 +00:00
pidof.1 Add pidof manpage 2014-04-13 16:36:23 +01:00
pidof.c Sweep through code and replace malloc() with emalloc() etc. 2014-04-30 13:08:16 +01:00
pivot_root.8 add pivot_root.8 2014-04-12 19:27:40 +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:21 +01:00
ps.c keep usage definition above main in ubase 2014-04-22 15:33:28 +01:00
reboot.h Make ubase compile with musl-gcc 2013-08-19 16:34:18 +01:00
respawn.1 Implement fifo listener mode for respawn 2014-04-22 15:33:28 +01:00
respawn.c Implement fifo listener mode for respawn 2014-04-22 15:33:28 +01:00
rmmod.8 Add rmmod manpage 2014-04-12 15:21:11 +01:00
rmmod.c rmmod: fix segfault if '.' is not found 2014-04-06 13:23:38 +02:00
stat.1 Fix manpage style 2014-04-13 16:40:40 +01:00
stat.c stat: implement -t (terse mode) 2014-04-04 19:48:25 +02:00
su.1 Add su manpage and fix su usage line 2014-04-13 17:23:04 +01:00
su.c su: zero out encrypted passwords 2014-04-30 13:21:56 +01:00
swapoff.8 add unshare.1, swapon.8, swapoff.8 and update df.1 2014-04-12 19:35:41 +01:00
swapoff.c Check setmntent() for failures 2014-02-15 18:26:01 +00:00
swapon.8 add unshare.1, swapon.8, swapoff.8 and update df.1 2014-04-12 19:35:41 +01:00
swapon.c Check setmntent() for failures 2014-02-15 18:26:01 +00:00
switch_root.8 Add switch_root manpage 2014-04-14 14:36:17 +01:00
switch_root.c Fix char **argv to char *argv[] 2014-04-18 11:49:10 +01:00
sysctl.8 Add initial implementation of sysctl(8) 2014-04-17 15:28:27 +01:00
sysctl.c For consistency with other similar constructs in ubase 2014-04-18 09:39:19 +01:00
truncate.1 Fix manpage style 2014-04-13 16:40:40 +01:00
truncate.c Initialize size to 0 to avoid gcc warnings 2014-04-14 14:52:16 +01:00
umount.8 Add a SEE ALSO section for the umount manpage 2014-04-13 16:30:35 +01:00
umount.c Sweep through code and replace malloc() with emalloc() etc. 2014-04-30 13:08:16 +01:00
unshare.1 Be consistent with the escape sequences in the manpages 2014-04-14 09:27:20 +01:00
unshare.c The flag for unshare(1) is 'U' not 'u' 2014-02-24 13:51:03 +00:00
uptime.1 Fix uptime manpage 2014-04-13 16:28:21 +01:00
uptime.c Use utmpx instead of utmp 2013-10-08 16:49:40 +01:00
util.h Add ealloc.c with wrappers for emalloc() and friends 2014-04-30 13:02:48 +01:00
watch.1 Add watch manpage 2014-04-13 14:53:17 +01:00
watch.c clear, watch: use 0x1b instead of non-standard \e 2014-02-14 14:03:49 +00:00
who.1 update who.1 to list the -l option 2014-04-14 09:25:34 +01:00
who.c Fix char **argv to char *argv[] 2014-04-18 11:49:10 +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  respawn  rmmod  stat   su  swapoff  swapon
    switch_root sysctl 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].

ubase is known to compile with gcc and tcc.

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