Commit 9e214906 by Serge Hallyn

lxc-busybox: if in userns, don't try to mknod

parent c4d10a05
......@@ -20,6 +20,17 @@
# License along with this library; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
am_in_userns() {
[ -e /proc/self/uid_map ] || { echo no; return; }
[ "$(wc -l /proc/self/uid_map | awk '{ print $1 }')" -eq 1 ] || { echo yes; return; }
line=$(awk '{ print $1 " " $2 " " $3 }' /proc/self/uid_map)
[ "$line" = "0 0 4294967295" ] && { echo no; return; }
echo yes
}
in_userns=0
[ $(am_in_userns) = "yes" ] && in_userns=1
install_busybox()
{
rootfs=$1
......@@ -55,19 +66,26 @@ $rootfs/usr/lib64"
pushd $rootfs/dev > /dev/null || return 1
# minimal devices needed for busybox
mknod tty c 5 0 || res=1
mknod console c 5 1 || res=1
chmod 666 tty console || res=1
mknod tty0 c 4 0 || res=1
mknod tty1 c 4 0 || res=1
mknod tty5 c 4 0 || res=1
chmod 666 tty0 || res=1
mknod ram0 b 1 0 || res=1
chmod 600 ram0 || res=1
mknod null c 1 3 || res=1
chmod 666 null || res=1
mknod urandom c 1 9 || res=1
chmod 666 urandom || res=1
if [ $in_userns -eq 1 ]; then
for dev in tty console tty0 tty1 tty5 ram0 null urandom; do
touch $rootfs/dev/$dev
echo "/dev/$dev dev/$dev none bind 0 0" >> $path/fstab
done
else
mknod tty c 5 0 || res=1
mknod console c 5 1 || res=1
chmod 666 tty console || res=1
mknod tty0 c 4 0 || res=1
mknod tty1 c 4 0 || res=1
mknod tty5 c 4 0 || res=1
chmod 666 tty0 || res=1
mknod ram0 b 1 0 || res=1
chmod 600 ram0 || res=1
mknod null c 1 3 || res=1
chmod 666 null || res=1
mknod urandom c 1 9 || res=1
chmod 666 urandom || res=1
fi
popd > /dev/null
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment