Wine Forums

[ 9 posts ]

#### Qemu and Wine on ARM v7 (beaglebone black wireless)

Author Message
 Post subject: Qemu and Wine on ARM v7 (beaglebone black wireless)  Posted: Tue Jul 10, 2018 5:24 am
 Level 1

Joined: Tue Jul 10, 2018 4:54 am
Posts: 7
 Hello everyone, I am trying to install qemu on a beaglebone black wireless, following this answer by bernhardu in a previous topic, which unfortunatelly has been locked.It seems like the procedure described worked for someone on a beaglebone black however I am stuck at compiling the program. When I try to run the make command, I get the following error :Code:In file included from /home/debian/qemu/qemu-git_2013-03-23_v1.4.0+ntpl+static/                                                                                                              qemu/qemu_1.4.0/include/qemu-common.h:15:0,                 from block/qcow2-snapshot.c:25:block/qcow2-snapshot.c: In function ‘qcow2_write_snapshots’:/home/debian/qemu/qemu-git_2013-03-23_v1.4.0+ntpl+static/qemu/qemu_1.4.0/includ                                                                                                              e/qemu/compiler.h:36:23: error: typedef ‘qemu_build_bug_on__250’ locally define                                                                                                              d but not used [-Werror=unused-local-typedefs]     typedef char cat2(qemu_build_bug_on__,__LINE__)[(x)?-1:1];                       ^/home/debian/qemu/qemu-git_2013-03-23_v1.4.0+ntpl+static/qemu/qemu_1.4.0/includ                                                                                                              e/qemu/compiler.h:33:18: note: in definition of macro ‘cat’ #define cat(x,y) x ## y                  ^/home/debian/qemu/qemu-git_2013-03-23_v1.4.0+ntpl+static/qemu/qemu_1.4.0/includ                                                                                                              e/qemu/compiler.h:36:18: note: in expansion of macro ‘cat2’     typedef char cat2(qemu_build_bug_on__,__LINE__)[(x)?-1:1];                  ^~~~block/qcow2-snapshot.c:249:5: note: in expansion of macro ‘QEMU_BUILD_BUG_ON’     QEMU_BUILD_BUG_ON(offsetof(QCowHeader, snapshots_offset) !=     ^~~~~~~~~~~~~~~~~cc1: all warnings being treated as errors/home/debian/qemu/qemu-git_2013-03-23_v1.4.0+ntpl+static/qemu/qemu_1.4.0/rules.                                                                                                              mak:21: recipe for target 'block/qcow2-snapshot.o' failedmake: *** [block/qcow2-snapshot.o] Error 1My knowledge of linux is limited and I have notions of C but not in this context. I was able to do everything up to the "git reset --hard v1.4.0" command, but the patch didn't work properly because there was some difference in the syscall.c file compared to what the patch file contained, so I applied them by manually changing the lines, but I received this error nonetheless.I don't understand why I have something different, which requires me to apply the patch manually while I did exactly like everyone else.Any help would be appreciated.

 Posted: Tue Jul 10, 2018 3:56 pm
 Level 5

Joined: Tue Nov 22, 2016 5:39 pm
Posts: 448
 Did you already try to jsut remove the warning? Either my editing code, or not treating warnings as errors.

 Posted: Tue Jul 10, 2018 5:12 pm
 Level 1

