diff --git a/core/openrc/openrc-0.4.3-mkmntdirs.patch b/core/openrc/openrc-0.4.3-mkmntdirs.patch
new file mode 100644
index 0000000000000000000000000000000000000000..01512ad7c00cb6ca59dfbf17da6ef7c4e3d4471b
--- /dev/null
+++ b/core/openrc/openrc-0.4.3-mkmntdirs.patch
@@ -0,0 +1,11 @@
+diff -ru openrc-0.4.3.orig/init.d/localmount.in openrc-0.4.3/init.d/localmount.in
+--- openrc-0.4.3.orig/init.d/localmount.in	2009-04-19 14:24:11.000000000 +0000
++++ openrc-0.4.3/init.d/localmount.in	2009-04-19 14:25:06.000000000 +0000
+@@ -13,6 +13,7 @@
+ 
+ start()
+ {
++	[ -x /sbin/mkmntdirs ] && mkmntdirs
+ 	# Mount local filesystems in /etc/fstab.
+ 	local types="noproc" x=
+ 	for x in ${net_fs_list}; do
diff --git a/core/openrc/openrc-gendepends-speedup.patch b/core/openrc/openrc-gendepends-speedup.patch
new file mode 100644
index 0000000000000000000000000000000000000000..528b5716954b3db89665b647a82c13e841e833f1
--- /dev/null
+++ b/core/openrc/openrc-gendepends-speedup.patch
@@ -0,0 +1,24 @@
+Index: sh/gendepends.sh.in
+===================================================================
+--- a/sh/gendepends.sh.in	(revision 1511)
++++ b/sh/gendepends.sh.in	(working copy)
+@@ -81,6 +81,7 @@
+ 		[ -e @SYSCONFDIR@/rc.conf ] && . @SYSCONFDIR@/rc.conf
+ 
+ 		if . "${_dir}/${RC_SVCNAME}"; then
++			_shell_var_RC_SVCNAME=$(shell_var "${RC_SVCNAME}")
+ 			echo "${RC_SVCNAME}" >&3
+ 			depend
+ 
+@@ -91,9 +92,9 @@
+ 				IFS=:
+ 				set -- ${_deptype}
+ 				unset IFS
+-				eval _depends=\$rc_$(shell_var "${RC_SVCNAME}")_$1
++				eval _depends=\$rc_${_shell_var_RC_SVCNAME}_$1
+ 				[ -z "${_depends}" ] && eval _depends=\$rc_$1
+-				[ -z "${_depends}" ] && eval _depends=\$RC_$(shell_var "${RC_SVCNAME}")_$2
++				[ -z "${_depends}" ] && eval _depends=\$RC_${_shell_var_RC_SVCNAME}_$2
+ 				[ -z "${_depends}" ] && eval _depends=\$RC_$2
+ 
+ 				$1 ${_depends}