Live data from Hacker News

Having non-x86 machines makes your life harder

utcc.utoronto.ca

71–80 of 100 posts

Re: Having non-x86 machines makes your life harder

#71
post #3

This doesn't say anything meaningful. It just states some obvious things with some sort of implied value judgement with no information about how it's supposed to be bad, aside from the author's lack of experience. "you'll almost certainly wind up with a mixed setup". So what? It's not bad just because you say it is if you don't say why it's supposedly bad. It's also factually incorrect: "If you try to share things ac…

You appear not to know what is meant by sharing across architectures here.

Chris Siebenmann dates from the times when system administrators would do things like have most of the operating system executables and read-only data files remote-mounted from fileservers. We'd worry about such things as instruction set architectures and bitnessess and endinannesses of non-text file formats. We'd have "architecture-dependent" and "architecture-independent" exports. We'd take care when replacing executable scripts with compiled binaries.

And yes, it has been decades since this was a norm. DASDs have long since become big and cheap enough that just having copies of all of the files locally has long overtaken the idea of having the operating system partly on a remote fileserver that had the limited money spent on it for the really big DASDs.

Microsoft originally had DOS+Windows with a shareable "system" directory and a per-machine "windows" directory. Modern Windows doesn't even incorporate such an idea, not least because many things came along that put per-machine stuff in the "system" directory. Modern Unices and Linux-based operating systems similarly don't normalize the idea of remote-mounted /usr/share and whatnot as Unices did decades ago.

* https://utcc.utoronto.ca/~cks/space/blog/unix/FadingMultiArc...

Re: Having non-x86 machines makes your life harder

#72
post #17

It's a simple statement of fact, but it does need to be pointed out when ARM or RISC is often hyped. Many forget that that most non-x86's are system-on-chips, with very different components on them to make each a unique hardware platform on its own for system developers (and thus a huge pain in the butt) compared to the more "standardised" x86-64 hardware available from Intel and AMD. I fear that unless some kind of…

Epyc is also a SOC and that is both x86 and doesn’t seem to cause any issues.

What I meant was that Intel and AMD take the pain to be more open about their SoCs than other ARM manufacturers, and ensure there aren't 100's of them. Both are more developer friendly than others who often deliberately choose the ARM SoC's mainly to ensure they can exert control over system developers - by ensuring that details of the component hardware are only available on closed licenses or sometimes not even made available to the public at all.

Re: Having non-x86 machines makes your life harder

#73

Earlier quoted context omitted.

Even though the blog appears to be by someone who doesn’t have much of a clue, this is gatekeeping. Just like in the Unix world of old before the rise of open source, many system administrators never compile any binary. And that is fine.

It’s not gatekeeping in any sense. Technical skills are required to do technical jobs, and this person asked for any criticism or feedback given by posting a public blog that has, for some bizarre reason, gotten to the front page of hacker news. Wtf. Technical incompetence must be addressed head first, or we risk real world problems

"No real X would do Y" is gatekeeping, unless !Y is literally the definition of X.

Re: Having non-x86 machines makes your life harder

#74

The difference is not mainly about CPU architecture, it’s about the standardized PC architecture vs ARM computers where you need to build a new distribution for every model. You can easily build a kernel that will run on any PC built in the last decade and any PC that will be built in the next decade. But if you are using an ARM computer you have to run the patched kernel provided by the manufacturer.

That depends on the ARM machine you picked. There's an ARM UEFI standard, for example. With postmarketOS a ton of Android devices can now also boot the mainline Linux kernel. Samsung certainly isn't helping anyone run modern Linux kernels on their devices, but my old tablet released with Linux 3.1 now runs Linux 6.2. Getting the necessary kernels and software together isn't even all that difficult most of the time, t…

It’s much better than PC, there’s many more standards to chose from! /s

> Getting the necessary kernels and software together isn't even all that difficult most of the time, the problem is that you need someone to set up an appropriate distribution

Guess what? On PC there’s a ton of people who have set up a distribution and they are all appropriate for all PCs. That makes it a whole lot easier to find such a person for your PC.

