91
votes
Accepted
Why is 'H' / 72 / 0x48 the second most common byte in executables?
That would be the 64 bit operand size prefix of amd64 machine code instructions.
You'll notice it only happens on amd64 executables.
If you compare on the /bin/* of http://ftp.debian.org/debian/pool/...
59
votes
Accepted
Porting Linux to another platform requirements
Even though most of the code in the Linux kernel is written in C, there are still many parts of that code that are very specific to the platform where it's running and need to account for that.
One ...
22
votes
Modern OS on Ancient Hardware (i486SX, 8 MB of RAM)
Provided you get the possibility to cross-compile on whatever other system, the only solution I know is to… do it yourself from sources, you will need :
The linux kernel. the 5.4 version should fit. ...
17
votes
Modern OS on Ancient Hardware (i486SX, 8 MB of RAM)
FreeBSD support 80486 and onward CPUs
Arch Linux 32-bit still support i486 processor for most non-graphical packages.
You may need to do some tweak to use sf.
Update: Read this Retrocomputing SE ...
12
votes
Accepted
How to mitigate the Spectre and Meltdown vulnerabilities on Linux systems?
Alan Cox shared a link from AMD's blog:
https://www.amd.com/en/corporate/speculative-execution
Variant One: Bounds Check Bypass
Resolved by software / OS updates to be made available by system
...
11
votes
How to mitigate the Spectre and Meltdown vulnerabilities on Linux systems?
January 27, 2018 Intel Microcode breaks some systems
The Intel Microcode Update 2018-01-08 to address speculative execution branching security holes broke some systems. This effected many Ubuntu ...
11
votes
Accepted
What does physical address 0 in x86 Linux contain?
Whatever your firmware left it containing.
On an ideal modern system, the processor never enters real mode at all, as I explained in this SU Q&A titled: What mode do modern 64-bit Intel chip PCs ...
11
votes
Porting Linux to another platform requirements
In addition to porting the Linux kernel, you will need to define the application binary interface (ABI) for "user space" programs and port the lowest layers of the user space software stack. Linux is ...
11
votes
Accepted
What is the point of the kernel reserving CONFIG_X86_RESERVE_LOW memory for the BIOS?
You should see a longer help text for this config option. It offers two reasons.
config X86_RESERVE_LOW
int "Amount of low memory, in kilobytes, to reserve for the BIOS"
default 64
range 4 ...
10
votes
Accepted
Why do Linux world use the term i386 instead of x86?
i386, or 80386, was the first 32-bit processor. When it was introduced, the word i386 is started to be using in many places, including in OSs and compilers, which made it impossible or very difficult ...
10
votes
Is it possible to run x86 executable on ARM?
Debian has multiarch support which means that you can install and run programs built for one architecture on other architectures.
However, you need to take the following into consideration:
As the ...
10
votes
Modern OS on Ancient Hardware (i486SX, 8 MB of RAM)
Abdullah Ibn Fulan’s answer gives pointers to BSDs and Linux distributions which support your CPU, but you’ll find that 8MiB of RAM is too little to do anything useful with a modern system.
Another ...
9
votes
Accepted
GNU Linker differences between the different 32bit emulation modes?
The “emulation” selects different linker scripts; you’ll find the scripts themselves in /usr/lib/ldscripts on your system. The emulations you’ve listed correspond to
elf32_x86_64: ELF for x64-32, aka ...
9
votes
Modern OS on Ancient Hardware (i486SX, 8 MB of RAM)
MC68020 suggested you build your own Linux system by cross-compiling
from sources. I do not know whether this is the best solution for you
but, if you are going to explore this route, I suggest you ...
8
votes
Accepted
82MB of "reserved memory" on 512MB (x86) system
The SWIOTLB is being enabled on your system. By default this reserves 64M RAM. It is only supposed to be needed if you have more than 4G RAM, and cannot use a hardware IOMMU, or if you are running ...
8
votes
Is it possible to run x86 executable on ARM?
Each architecture speaks its own hardware language so of course ARM CPUs can only run ARM binaries natively. If you want to run binaries for another architecture you need to use an emulator. The most ...
8
votes
Modern OS on Ancient Hardware (i486SX, 8 MB of RAM)
Here's a nice overview of "light" Linux distros: https://en.wikipedia.org/wiki/Light-weight_Linux_distribution
I've just tried Damn Small Linux and unfortunately it only works when you have ...
8
votes
Accepted
Cannot remove architecture i386
You need to remove them simultaneously, and force their removal in spite of their “protected” status:
dpkg --purge --force-remove-protected {gcc-12-base,libc6,libcrypt1,libgcc-s1}:i386
8
votes
Are Intel or AMD processors generally regarded as "better" for Linux
It's far from trivial unlike Marcus said.
First, ADL/RPL and upcoming MTL CPUs are still poorly supported under Linux because of their heterogeneous architecture.
In Windows the task scheduler can ...
7
votes
What does physical address 0 in x86 Linux contain?
The original 8086 processor architecture (implemented as Real Mode in 80286+ processors) has no relevance for Linux, which operates in Protected Mode. There is no interrupt vector table at physical ...
7
votes
What changes had to be made to linux kernel in order to support ryzen 5000 series processor?
Ryzen does indeed implement the x86-64 ISA, but it introduced a few changes which matter for a kernel such as Linux.
Ryzen 5000 is part of Ryzen Gen 3, which uses a new “family” identifier, 19h (the ...
7
votes
Accepted
Why does exception in interrupt always lead to Kernel Panic?
I'm going to describe CPU behavior in a generic way. This explains general principles, but the details and terminology can vary a lot between CPU architectures.
When a CPU is running code, certain bad ...
6
votes
How to mitigate the Spectre and Meltdown vulnerabilities on Linux systems?
The fact that this is exploitable using JavaScript isn't the main point, and shouldn't be the main concern (although it is a major one because this way remote code can easily be executed on your ...
6
votes
Why do Linux world use the term i386 instead of x86?
The original Intel 8086, 80186, and 80286 were 16-bit processors. However, the 80386 aka i386 was the first 32-bit processor in the x86 line.
The most logical name to refer to the 32-bit x86 ...
6
votes
Accepted
How does the ELF loader determine the initial stack size?
I don't believe this question is really to do with ELF. As far as I know, ELF defines a way to "flat pack" a program image into files and then re-assemble it ready for first execution. The ...
6
votes
Accepted
How can I install i386/x86 shared libraries on freebsd?
You do not tell anything about your system so I'll just make the most likely guess. You are running a 64 bit system and have not installed any 32 bit libraries. The simplest method is to simply add ...
6
votes
Differences between qemu-i386 and Linux IA32 emulation
The kernel config option CONFIG_IA32_EMULATION offers the possibility for an x86-64 kernel to support the execution of 32 bit binaries.
This support essentially consists in
offering entry points for ...
5
votes
How to determine Linux kernel architecture?
There is also lscpu: display information about the CPU architecture
lscpu
Architektura: x86_64
Tryb(y) pracy CPU: 32-bit, 64-bit
Kolejność bajtów: ...
5
votes
What do the flags in /proc/cpuinfo mean?
Inspired by the top answer by @Gilles, here is a bash script (requires bash v4 or higher, a network connection, and a recent wget) to annotate the current CPU flags:
#! /bin/bash
CPUFEATURES="$(...
Only top scored, non community-wiki answers of a minimum length are eligible
Related Tags
x86 × 233linux × 95
debian × 32
linux-kernel × 32
64bit × 22
cpu × 20
kernel × 19
qemu × 17
memory × 16
arm × 13
32bit × 12
boot × 11
cpu-architecture × 11
intel × 9
grub × 8
hardware × 8
assembly × 8
ubuntu × 7
compiling × 7
bios × 7
architecture × 7
package-management × 6
kali-linux × 6
virtual-machine × 6
uefi × 6