1
0

Drop copying qemu binaries and ensure qemu-user is configured on host

Since Mageia 6, it has not been necessary to copy the qemu binaries
and the binfmt files into the chroot to run ARM binaries inside a chroot.
This change finally stops doing that.

In order to make sure this works properly, we ensure that systemd-binfmt
is restarted to apply binfmt changes on the system. This ensures that
the host qemu-user-static is configured to execute binaries, even in
chroots.
This commit is contained in:
Neal Gompa 2020-01-11 13:49:16 -05:00
parent ba52a77532
commit 57d9815a48

View File

@ -111,6 +111,13 @@ function createchroot()
error "line ${LINENO} can't start qemu-user-static : exiting" error "line ${LINENO} can't start qemu-user-static : exiting"
exit ${ERR_1} exit ${ERR_1}
fi fi
else
title "Restarting systemd-binfmt.service"
/bin/systemctl restart systemd-binfmt.service
if [ ${?} -ne 0 ]; then
error "line ${LINENO} can't start qemu-user-static : exiting"
exit ${ERR_1}
fi
fi fi
return 0 return 0
} }
@ -263,20 +270,6 @@ function preparechroot()
{ {
title "Preparing chrooting in ${BUILD_PATH}" title "Preparing chrooting in ${BUILD_PATH}"
#Copying qemu
/bin/cp /bin/qemu-arm-static "${BUILD_PATH}/usr/bin/"
if [ ${?} -ne 0 ]; then
error "line ${LINENO} can't copy /bin/qemu-user-static to ${BUILD_PATH}/usr/bin/ : exiting"
exit ${ERR_1}
fi
/bin/cp /usr/lib/binfmt.d/qemu-arm-static.conf "${BUILD_PATH}/usr/lib/binfmt.d"
if [ ${?} -ne 0 ]; then
error "line ${LINENO} can't copy /usr/lib/binfmt.d/qemu-arm-static.conf to ${BUILD_PATH}/usr/lib/binfmt.d : exiting"
exit ${ERR_1}
fi
info "making /etc/hostname" info "making /etc/hostname"
echo "${HOSTNAME}" > "${BUILD_PATH}/etc/hostname" echo "${HOSTNAME}" > "${BUILD_PATH}/etc/hostname"