tinstall qemu-userstatic on bootstrap if applicable - libdevuansdk - common library for devuan's simple distro kits HTML git clone https://git.parazyd.org/libdevuansdk DIR Log DIR Files DIR Refs DIR Submodules DIR README DIR LICENSE --- DIR commit 5d2b73fe623926ba11a85bf191edabfcc0eb3274 DIR parent 47933abaadf2597b52b2c0778d591749e2803d0c HTML Author: parazyd <parazyd@dyne.org> Date: Wed, 15 Jun 2016 17:57:48 +0200 install qemu-userstatic on bootstrap if applicable Diffstat: M zlibs/bootstrap | 2 +- M zlibs/helpers | 10 ---------- M zlibs/qemu | 21 ++++++++++++++++++++- 3 files changed, 21 insertions(+), 12 deletions(-) --- DIR diff --git a/zlibs/bootstrap b/zlibs/bootstrap t@@ -44,7 +44,7 @@ bootstrap() { # Debootstrap stage 1 sudo debootstrap --foreign --arch ${arch} ${release} ${strapdir} ${mirror} - install-qemu + qemu_install_user # Debootstrap stage 2 sudo chroot ${strapdir} /debootstrap/debootstrap --second-stage DIR diff --git a/zlibs/helpers b/zlibs/helpers t@@ -37,16 +37,6 @@ escalate() { fi } -install-qemu() { - fn install-qemu - - [[ -n $enable_qemu ]] && { - sudo cp $qemu_bin $strapdir/usr/bin/ - act "installed qemu-user-static" - } - return 0 -} - findloopmapp() { fn findloopmapp req=(imgpath imgname workdir) DIR diff --git a/zlibs/qemu b/zlibs/qemu t@@ -21,8 +21,27 @@ # You should have received a copy of the GNU General Public License # along with this source code. If not, see <http://www.gnu.org/licenses/>. +qemu_install_user() { + fn qemu_install_user + local cputype="$1" + + [[ -n $enable_qemu ]] && { + act "installing qemu-arm-static" + sudo cp -vf /usr/bin/qemu-arm-static $strapdir/usr/bin/ + } + + [[ -n $cputype ]] && { + act "compiling qemu wrapper" + cp $R/src/qemu-wrapper.c /tmp/qemu-wrapper.c + sed -i -e 's/cortex-a8/'$cputype'/' /tmp/qemu-wrapper.c + gcc -static /tmp/qemu-wrapper.c -O3 -s /tmp/qemu-wrapper + sudo mv -vf /tmp/qemu-wrapper $strapdir/usr/bin/ + + print ':arm:M::\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x28\x00:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/qemu-wrapper:' | sudo tee /proc/sys/fs/binfmt_misc/register + } +} -qemu_make_img(){ +qemu_make_img() { fn qemu_make_img $@ local imgfile=${1:-"$H/builds/${name_default}_${arch}.img"}