1 | <?xml version="1.0" encoding="UTF-8"?>
|
---|
2 | <!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
---|
3 | "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
---|
4 | <!ENTITY % general-entities SYSTEM "../general.ent">
|
---|
5 | %general-entities;
|
---|
6 | ]>
|
---|
7 |
|
---|
8 | <sect1 id="pre-architecture">
|
---|
9 | <?dbhtml filename="architecture.html"?>
|
---|
10 |
|
---|
11 | <title>LFS Target Architectures</title>
|
---|
12 |
|
---|
13 | <para>The primary target architectures of this LFS edition are the little
|
---|
14 | endian MIPS64 release 2 to 5 CPUs (the release 6 is not backward-compatible
|
---|
15 | with earlier releases). On the other hand, the instructions
|
---|
16 | in this book are also known to work, with some modifications, for
|
---|
17 | MIPS CPUs with a different byte order, word size, or ISA version. To
|
---|
18 | build a system that utilizes one of these alternative CPUs, the main prerequisite, in
|
---|
19 | addition to those on the next page, is an existing Linux system such as an
|
---|
20 | earlier LFS installation, Ubuntu, Red Hat/Fedora, SuSE, or some other distribution
|
---|
21 | that targets that architecture.</para>
|
---|
22 |
|
---|
23 | <para>There are three widely-used ABIs for 64-bit MIPS programs.
|
---|
24 | The <quote>o32</quote> ABI is compatible with the ABI of the legacy 32-bit
|
---|
25 | MIPS programs and it's used for running those legacy 32-bit programs on a
|
---|
26 | 64-bit MIPS CPU. The <quote>n64</quote> ABI is designed for taking the full
|
---|
27 | advantage of 64-bit capability. The <quote>n32</quote> ABI is similar to
|
---|
28 | n64 but using 32-bit pointers, mainly used for 64-bit devices with a small
|
---|
29 | amount of RAM. The default 64-bit build that results from LFS is a
|
---|
30 | <quote>pure</quote> n64 system. That is, it supports n64 executables
|
---|
31 | only. Building a <quote>multi-lib</quote> system requires compiling many
|
---|
32 | applications multiple times, each time for an ABI to be supported.
|
---|
33 | This is not directly supported in LFS because it would interfere with the
|
---|
34 | educational objective of providing the minimal instructions needed for a
|
---|
35 | basic Linux system. Some of the LFS/BLFS editors maintain a multilib fork
|
---|
36 | of LFS, accessible at <ulink
|
---|
37 | url="https://www.linuxfromscratch.org/~thomas/multilib/index.html"/>. But
|
---|
38 | it's for x86_64, and anyway multilib is an advanced topic.</para>
|
---|
39 |
|
---|
40 | </sect1>
|
---|