Bug#827733: BusyBox Init + OpenRC

2016-07-05 Thread Jon Boden

I forgot to add a rule for shutdown -> openrc off. Here's a new patch!

-- 
Jon Boden

ubuntuBSD -- The power of FreeBSD kernel with familiarity of Ubuntu OS!

http://www.ubuntubsd.org/ -- https://twitter.com/ubuntuBSD
diff -Nur -x '*~' -x changelog ../debian/control debian/control
--- ../debian/control	2016-06-23 05:25:51.0 +0200
+++ debian/control	2016-07-05 20:50:45.0 +0200
@@ -16,7 +16,7 @@
 Conflicts: file-rc, sysv-rc
 Replaces: sysv-rc
 Provides: sysv-rc
-Depends: insserv, ${misc:Depends}, ${shlibs:Depends}
+Depends: insserv, ${misc:Depends}, ${shlibs:Depends}, sysvinit-core | openrc-busybox
 Recommends: init-system-helpers (>=1.29)
 Suggests: policycoreutils [linux-any] 
 Description: dependency based init system (runlevel change mechanism)
@@ -32,6 +32,24 @@
  .
  This package provides the runlevel change mechanism.
 
+Package: openrc-busybox
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}, busybox, openrc
+Conflicts: sysvinit (<< 2.88dsf-44), sysvinit-core, upstart [linux-any], systemd-sysv [linux-any]
+Description: dependency based init system (runlevel change mechanism)
+ OpenRC is a dependency based init system. It provides support for System V
+ init, for booting, changing runlevels, starting and stopping services, and
+ shutting down.
+ .
+ Originally written as a Gentoo project, OpenRC aims at being
+ platform-agnostic.  It works equally well on Linux, BSD and Hurd.
+ It supports the traditional init system in Debian in addition to many
+ alternatives.  OpenRC is implemented in C in a small, simple and
+ efficient way, making it easy to understand, extend and reuse.
+ .
+ This package sets up the BusyBox implementation of /sbin/init for use with
+ OpenRC.
+
 Package: librc1
 Architecture: any
 Depends: ${misc:Depends}, ${shlibs:Depends}
