[prev in list] [next in list] [prev in thread] [next in thread] 

List:       busybox
Subject:    busybox-armv8l doesn't work on Apple M1
From:       Meng-Yuan Huang <myh () live ! com>
Date:       2022-02-15 5:05:02
Message-ID: DM6PR20MB2651CF26D8AA1F906204B4B0DF349 () DM6PR20MB2651 ! namprd20 ! prod ! outlook ! com
[Download RAW message or body]

Hello.

Some people said Apple M1 doesn't support arm32:
https://news.ycombinator.com/item?id=27277351
In contrast, Raspberry Pi 4 SoC supports both arm32 and arm64.

This difference results in Apple M1 can't run this busybox armv8l binary
https://busybox.net/downloads/binaries/1.31.0-defconfig-multiarch-musl/busybox-armv8l
but Raspberry Pi 4 can.

This is the error log of executing \
busybox-armv8l<https://busybox.net/downloads/binaries/1.31.0-defconfig-multiarch-musl/busybox-armv8l> \
on Ubuntu 21 arm64 on Apple M1. "
myh@ubuntu:~$ wget https://busybox.net/downloads/binaries/1.31.0-defconfig-multiarch-musl/busybox-armv8l \
                && chmod 755 busybox-armv8l && ./busybox-armv8l
--2022-02-15 12:46:15--  \
https://busybox.net/downloads/binaries/1.31.0-defconfig-multiarch-musl/busybox-armv8l \
Resolving busybox.net (busybox.net)... 140.211.167.122 Connecting to busybox.net \
(busybox.net)|140.211.167.122|:443... connected. HTTP request sent, awaiting \
                response... 200 OK
Length: 1148524 (1.1M)
Saving to: ‘busybox-armv8l’

busybox-armv8l                      \
100%[==================================================================>]   1.09M  \
1.05MB/s    in 1.0s

2022-02-15 12:46:17 (1.05 MB/s) - ‘busybox-armv8l’ saved [1148524/1148524]

bash: ./busybox-armv8l: cannot execute binary file: Exec format error
myh@ubuntu:~$ file busybox-armv8l
busybox-armv8l: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), statically \
linked, stripped "

Unfortunately, some downstream apps use the \
busybox-armv8l<https://busybox.net/downloads/binaries/1.31.0-defconfig-multiarch-musl/busybox-armv8l> \
in their arm64 apps. For example, distroless container image: \
https://github.com/GoogleContainerTools/distroless/blob/6028308845393e394c650ce5c1332f8182451f17/busybox_archives.bzl#L19-L24
 Thus, their apps work only on CPUs supporting both arm32 and arm64, not arm64 only \
CPUs as Apple M1.

Could provide an arm64 busybox binary on busybox.net to help fixing this problem?

Regards,
Meng-Yuan Huang


