X64 Or Aarch64 Mac

0 views
Skip to first unread message

Krysta Cirilo

unread,
Aug 5, 2024, 12:37:43 PM8/5/24
to magresile
Myquestions are the following : obviously the strings "arm64" and "aarch64" are not the same, but I always thought arm64 and aarch64 were the same. (It's even told when you put the arm64 tag to a question here.)

AArch64 is the 64-bit state introduced in the Armv8-A architecture. The 32-bit state which is backwards compatible with Armv7-A and previous 32-bit Arm architectures is referred to as AArch32.Therefore the GNU triplet for the 64-bit ISA is aarch64.The Linux kernel community chose to call their port of the kernel to this architecture arm64 rather than aarch64, so that's where some of the arm64 usage comes from.


The Apple-developed backend for AArch64 was called "ARM64" whereas the LLVM community-developed backend was called "AArch64" (as it is the canonical name for the 64-bit ISA). The two were merged in 2014 and the backend now is called "AArch64".


Originally there was just the 32-bit architecture, called "ARM". Then in October 2011 the ARMv8-A spec added a new 64-bit execution state called "AArch64", retroactively renaming the old 32-bit architecture "AArch32". Then to add a bit more confusion, in 2017 the company rebranded from being called "ARM" (an acronym for "Advanced RISC Machines") to just "Arm".


Support for AArch64 was added to Linux in 2012. The patchset was initially called "aarch64" but was renamed to "arm64". The LLVM community and Apple started working in parallel to support it in clang in 2012, the LLVM community called it "aarch64" and Apple called it "arm64". Apple open-sourced their changes and the two efforts lived together in LLVM under their different names and were eventually merged in 2014 so LLVM/clang now just calls it "aarch64".


It is easy to make the mistake that they are not the same. I have a library from Maxim Integrated developed presumably with GNU toolchain (aarch64). It is completely unusable in the XCode development environment for arm64. The MacBook Pro is model A1278. XCode is version 12.4. macOS Catalina v10.15.7. The ld command on the Mac will indicate that we are trying to link with an unknown-unsupported file format. Further investigation shows that the Maxim library, created with the ar command I believe, needs to be modified by running ranlib on it. At first I thought this was an aarch64 vs arm64 issue; I was wrong.


Or, failing that, I'm wondering what command I can use to install an older version of nightly-aarch64-unknown-linux-gnu -- I can't seem to find a command for that, or a website where there is a list of the older builds.


using rust for a while, and I just got myself some few orangepi devices lately..

I am trying to compile from windows10 machine(MINGW64_NT-10.0) a simple hello world and try to run it in a aarch64 system(and hopefully other devices too like omega 2+). it works obviously in cargo run but when I try cargo build --target aarch64-unknown-linux-gnu it doesn't work..


Afaik lld, the linker from LLVM, is shipped with rust now, so you can use that to link it. I'm not quiet sure how to do it though. You may need to crawl through a few github posts or this reddit post.


I need to build the image from scratch and without any local deb cache. By replacing r32.6 with r32.5 in the previous Dockerfile, the image builds without any issues, and all the toolchains can work correctly.


The command output in your comment shows that cuda-cross-aarch64-10-2 is from a local apt repository (prefixed with file: instead of repo.download.nvidia.com). The reason why apt cannot find the correct package is that _64/dists/bionic/r32.6/binary-amd64/Packages gives an empty file.


I have a Raspberry Pi 4 B. I have tried burning multiple systems on a 32 GB SD card using Raspberry Pi Imager v.1.7.4: Raspbian 10 lite 32 bit, then Raspbian 11 lite 32 bit, and then booted manually from the Raspberry Pi OS Lite (Legacy) (Buster) website. When I write the arch command in the console, I get aarch64. But when I used another old SD card (16GB) with Buster the console response was armv71 i.e. 32bit. Why did this happen? How can I write a 32bit system to an SD card?


In particular, 64-bit-capable Raspberry Pi systems default to using a 64-bit kernel irrespective of what bit width the associated userspace is, as this allows some security and performance improvements and enables a handful of usecases (such as multi-monitor 4k setups) that were not realistically possible with a 32-bit kernel.


Because of this, arch is not a reliable way to determine the bit-width of userspace. The most reliable portable option I have found is to install the file command and run file $(command -v file), which will give you output vaguely similar to this (this example is from my 64-bit x86 home server):


Alternatively, on Debian-derived systems (including Raspbian and Ubuntu), you can instead run dpkg --print-architecture, which will give output similar to arch but tell you what architecture the package manager thinks the system is using, which should always match up with the bit-width of your userspace.


Considering Raspberry pi recently announced an aarch64 build of their OS, I see many users moving to it for their higher end Raspberry Pis. Would it be possible to release a one off build for aarch64.


Be aware that if new binary builds for Linux became available they would be in our actively developed FMOD release, currently 2.01.xx, so a backport for 1.10.20 is unlikely without a support contract.


We support loading audio (.banks) from 1.10.xx in 2.01.yy, however on the code side there will be API changes between those major versions that will require work from the developer. Our API is binary compatible for minor patches only, i.e. 1.10.xx to 1.10.yy.


Thanks for the clarification and direction for further prospects. Probably devs of Celeste can help after that point. I am assuming that the support contract is not going to be affordable at an individual or crowdsourced level.


The best way to track is to sign up to our mailing list at fmod.com (bottom of page). We send out release notes once per month. Any newly supported platforms would appear in the new features section of the Core API notes. You can also see a web version of our revision notes here.


*The reason I am using aptitude to install libc6 is that diet-pi main aarch64 repository contains a newer libc6 than the one available at the armhf repository. However, aptitude detects this problem an offers you the possibility of downgrading automatically.


Download & install UTM ( ), you can download it from the official site for free, or get it from the App Store (not free, but you can support the dev, and the App Store version also updates automatically)


Download the disk image file from the official Github page (GitHub - home-assistant/operating-system: ? Home Assistant Operating System), download the .qcow2 image from the release section. (e.g. haos_generic-aarch64-x.x.qcow2.xz)


I managed to get HA working in supervised mode on my M1 Mac Mini. I had to apply a few modifications along the way. I also restored from the full back up tar file from my Debian box that I redepoy to run other applications.


The only thing I cannot get it to work is the Sonoff USB dongles Plus (E). I tried plug and play, did not work. I even turned on USB sharing from host. I installed the driver but somehow it was blocked by Ventura. I looked through the Mac settings (aka preference) screen and I cannot find where the driver file was blocked. As usual on Mac Ventura, once it is blocked not matter how many times to re-install the driver, it would not be unblock


I have a simple question. Ive checked that building ROOT6 in a linuxarm64 is still in preparation. What are the plans for such architecture? I really need ROOT6 because I plan to implement a fully parallelized code in the easiest way.


I tried what you told me without success, the 32-bit problem is not there anymore, but there is a segmentation fault while compiling the math library similar to the one described in the first post where I report the problem.


I am as well interested in ROOT for NanoPI M4 thus ARM 64-bit.

Ideally a recompiled installation like for Ubuntu.

I tried to search some older precompiled version for aarch64 but could not find any,

although support of earlier ROOT versions was mentioned somewhere.


OK, thank you, what I wish to have are some real-time histograms and capability to view them online as JPG pictures. I would like to write the code in C++ and as it is real-time it should have as little overhead as posisble.


I am trying to setup Percona server for mysql(5.7.25-28) on c6g instance types in aws. The OS is centos 7.9 and the architecture is aarch64.

I am unable to find any packages compatible with this architecture on official download page of percona - Percona Software downloads for databases


Even though your question asks about how to compile 5.7 for Centos on an arm processor I was able to get it running on a Ubuntu 20.04 and the steps should be really similar. Be prepared for this to be a bit of a pain, but it can be done. I think that for centos the only difference will be that you might need different libraries, but as you try to compile mysql it will yell at you and tell you which ones you need.


The example I'm working from assumes a CD as the initial source, but I want to start from a working instance. The only way I know of to copy the "target" host onto my VM farm is to do a raw copy, then run that in "raw" mode, as shown in the example I'm showing above: "file=sal3.internal.raw"; that's drawing an error:WARNING: Image format was not specified for 'sal3.internal.raw' and probing guessed raw.Automatically detecting the format is dangerous for raw images, write operations on block 0 will be restricted.Specify the 'raw' format explicitly to remove the restrictions.


I think I can work my way around those three warnings, once I have this working, but the hangup is the error saying that kvm isn't correct. Since I'm doing this in such a copy-and-paste way, and since the example I'm working from seemed to think that kvm would handle my aarch64 VM, I don't know how to approach this.

3a8082e126
Reply all
Reply to author
Forward
0 new messages