diff -Nur -x '*~' -x changelog ../debian/init/hurd/inittab debian/init/hurd/inittab
--- ../debian/init/hurd/inittab	1970-01-01 01:00:00.0 +0100
+++ debian/init/hurd/inittab	2016-07-05 20:51:16.0 +0200
@@ -0,0 +1,29 @@
+# /etc/inittab: init(8) configuration.
+
+# Launch OpenRC for system initialization
+::sysinit:/sbin/openrc sysinit
+::wait:/sbin/openrc boot
+::wait:/sbin/openrc default
+::shutdown:/sbin/openrc off
+
+# What to do when CTRL-ALT-DEL is pressed.
+::ctrlaltdel:/sbin/reboot
+
+# /sbin/getty invocations for the runlevels.
+#
+::respawn:/sbin/getty 38400 tty1
+::respawn:/sbin/getty 38400 tty2
+::respawn:/sbin/getty 38400 tty3
+::respawn:/sbin/getty 38400 tty4
+::respawn:/sbin/getty 38400 tty5
+::respawn:/sbin/getty 38400 tty6
+::respawn:/sbin/getty 38400 console
+
+# Example how to put a getty on a serial line (for a terminal)
+#
+#::respawn:/sbin/getty -L ttyS0 9600 vt100
+#::respawn:/sbin/getty -L ttyS1 9600 vt100
+
+# Example how to put a getty on a modem line.
+#
+#::respawn:/sbin/mgetty -x0 -s 57600 ttyS3
diff -Nur -x '*~' -x changelog ../debian/init/kfreebsd/inittab debian/init/kfreebsd/inittab
--- ../debian/init/kfreebsd/inittab	1970-01-01 01:00:00.0 +0100
+++ debian/init/kfreebsd/inittab	2016-07-05 20:51:01.0 +0200
@@ -0,0 +1,28 @@
+# /etc/inittab: init(8) configuration.
+
+# Launch OpenRC for system initialization
+::sysinit:/sbin/openrc sysinit
+::wait:/sbin/openrc boot
+::wait:/sbin/openrc default
+::shutdown:/sbin/openrc off
+
+# What to do when CTRL-ALT-DEL is pressed.
+::ctrlaltdel:/sbin/reboot
+
+# /sbin/getty invocations for the runlevels.
+#
+::respawn:/sbin/getty 38400 ttyv0 xterm
+::respawn:/sbin/getty 38400 ttyv1 xterm
+::respawn:/sbin/getty 38400 ttyv2 xterm
+::respawn:/sbin/getty 38400 ttyv3 xterm
+::respawn:/sbin/getty 38400 ttyv4 xterm
+::respawn:/sbin/getty 38400 ttyv5 xterm
+
+# Example how to put a getty on a serial line (for a terminal)
+#
+#::respawn:/sbin/getty -L cuau0 9600 vt100
+#::respawn:/sbin/getty -L cuau1 9600 vt100
+
+# Example how to put a getty on a modem line.
+#
+#::respawn:/sbin/mgetty -x0 -s 57600 ttyd3
diff -Nur -x '*~' -x changelog ../debian/init/linux/inittab debian/init/linux/inittab
--- ../debian/init/linux/inittab	1970-01-01 01:00:00.0 +0100
+++ debian/init/linux/inittab	2016-07-05 20:51:09.0 +0200
@@ -0,0 +1,28 @@
+# /etc/inittab: init(8) configuration.
+
+# Launch OpenRC for system initialization
+::sysinit:/sbin/openrc sysinit
+::wait:/sbin/openrc boot
+::wait:/sbin/openrc default
+::shutdown:/sbin/openrc off
+
+# What to do when CTRL-ALT-DEL is pressed.
+::ctrlaltdel:/sbin/reboot
+
+# /sbin/getty invocations for the runlevels.
+#
+::respawn:/sbin/getty 38400 tty1
+::respawn:/sbin/getty 38400 tty2
+::respawn:/sbin/getty 38400 tty3
+::respawn:/sbin/getty 38400 tty4
+::respawn:/sbin/getty 38400 tty5
+::respawn:/sbin/getty 38400 tty6
+
+# Example how to put a getty on a serial line (for a terminal)
+#
+#::respawn:/sbin/getty -L ttyS0 9600 vt100
+#::respawn:/sbin/getty -L ttyS1 9600 vt100
+
+# Example how to put a getty on a modem line.
+#
+#::respawn:/sbin/mgetty -x0 -s 57600 ttyS3
diff -Nur -x '*~' -x changelog 

Bug#827733: BusyBox Init + OpenRC

2016-06-24 Thread Jon Boden

Hi

I think it's better if this is provided by openrc package. Then openrc will 
immediately become usable on Ubuntu where sysvinit-core is not available, and 
it could be included again in universe.

Here's a new patch, this time for openrc package.

-- 
Jon Boden

ubuntuBSD -- The power of FreeBSD kernel with familiarity of Ubuntu OS!

http://www.ubuntubsd.org/ -- https://twitter.com/ubuntuBSD
diff -Nur -x '*~' -x changelog ../debian/control debian/control
--- ../debian/control	2016-06-23 05:25:51.0 +0200
+++ debian/control	2016-06-25 00:12:06.0 +0200
@@ -16,7 +16,7 @@
 Conflicts: file-rc, sysv-rc
 Replaces: sysv-rc
 Provides: sysv-rc
-Depends: insserv, ${misc:Depends}, ${shlibs:Depends}
+Depends: insserv, ${misc:Depends}, ${shlibs:Depends}, sysvinit-core | openrc-busybox
 Recommends: init-system-helpers (>=1.29)
 Suggests: policycoreutils [linux-any] 
 Description: dependency based init system (runlevel change mechanism)
