glfs/multilib/whatisml.xml
Rahul Chandra 984b8bf047
Improvements and Adherence to *LFS standards (#2)
* Make several fixes regarding typos and licensing (see below)

Since GLFS contains a significant amount of code from BLFS, for legal
reasons the BLFS MIT license must be in the repo. Instead of relicensing
which is a grey area, this commit sublicenses GLFS, as a downstream of
BLFS which it is. Along with this the changelog was added back as this is
a core part of *LFS maintainers

* Add changelog to welcome.xml

* Add a symlink and fix some typos
2024-05-23 23:45:23 -06:00

65 lines
1.8 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="whatisml" xreflabel="What is Multilib?">
<?dbhtml filename="whatisml.html"?>
<title>What is Multilib?</title>
<para>
Multilib is essentially the ability to at least execute software
that was built for another architecture different from your own.
For example, and most common: the user has a x86_64 CPU that is
wanting to execute software built to run on a x86 CPU. To better
establish terms, x86_64 is 64-bit and amd64, whereas x86 is
32-bit and ix86 where <option>x</option> can vary from 3 to 6
usually.
</para>
<sect2>
<title>How Does it Work?</title>
<para>
Multilib can be achieved firstmost by having the hardware
capable of x86 emulation, then having libraries built for x86.
We will get into how to compile x86 libraries and software and
their execution later, but know the general process for LFS
and BLFS is to almost always compile software and that's what
we'll be doing.
</para>
<note>
<para>
It is worth noting that when the term multilib is used throughout
this book, it is referring to running i686 instructions on an x86_64
host. This does not cover running other 32 bit architectures on their
64 bit extensions, like armhf on arm64.
</para>
</note>
</sect2>
<sect2>
<title>Am I Capable of Multilib?</title>
<para>
If you are on a 32-bit CPU, you are not capable of multilib.
If you are on a 64-bit CPU, and are capable of 32-bit emulation,
then you are capable of multilib.
</para>
<para>
Run <command>uname -m</command> to find out if you are on a
capable CPU.
</para>
</sect2>
</sect1>