suckless linux base utils
Go to file
sin 0d09df4645 Add hwclock(8) manpage 2014-06-03 16:25:18 +01:00
util Sweep through code and replace malloc() with emalloc() etc. 2014-04-30 13:12:17 +01:00
LICENSE Implement switch_root 2014-04-14 09:44:38 +01:00
Makefile Add hwclock(8) manpage 2014-06-03 16:25:18 +01:00
README Add hwclock in README 2014-06-03 15:46:12 +01:00
TODO Add hwclock to TODO 2014-06-03 12:49:48 +01:00
arg.h
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
config.def.h /bin is good enough 2014-06-02 17:18:51 +01:00
config.mk Remove -pedantic from default config.mk 2014-06-03 15:37:46 +01:00
ctrlaltdel.8 Fix manpage style 2014-04-13 16:40:56 +01:00
ctrlaltdel.c
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 Sweep through code and replace malloc() with emalloc() etc. 2014-04-30 13:12:17 +01:00
eject.1 Fix manpage style 2014-04-13 16:40:56 +01:00
eject.c
fallocate.1 Fix typo 2014-04-13 16:50:20 +01:00
fallocate.c
free.1 Fix manpage style 2014-04-13 16:40:56 +01:00
free.c
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
hwclock.8 Add hwclock(8) manpage 2014-06-03 16:25:18 +01:00
hwclock.c Allow to specify the rtc devnode for hwclock(8) 2014-06-03 16:09:20 +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 Sweep through code and replace malloc() with emalloc() etc. 2014-04-30 13:12:17 +01:00
killall5.8 Fix manpage style 2014-04-13 16:40:56 +01:00
killall5.c Sweep through code and replace malloc() with emalloc() etc. 2014-04-30 13:12:17 +01:00
login.1 Remove BUGS section from login.1 - we now have shadow support 2014-06-03 11:08:00 +01:00
login.c Use correction function name in error message 2014-06-03 12:34:32 +01: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
mknod.1 Fix some more inconsistencies 2014-04-13 17:00:42 +01:00
mknod.c Fix char **argv to char *argv[] 2014-04-18 11:52:31 +01:00
mkswap.8 Add mkswap manpage 2014-04-12 15:03:31 +01:00
mkswap.c Sweep through code and replace malloc() with emalloc() etc. 2014-04-30 13:12:17 +01: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
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 Sweep through code and replace malloc() with emalloc() etc. 2014-04-30 13:12:17 +01:00
pivot_root.8 add pivot_root.8 2014-04-12 19:36:59 +01:00
pivot_root.c
proc.h
ps.1 Add ps manpage 2014-04-13 17:30:40 +01:00
ps.c keep usage definition above main in ubase 2014-04-22 15:36:53 +01:00
reboot.h
respawn.1 Implement fifo listener mode for respawn 2014-04-22 16:40:11 +01:00
respawn.c Implement fifo listener mode for respawn 2014-04-22 16:40:11 +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
rtc.h Use rtc_time 2014-06-03 15:15:21 +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 Inform the user if exec*() fails 2014-06-03 12:34:39 +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
swapon.8 add unshare.1, swapon.8, swapoff.8 and update df.1 2014-04-12 19:37:06 +01:00
swapon.c
switch_root.8 Add switch_root manpage 2014-04-14 14:36:40 +01:00
switch_root.c Fix char **argv to char *argv[] 2014-04-18 11:52:31 +01:00
sysctl.8 Add initial implementation of sysctl(8) 2014-04-17 15:31:42 +01:00
sysctl.c str* is in the reserved namespace, rename to replacestr() 2014-05-06 13:40:37 +01:00
truncate.1 Fix manpage style 2014-04-13 16:40:56 +01:00
truncate.c Initialize size to 0 to avoid gcc warnings 2014-04-14 14:53:20 +01:00
umount.8 Add a SEE ALSO section for the umount manpage 2014-04-14 09:46:15 +01:00
umount.c Sweep through code and replace malloc() with emalloc() etc. 2014-04-30 13:12:17 +01:00
unshare.1 Be consistent with the escape sequences in the manpages 2014-04-14 09:28:07 +01:00
unshare.c
uptime.1 Fix uptime manpage 2014-04-13 16:28:58 +01:00
uptime.c
util.h Add ealloc.c with wrappers for emalloc() and friends 2014-04-30 13:11:57 +01:00
watch.1 Add watch manpage 2014-04-13 14:53:59 +01:00
watch.c
who.1 update who.1 to list the -l option 2014-04-14 09:28:01 +01:00
who.c Fix char **argv to char *argv[] 2014-04-18 11:52:31 +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
    hwclock id  insmod killall5 login  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/