@@ -32,6 +32,24 @@
  .
  This package provides the runlevel change mechanism.
 
+Package: openrc-busybox
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}, busybox, openrc
+Conflicts: sysvinit (<< 2.88dsf-44), sysvinit-core, upstart [linux-any], systemd-sysv [linux-any]
+Description: dependency based init system (runlevel change mechanism)
+ OpenRC is a dependency based init system. It provides support for System V
+ init, for booting, changing runlevels, starting and stopping services, and
+ shutting down.
+ .
+ Originally written as a Gentoo project, OpenRC aims at being
+ platform-agnostic.  It works equally well on Linux, BSD and Hurd.
+ It supports the traditional init system in Debian in addition to many
+ alternatives.  OpenRC is implemented in C in a small, simple and
+ efficient way, making it easy to understand, extend and reuse.
+ .
+ This package sets up the BusyBox implementation of /sbin/init for use with
+ OpenRC.
+
 Package: librc1
 Architecture: any
 Depends: ${misc:Depends}, ${shlibs:Depends}
diff -Nur -x '*~' -x changelog ../debian/init/hurd/inittab debian/init/hurd/inittab
--- ../debian/init/hurd/inittab	1970-01-01 01:00:00.0 +0100
+++ debian/init/hurd/inittab	2016-06-25 00:08:31.0 +0200
@@ -0,0 +1,28 @@
+# /etc/inittab: init(8) configuration.
+
+# Launch OpenRC for system initialization
+::sysinit:/sbin/openrc sysinit
+::wait:/sbin/openrc boot
+::wait:/sbin/openrc default
+
+# What to do when CTRL-ALT-DEL is pressed.
+::ctrlaltdel:/sbin/reboot
+
+# /sbin/getty invocations for the runlevels.
+#
+::respawn:/sbin/getty 38400 tty1
+::respawn:/sbin/getty 38400 tty2
+::respawn:/sbin/getty 38400 tty3
+::respawn:/sbin/getty 38400 tty4
+::respawn:/sbin/getty 38400 tty5
+::respawn:/sbin/getty 38400 tty6
+::respawn:/sbin/getty 38400 console
+
+# Example how to put a getty on a serial line (for a terminal)
+#
+#::respawn:/sbin/getty -L ttyS0 9600 vt100
+#::respawn:/sbin/getty -L ttyS1 9600 vt100
+
+# Example how to put a getty on a modem line.
+#
+#::respawn:/sbin/mgetty -x0 -s 57600 ttyS3
diff -Nur -x '*~' -x changelog ../debian/init/kfreebsd/inittab debian/init/kfreebsd/inittab
--- ../debian/init/kfreebsd/inittab	1970-01-01 01:00:00.0 +0100
+++ debian/init/kfreebsd/inittab	2016-06-25 00:08:31.0 +0200
@@ -0,0 +1,27 @@
+# /etc/inittab: init(8) configuration.
+
+# Launch OpenRC for system initialization
+::sysinit:/sbin/openrc sysinit
+::wait:/sbin/openrc boot
+::wait:/sbin/openrc default
+
+# What to do when CTRL-ALT-DEL is pressed.
+::ctrlaltdel:/sbin/reboot
+
+# /sbin/getty invocations for the runlevels.
+#
+::respawn:/sbin/getty 38400 ttyv0 xterm
+::respawn:/sbin/getty 38400 ttyv1 xterm
+::respawn:/sbin/getty 38400 ttyv2 xterm
+::respawn:/sbin/getty 38400 ttyv3 xterm
+::respawn:/sbin/getty 38400 ttyv4 xterm
+::respawn:/sbin/getty 38400 ttyv5 xterm
+
+# Example how to put a getty on a serial line (for a terminal)
+#
+#::respawn:/sbin/getty -L cuau0 9600 vt100
+#::respawn:/sbin/getty -L cuau1 9600 vt100
+
+# Example how to put a getty on a modem line.
+#
+#::respawn:/sbin/mgetty -x0 -s 57600 ttyd3
diff -Nur -x '*~' -x changelog ../debian/init/linux/inittab debian/init/linux/inittab
--- ../debian/init/linux/inittab	1970-01-01 01:00:00.0 +0100
+++ debian/init/linux/inittab	2016-06-25 00:08:31.0 +0200
@@ -0,0 +1,27 @@
+# /etc/inittab: init(8) configuration.
+
+# Launch OpenRC for system initialization
+::sysinit:/sbin/openrc sysinit
+::wait:/sbin/openrc boot
+::wait:/sbin/openrc default
+
+# What to do when CTRL-ALT-DEL is pressed.
+::ctrlaltdel:/sbin/reboot
+
+# /sbin/getty invocations for the runlevels.
+#
+::respawn:/sbin/getty 38400 tty1
+::respawn:/sbin/getty 38400 tty2
+::respawn:/sbin/getty 38400 tty3
+::respawn:/sbin/getty 38400 tty4
+::respawn:/sbin/getty 38400 tty5
+::respawn:/sbin/getty 38400 tty6
+
+# Example how to put a getty on a serial line (for a terminal)
+#
+#::respawn:/sbin/getty -L ttyS0 9600 vt100
+#::respawn:/sbin/getty -L ttyS1 9600 vt100
+
+# Example how to put a getty on a 

