itcode and info - qemu-wrapper - qemu wrapper used for specifying args to qemu-user in chroots Err parazyd.org 70 hgit clone git://parazyd.org/qemu-wrapper.git URL:git://parazyd.org/qemu-wrapper.git parazyd.org 70 1Log /git/qemu-wrapper/log.gph parazyd.org 70 1Files /git/qemu-wrapper/files.gph parazyd.org 70 1Refs /git/qemu-wrapper/refs.gph parazyd.org 70 1README /git/qemu-wrapper/file/README.md.gph parazyd.org 70 i--- Err parazyd.org 70 1commit 5186626b75daaa8eb62087015b348ff45c457ae1 /git/qemu-wrapper/commit/5186626b75daaa8eb62087015b348ff45c457ae1.gph parazyd.org 70 1parent 07db6d6b70d6a885c7b2722c95f336e08c327c4a /git/qemu-wrapper/commit/07db6d6b70d6a885c7b2722c95f336e08c327c4a.gph parazyd.org 70 hAuthor: parazyd URL:mailto:parazyd@dyne.org parazyd.org 70 iDate: Fri, 8 Apr 2016 04:33:55 +0200 Err parazyd.org 70 i Err parazyd.org 70 icode and info Err parazyd.org 70 i Err parazyd.org 70 iDiffstat: Err parazyd.org 70 i M README.md | 11 ++++++++++- Err parazyd.org 70 i A qemu-wrapper.c | 20 ++++++++++++++++++++ Err parazyd.org 70 i Err parazyd.org 70 i2 files changed, 30 insertions(+), 1 deletion(-) Err parazyd.org 70 i--- Err parazyd.org 70 1diff --git a/README.md b/README.md /git/qemu-wrapper/file/README.md.gph parazyd.org 70 it@@ -1,2 +1,11 @@ Err parazyd.org 70 i # qemu-wrapper Err parazyd.org 70 i-wrapper for executing qemu in build chroots Err parazyd.org 70 i+ Err parazyd.org 70 i+A simple wrapper for executing qemu in chroot builds. Err parazyd.org 70 i+With this, it is possible to pass arguments to qemu on chrooting, for example: Err parazyd.org 70 i+the cpu we wish to emulate. Err parazyd.org 70 i+ Err parazyd.org 70 i+# Usage Err parazyd.org 70 i+Compile qemu wrapper with the below command and place it in `chroot/usr/bin/` Err parazyd.org 70 i+``` Err parazyd.org 70 i+gcc -static qemu-wrapper.c -Os -s -o qemu-wrapper Err parazyd.org 70 i+``` Err parazyd.org 70 1diff --git a/qemu-wrapper.c b/qemu-wrapper.c /git/qemu-wrapper/file/qemu-wrapper.c.gph parazyd.org 70 it@@ -0,0 +1,20 @@ Err parazyd.org 70 i+/* qemu wrapper Err parazyd.org 70 i+ * wrapper for executing qemu in build chroots Err parazyd.org 70 i+ * pass arguments to qemu binary Err parazyd.org 70 i+ * Err parazyd.org 70 i+ * ~ parazyd */ Err parazyd.org 70 i+ Err parazyd.org 70 i+#include Err parazyd.org 70 i+#include Err parazyd.org 70 i+ Err parazyd.org 70 i+int main(int argc, char **argv, char **envp) { Err parazyd.org 70 i+ char *newargv[argc + 3]; Err parazyd.org 70 i+ Err parazyd.org 70 i+ newargv[0] = argv[0]; Err parazyd.org 70 i+ newargv[1] = "-cpu"; Err parazyd.org 70 i+ newargv[2] = "cortex-a8"; /* here you can set the cpu you are building for */ Err parazyd.org 70 i+ Err parazyd.org 70 i+ memcpy(&newargv[3], &argv[1], sizeof(*argv) * (argc -1)); Err parazyd.org 70 i+ newargv[argc + 2] = NULL; Err parazyd.org 70 i+ return execve("/usr/bin/qemu-arm", newargv, envp); Err parazyd.org 70 i+} Err parazyd.org 70 .