Re: Having non-x86 machines makes your life harder

#75
post #71
post #3

This doesn't say anything meaningful. It just states some obvious things with some sort of implied value judgement with no information about how it's supposed to be bad, aside from the author's lack of experience. "you'll almost certainly wind up with a mixed setup". So what? It's not bad just because you say it is if you don't say why it's supposedly bad. It's also factually incorrect: "If you try to share things ac…

You appear not to know what is meant by sharing across architectures here. Chris Siebenmann dates from the times when system administrators would do things like have most of the operating system executables and read-only data files remote-mounted from fileservers. We'd worry about such things as instruction set architectures and bitnessess and endinannesses of non-text file formats. We'd have "architecture-dependent"…

> And yes, it has been decades since this was a norm.

...So why is it relevant?

Sharing files between systems with different architectures Just Works these days, unless you start getting into the really esoteric.

"Having non-x86 machines is Bad, now, today, because of problems I had with managing multiple-architecture deployments 30 years ago" is not a useful statement in any way.

Re: Having non-x86 machines makes your life harder

#76
post #17

Earlier quoted context omitted.

Epyc is also a SOC and that is both x86 and doesn’t seem to cause any issues.

I think they meant SBCs, which if they did they would have a point, work there to standardise outside the server space is very slow.

A good example of what I am saying can be seen with Apple Silicon SoCs todays - since details of some of the components in it are unavailable, system developers are being forced to reverse-engineer it to port other OSes on it. Imagine the effort to do that for 100's or 1000's of SoCs, each of which can have their own unique, custom component (with closed documentation) in it?

Re: Having non-x86 machines makes your life harder

#77

Earlier quoted context omitted.

That depends on the ARM machine you picked. There's an ARM UEFI standard, for example. With postmarketOS a ton of Android devices can now also boot the mainline Linux kernel. Samsung certainly isn't helping anyone run modern Linux kernels on their devices, but my old tablet released with Linux 3.1 now runs Linux 6.2. Getting the necessary kernels and software together isn't even all that difficult most of the time, t…

It’s much better than PC, there’s many more standards to chose from! /s > Getting the necessary kernels and software together isn't even all that difficult most of the time, the problem is that you need someone to set up an appropriate distribution Guess what? On PC there’s a ton of people who have set up a distribution and they are all appropriate for all PCs. That makes it a whole lot easier to find such a person f…

This works the same way for arm64 "system ready" uefi hardware

https://cdimage.ubuntu.com/daily-live/current/mantic-desktop...

Re: Having non-x86 machines makes your life harder

#78
post #18

Earlier quoted context omitted.

Challenge: specify a mainstream architecture (e.g. targeted by Debian stable) which doesn't have char=1, short=2, int=4, long long=8 bytes with GCC or Clang.

well, you skipped long :D

Yeah, skipped the one built-in type that is different between architectures (64-bits on 64-bit Linux, 32-bits on 64-bit Windows).

Re: Having non-x86 machines makes your life harder

#79
post #61

Earlier quoted context omitted.

One major point of divergence is the size and representation of pointers, and people treating pointers as integers. Also floating point formats can vary a bit even with the size being the same. So a piece of code written for one might be subtly wrong for another.

Aren't pointers pretty much universally 64 bits, except for some old or esoteric machines? And why would you not be able to treat one as an integer? Are there any examples of such ISAs? Finally, floating point formats do differ, but that shouldn't affect anything except precision and binary format. Also I'm pretty sure "float" is standard IEEE 32 bit and "double" is standard 64 bit, with predefined exponent/mantissa…

x86 is hardly esoteric. New software for it is being published today.

Re: Having non-x86 machines makes your life harder

#80
I have a mix of x86_64 and aarch64 machines and, damn, NixOS makes it so freaking easy. Most of nixpkgs works on both architectures. You can even use your machines as remote builders and/or use binfmt to transparently run/build stuff through qemu.

When I was helping out a friend with his free oracle aarch64 server, I got baffled on how ARM feels like a second class citizen on most distros.

Post reply on HN