[Attachment #3 (text/html)]

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1252">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} \
</style> </head>
<body dir="ltr">
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: \
rgb(0, 0, 0);"> Hello.</div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: \
rgb(0, 0, 0);"> <br>
</div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: \
rgb(0, 0, 0);"> Some people said Apple M1 doesn't support arm32:
<div><a href="https://news.ycombinator.com/item?id=27277351" \
id="LPNoLPOWALinkPreview">https://news.ycombinator.com/item?id=27277351</a></div> \
<span style="color: rgb(0, 0, 0); font-family: Calibri, Helvetica, sans-serif; \
font-size: 12pt;">In contrast, Raspberry Pi 4 SoC supports both arm32 and \
arm64.</span> <div><span style="color: rgb(0, 0, 0); font-family: Calibri, Helvetica, \
sans-serif; font-size: 12pt;"><br> </span></div>
<div><span style="color: rgb(0, 0, 0); font-family: Calibri, Helvetica, sans-serif; \
font-size: 12pt;">This difference results in Apple M1 can't run this busybox <span \
style="background-color:rgb(255, 255, 255);display:inline \
!important">armv8l&nbsp;</span>binary</span></div> <div><a \
href="https://busybox.net/downloads/binaries/1.31.0-defconfig-multiarch-musl/busybox-armv8l" \
id="LPlnk441640" style="font-family: Calibri, Helvetica, sans-serif; font-size: \
12pt;">https://busybox.net/downloads/binaries/1.31.0-defconfig-multiarch-musl/busybox-armv8l</a><br>
 </div>
<div>but Raspberry Pi 4 can.</div>
<div><br>
</div>
<div>This is the error log of executing&nbsp;<a \
href="https://busybox.net/downloads/binaries/1.31.0-defconfig-multiarch-musl/busybox-armv8l" \
style="margin:0px;font-size:12pt;background-color:rgb(255, 255, \
255)">busybox-armv8l</a>&nbsp;on Ubuntu 21 arm64 on Apple M1.</div> <div>&quot;</div>
<div>myh@ubuntu:~$ wget \
https://busybox.net/downloads/binaries/1.31.0-defconfig-multiarch-musl/busybox-armv8l \
&amp;&amp; chmod 755 busybox-armv8l &amp;&amp; ./busybox-armv8l <div>--2022-02-15 \
12:46:15-- &nbsp;https://busybox.net/downloads/binaries/1.31.0-defconfig-multiarch-musl/busybox-armv8l</div>
 <div>Resolving busybox.net (busybox.net)... 140.211.167.122</div>
<div>Connecting to busybox.net (busybox.net)|140.211.167.122|:443... connected.</div>
<div>HTTP request sent, awaiting response... 200 OK</div>
<div>Length: 1148524 (1.1M)</div>
<div>Saving to: ‘busybox-armv8l’</div>
<div><br>
</div>
<div>busybox-armv8l &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; \
&nbsp; &nbsp;100%[==================================================================&gt;] \
&nbsp; 1.09M &nbsp;1.05MB/s &nbsp; &nbsp;in 1.0s &nbsp; &nbsp;</div> <div><br>
</div>
<div>2022-02-15 12:46:17 (1.05 MB/s) - ‘busybox-armv8l’ saved [1148524/1148524]</div>
<div><br>
</div>
<div>bash: ./busybox-armv8l: cannot execute binary file: Exec format error</div>
<div>myh@ubuntu:~$ file busybox-armv8l </div>
<span>busybox-armv8l: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), \
statically linked, stripped</span><br> </div>
<div><span>&quot;</span></div>
<div><br>
</div>
<div>Unfortunately, some downstream apps use the&nbsp;<a \
href="https://busybox.net/downloads/binaries/1.31.0-defconfig-multiarch-musl/busybox-armv8l" \
style="margin:0px;font-size:12pt;background-color:rgb(255, 255, \
255)">busybox-armv8l</a>&nbsp;in their arm64 apps. For  example, distroless container \
image:</div> <div><a \
href="https://github.com/GoogleContainerTools/distroless/blob/6028308845393e394c650ce5c1332f8182451f17/busybox_archives.bzl#L19-L24" \
id="LPNoLPOWALinkPreview">https://github.com/GoogleContainerTools/distroless/blob/6028308845393e394c650ce5c1332f8182451f17/busybox_archives.bzl#L19-L24</a><br>
 </div>
<div>Thus, their apps work only on CPUs supporting both arm32 and arm64, not arm64 \
only CPUs as Apple M1.</div> <div><br>
</div>
<div>Could provide an arm64 busybox binary on busybox.net to help fixing this \
problem?</div> <div><br>
</div>
<div>Regards,</div>
<div>Meng-Yuan Huang</div>
<div class="_Entity _EType_OWALinkPreview _EId_OWALinkPreview _EReadonly_1"></div>
<br>
</div>
</body>
</html>



_______________________________________________
busybox mailing list
busybox@busybox.net
http://lists.busybox.net/mailman/listinfo/busybox

--===============2988360924942739025==--

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic