Files
bpfire/tools/execute.sh
Michael Tremer 8ea702f3f8 make.sh: Fix build with kernels < 6.0.0
unshare(8) seems to fail with kernels older than 6.0.0 when mounting
the /proc filesystem in the inner namespace. This seems to be an bug
where unshare does not even try to mount the /proc filesystem but tries
to make its mount propagation private.

This is now solved in that way that we will use unshare on newer kernels
but will fall back on manually mounting the /proc filesystem once we have
entered the chroot environment.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-08-19 18:06:23 +00:00

35 lines
1.9 KiB
Bash
Executable File

#!/bin/bash
###############################################################################
# #
# IPFire.org - A linux based firewall #
# Copyright (C) 2024 IPFire Team <info@ipfire.org> #
# #
# This program is free software: you can redistribute it and/or modify #
# it under the terms of the GNU General Public License as published by #
# the Free Software Foundation, either version 3 of the License, or #
# (at your option) any later version. #
# #
# This program is distributed in the hope that it will be useful, #
# but WITHOUT ANY WARRANTY; without even the implied warranty of #
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
# GNU General Public License for more details. #
# #
# You should have received a copy of the GNU General Public License #
# along with this program. If not, see <http://www.gnu.org/licenses/>. #
# #
###############################################################################
#
# This is a helper script that is called after we have created the new
# namespaces to perform further setup. This will be executed on the host.
# Mount /proc if it has not been mounted, yet
if ! mountpoint /proc; then
mount -t procfs none /proc -o nosuid,noexec,nodev
fi
# Bring up the loopback interface
ip link set lo up &>/dev/null
# Execute the given command
exec "$@"