Bug#827733: BusyBox Init + OpenRC

2016-06-20 Thread Jon Boden
Package: busybox
Version: 1.22.0-19
Tags: patch

Hi

With the package added by this patch (busybox-openrc), BusyBox Init can be used 
as PID 1 as a launcher for OpenRC (instead of SysV /sbin/init). This has the 
potential for faster boot times (but I haven't measured it, see 
https://blog.flameeyes.eu/2012/03/using-busybox-with-openrc).

I've only tested it on ubuntuBSD, but I think it should work fine on Debian 
too. I've also added Linux and Hurd versions of inittab.

-- 
Jon Boden

ubuntuBSD -- The power of FreeBSD kernel with familiarity of Ubuntu OS!

http://www.ubuntubsd.org/ -- https://twitter.com/ubuntuBSD
diff -Nur -x changelog ../debian/busybox-openrc.links debian/busybox-openrc.links
--- ../debian/busybox-openrc.links	1970-01-01 01:00:00.0 +0100
+++ debian/busybox-openrc.links	2016-06-20 13:47:35.911041000 +0200
@@ -0,0 +1,4 @@
+bin/busybox sbin/init
+bin/busybox sbin/halt
+bin/busybox sbin/reboot
+bin/busybox sbin/poweroff
diff -Nur -x changelog ../debian/control debian/control
--- ../debian/control	2015-08-07 23:39:01.0 +0200
+++ debian/control	2016-06-20 14:08:19.252858000 +0200
@@ -76,6 +76,23 @@
  busybox-initramfs provides a simple stand alone shell that provides
  only the basic utilities needed for the initramfs.
 
+Package: busybox-openrc
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}, busybox, openrc
+Conflicts: sysvinit (<< 2.88dsf-44), sysvinit-core, upstart [linux-any], systemd-sysv [linux-any]
+Section: admin
+Description: BusyBox init for OpenRC
+ BusyBox combines tiny versions of many common UNIX utilities into a single
+ small executable. It provides minimalist replacements for the most common
+ utilities you would usually find on your desktop system (i.e., ls, cp, mv,
+ mount, tar, etc.). The utilities in BusyBox generally have fewer options than
+ their full-featured GNU cousins; however, the options that are included
+ provide the expected functionality and behave very much like their GNU
+ counterparts.
+ .
+ busybox-openrc provides a minimalist implementation of /sbin/init, configured
+ for use with OpenRC.
+
 Package: busybox-udeb
 Package-Type: udeb
 Architecture: any