Joined: Tue Jul 10, 2018 4:54 am
Posts: 7
 Thank you for your answer. After posting I did try to add --disable-warning as an argument to ./configure. It seem to have compiled even though I had lots of warnings during the process such as :Code:/home/debian/qemu/qemu-git_2013-03-23_v1.4.0+ntpl+static/qemu/qemu_1.4.0/linux-user/qemu.h:314:13: warning: right-hand operand of comma expression has no effect [-Wu                        nused-value]   ((x) = (typeof(*hptr))(                                               \   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~    __builtin_choose_expr(sizeof(*(hptr)) == 1, ldub_p,                  \    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~    __builtin_choose_expr(sizeof(*(hptr)) == 2, lduw_##e##_p,            \    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~    __builtin_choose_expr(sizeof(*(hptr)) == 4, ldl_##e##_p,             \    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~    __builtin_choose_expr(sizeof(*(hptr)) == 8, ldq_##e##_p, abort))))   \    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~      (hptr)), 0)      ~~~~~~~^~~~/home/debian/qemu/qemu-git_2013-03-23_v1.4.0+ntpl+static/qemu/qemu_1.4.0/linux-user/qemu.h:321:31: note: in expansion of macro ‘__get_user_e’ # define __get_user(x, hptr)  __get_user_e(x, hptr, le)                               ^~~~~~~~~~~~/home/debian/qemu/qemu-git_2013-03-23_v1.4.0+ntpl+static/qemu/qemu_1.4.0/linux-user/signal.c:623:9: note: in expansion of macro ‘__get_user’         __get_user(k->sa_restorer, &act->sa_restorer);         ^~~~~~~~~~But I don't think they matter. I don't know for sure if the compilation went fine (but I have binary files).I continued to the next step which is to create a chroot and I managed to go up to the step "DEBIAN_FRONTEND=noninteractive DEBCONF_NONINTERACTIVE_SEEN=true LC_ALL=C LANGUAGE=C LANG=C chroot chroot-wheezy-i386 /debootstrap/debootstrap --second-stage"which didn't work because of the chroot call. By running chroot on its own it said /bin/bash was not found, and I found this answer which explained that lib and usr was missing, so I copied both folder from the root to the chroot folder, however I am not sure if this can be done in this case since the root is an arm architecture and the chroot an x86 architecture, but I don't know where else to acquire them. After this I am able to run "chroot chroot-wheezy-i386 /debootstrap/debootstrap --second-stage" but it fails with the error : Code:root@beaglebone:/home/debian# chroot chroot-wheezy-i386 /debootstrap/debootstrap --second-stageI: Installing core packages...W: Failure trying to run:  dpkg --force-depends --install /var/cache/apt/archives/base-passwd_3.5.26_i386.debW: See //debootstrap/debootstrap.log for details (possibly the package /var/cache/apt/archives/base-passwd_3.5.26_i386.deb is at fault)and the log seems to be empty.

 Posted: Wed Jul 11, 2018 8:57 am
 Level 1

Joined: Tue Jul 10, 2018 4:54 am
Posts: 7

 Posted: Wed Jul 11, 2018 2:52 pm
 Level 5

Joined: Tue Nov 22, 2016 5:39 pm
Posts: 448
 You could try a different repository for debootstrap, like suggested here

 Posted: Wed Jul 11, 2018 3:08 pm
 Level 12

Joined: Sat Oct 16, 2010 7:40 pm
Posts: 2128
Location: Cambridge
 @Flabou,You're trying to work with a really ancient, 4 year-old guide.Why not take a look at Stefan Dösinger and André Hentschel's work at: Github: AndreRH / hangover.There was a talk about this project at this years Wineconf (and last years)...It is under very active development.Bob

 Posted: Thu Jul 12, 2018 7:59 am
 Level 1

Joined: Tue Jul 10, 2018 4:54 am
Posts: 7
 @DarkShadow44I can't use the raspbian repository as my goal is to emulate an x86 system. Is there a way to understand what causes the segmentation fault issue?@Bob Wya Thank you, I didn't know about this, however it seems like it only works on 64bits arm, and the beaglebone black uses a 32bits processor, and I am not skilled enough to make it work on 32bits.

 Posted: Thu Jul 12, 2018 9:38 am
 Level 12

Joined: Sat Oct 16, 2010 7:40 pm
Posts: 2128
Location: Cambridge
 Quote:Thank you, I didn't know about this, however it seems like it only works on 64bits arm, and the beaglebone black uses a 32bits processor, and I am not skilled enough to make it work on 32bits.Ah yes... Sorry I haven't tried playing around with any Arm boards (so I forget the majority are still 32-bit)...You could always raise an Issue on Andre's Github page about 32-bit Arm support.Andre said he was planning on using Arm's additional registers to improve the performance of Qemu for x86 to Arm translation (which does a lot of load-store calls, hammering the CPU cache).I think the support for Arm64 was purely to reduce the complexity of the project, rather than it being technically any more difficult (but I can't remember this part specically!)Bob

 Posted: Fri Jul 13, 2018 7:00 am
 Level 1

Joined: Tue Jul 10, 2018 4:54 am
Posts: 7
 Apparently an issue like this has already been raised but Stefan Dösinger has said he wasn't actively working on it unfortunatelly. I'm going to try again with the old guide, with an older version of debian as well.

Display posts from previous:  Sort by

[ 9 posts ]

#### Who is online

 Users browsing this forum: No registered users and 26 guests

 You cannot post new topics in this forumYou cannot reply to topics in this forumYou cannot edit your posts in this forumYou cannot delete your posts in this forumYou cannot post attachments in this forum

Search for:
 Jump to:  Select a forum ------------------ WineHQ    Announcements    Wine Help       Linux       macOS       Android    Website Issues