diff -Nur -x changelog ../debian/inittab.hurd debian/inittab.hurd
--- ../debian/inittab.hurd	1970-01-01 01:00:00.0 +0100
+++ debian/inittab.hurd	2016-06-20 14:12:59.364964000 +0200
@@ -0,0 +1,28 @@
+# /etc/inittab: init(8) configuration.
+
+# Launch OpenRC for system initialization
+::sysinit:/sbin/openrc sysinit
+::wait:/sbin/openrc boot
+::wait:/sbin/openrc default
+
+# What to do when CTRL-ALT-DEL is pressed.
+::ctrlaltdel:/sbin/reboot
+
+# /sbin/getty invocations for the runlevels.
+#
+::respawn:/sbin/getty 38400 tty1
+::respawn:/sbin/getty 38400 tty2
+::respawn:/sbin/getty 38400 tty3
+::respawn:/sbin/getty 38400 tty4
+::respawn:/sbin/getty 38400 tty5
+::respawn:/sbin/getty 38400 tty6
+::respawn:/sbin/getty 38400 console
+
+# Example how to put a getty on a serial line (for a terminal)
+#
+#::respawn:/sbin/getty -L ttyS0 9600 vt100
+#::respawn:/sbin/getty -L ttyS1 9600 vt100
+
+# Example how to put a getty on a modem line.
+#
+#::respawn:/sbin/mgetty -x0 -s 57600 ttyS3
diff -Nur -x changelog ../debian/inittab.kfreebsd debian/inittab.kfreebsd
--- ../debian/inittab.kfreebsd	1970-01-01 01:00:00.0 +0100
+++ debian/inittab.kfreebsd	2016-06-20 14:13:02.382742000 +0200
@@ -0,0 +1,27 @@
+# /etc/inittab: init(8) configuration.
+
+# Launch OpenRC for system initialization
+::sysinit:/sbin/openrc sysinit
+::wait:/sbin/openrc boot
+::wait:/sbin/openrc default
+
+# What to do when CTRL-ALT-DEL is pressed.
+::ctrlaltdel:/sbin/reboot
+
+# /sbin/getty invocations for the runlevels.
+#
+::respawn:/sbin/getty 38400 ttyv0 xterm
+::respawn:/sbin/getty 38400 ttyv1 xterm
+::respawn:/sbin/getty 38400 ttyv2 xterm
+::respawn:/sbin/getty 38400 ttyv3 xterm
+::respawn:/sbin/getty 38400 ttyv4 xterm
+::respawn:/sbin/getty 38400 ttyv5 xterm
+
+# Example how to put a getty on a serial line (for a terminal)
+#
+#::respawn:/sbin/getty -L cuau0 9600 vt100
+#::respawn:/sbin/getty -L cuau1 9600 vt100
+
+# Example how to put a getty on a modem line.
+#
+#::respawn:/sbin/mgetty -x0 -s 57600 ttyd3
diff -Nur -x changelog ../debian/inittab.linux debian/inittab.linux
--- ../debian/inittab.linux	1970-01-01 01:00:00.0 +0100
+++ debian/inittab.linux	2016-06-20 14:13:05.623434000 +0200
@@ -0,0 +1,27 @@
+# /etc/inittab: init(8) configuration.
+
+# Launch OpenRC for system initialization
+::sysinit:/sbin/openrc sysinit
+::wait:/sbin/openrc boot
+::wait:/sbin/openrc default
+
+# What to do when CTRL-ALT-DEL is pressed.
+::ctrlaltdel:/sbin/reboot
+
+# /sbin/getty invocations for the runlevels.
+#
+::respawn:/sbin/getty 38400 tty1
+::respawn:/sbin/getty 38400 tty2
+::respawn:/sbin/getty 38400 tty3
+::respawn:/sbin/getty 38400 tty4
+::respawn:/sbin/getty 38400 tty5
+::respawn:/sbin/getty 38400 tty6
+
+# Example how to put a getty on a serial line (for a terminal)
+#
+#::respawn:/sbin/getty -L ttyS0