| 1 |
matsuand |
340 |
% |
| 2 |
|
|
% This is part of LFSbookja package. |
| 3 |
|
|
% |
| 4 |
|
|
% This is a CTIE change file for the original XML source of the LFSbook. |
| 5 |
|
|
% |
| 6 |
|
|
% $Author$ |
| 7 |
|
|
% $Rev$ |
| 8 |
matsuand |
509 |
% $Date:: $ |
| 9 |
matsuand |
340 |
% |
| 10 |
matsuand |
9 |
@x |
| 11 |
|
|
<?xml version="1.0" encoding="ISO-8859-1"?> |
| 12 |
|
|
@y |
| 13 |
|
|
<?xml version="1.0" encoding="UTF-8"?> |
| 14 |
|
|
@z |
| 15 |
|
|
|
| 16 |
|
|
@x |
| 17 |
|
|
<title>How to Build an LFS System</title> |
| 18 |
|
|
@y |
| 19 |
|
|
<title>LFS をどうやって作るか</title> |
| 20 |
|
|
@z |
| 21 |
|
|
|
| 22 |
|
|
@x |
| 23 |
|
|
<para>The LFS system will be built by using an already installed |
| 24 |
matsuand |
912 |
Linux distribution (such as Debian, OpenMandriva, Fedora, or openSUSE). This |
| 25 |
matsuand |
9 |
existing Linux system (the host) will be used as a starting point to |
| 26 |
|
|
provide necessary programs, including a compiler, linker, and shell, |
| 27 |
|
|
to build the new system. Select the <quote>development</quote> option |
| 28 |
|
|
during the distribution installation to be able to access these |
| 29 |
|
|
tools.</para> |
| 30 |
|
|
@y |
| 31 |
matsuand |
363 |
<para> |
| 32 |
matsuand |
912 |
LFS システムは、既にインストールされている Linux ディストリビューション (Debian、OpenMandriva、Fedora、openSUSE など) を利用して構築していきます。 |
| 33 |
matsuand |
401 |
この既存の Linux システム(ホスト)は、LFS 構築のためにさまざまなプログラム類を利用する基盤となります。 |
| 34 |
matsuand |
363 |
プログラム類とはコンパイラー、リンカー、シェルなどです。 |
| 35 |
|
|
したがってそのディストリビューションのインストール時には<quote>開発 (development)</quote>オプションを選択し、それらのプログラム類が利用できるようにしておく必要があります。 |
| 36 |
|
|
</para> |
| 37 |
matsuand |
9 |
@z |
| 38 |
|
|
|
| 39 |
|
|
@x |
| 40 |
|
|
<para>As an alternative to installing a separate distribution onto your |
| 41 |
matsuand |
363 |
machine, you may wish to use <!-- the Linux From Scratch LiveCD or --> a LiveCD from a |
| 42 |
|
|
commercial distribution. <!-- The LFS LiveCD works well as a host system, |
| 43 |
matsuand |
9 |
providing all the tools you need to successfully follow the instructions in |
| 44 |
matsuand |
148 |
this book. The LiveCD version is behind the current book, but is still useful |
| 45 |
|
|
as a host for building the current book. The <quote>-nosrc</quote> or |
| 46 |
|
|
<quote>-min</quote> editions of the LiveCD are the most appropriate for |
| 47 |
|
|
building a current LFS system. For more information about the LFS LiveCD or |
| 48 |
matsuand |
363 |
to download a copy, visit <ulink url="&livecd-root;"/>. --></para> |
| 49 |
matsuand |
9 |
@y |
| 50 |
matsuand |
363 |
<para> |
| 51 |
|
|
コンピューター内にインストールされているディストリビューションを利用するのではなく、他に提供されている LiveCD を利用することもできます。 |
| 52 |
|
|
</para> |
| 53 |
matsuand |
9 |
@z |
| 54 |
|
|
|
| 55 |
|
|
@x |
| 56 |
|
|
<para>The LFS LiveCD might not work on newer hardware configurations, |
| 57 |
|
|
failing to boot or failing to detect some devices such as some SATA hard |
| 58 |
|
|
drives.</para> |
| 59 |
|
|
@y |
| 60 |
matsuand |
363 |
<para> |
| 61 |
|
|
LFS LiveCD は最近のハードウェア環境において、うまく動作しないかもしれません。 |
| 62 |
|
|
ブートに失敗したり SATA ハードドライブのようなデバイス検出に失敗したりすることがあります。 |
| 63 |
|
|
</para> |
| 64 |
matsuand |
9 |
@z |
| 65 |
|
|
|
| 66 |
|
|
@x |
| 67 |
|
|
<para><xref linkend="chapter-partitioning"/> of this book describes how |
| 68 |
|
|
to create a new Linux native partition and file system. This is the place |
| 69 |
|
|
where the new LFS system will be compiled and installed. <xref |
| 70 |
|
|
linkend="chapter-getting-materials"/> explains which packages and |
| 71 |
|
|
patches need to be downloaded to build an LFS system and how to store |
| 72 |
|
|
them on the new file system. <xref linkend="chapter-final-preps"/> |
| 73 |
|
|
discusses the setup of an appropriate working environment. Please read |
| 74 |
|
|
<xref linkend="chapter-final-preps"/> carefully as it explains several |
| 75 |
|
|
important issues you need be aware of before beginning to |
| 76 |
|
|
work your way through <xref linkend="chapter-temporary-tools"/> and beyond.</para> |
| 77 |
|
|
@y |
| 78 |
matsuand |
363 |
<para> |
| 79 |
matsuand |
509 |
<xref linkend="chapter-partitioning"/>では、新しく構築する Linux のためのパーティションとファイルシステムの生成方法について説明します。 |
| 80 |
matsuand |
363 |
そのパーティション上にて LFS システムをコンパイルしインストールします。 |
| 81 |
matsuand |
509 |
<xref linkend="chapter-getting-materials"/>では LFS 構築に必要となるパッケージとパッチについて説明します。 |
| 82 |
matsuand |
363 |
これらをダウンロードして新たなファイルシステム内に保存します。 |
| 83 |
matsuand |
509 |
<xref linkend="chapter-final-preps"/>は作業環境の準備について述べています。 |
| 84 |
|
|
この章では重要な説明を行っていますので、<xref linkend="chapter-temporary-tools"/>以降に進む前に是非注意して読んでください。 |
| 85 |
matsuand |
363 |
</para> |
| 86 |
matsuand |
9 |
@z |
| 87 |
|
|
|
| 88 |
|
|
@x |
| 89 |
|
|
<para><xref linkend="chapter-temporary-tools"/> explains the |
| 90 |
|
|
installation of a number of packages that will form the basic |
| 91 |
|
|
development suite (or toolchain) which is used to build the actual |
| 92 |
|
|
system in <xref linkend="chapter-building-system"/>. Some of these |
| 93 |
|
|
packages are needed to resolve circular dependencies—for example, |
| 94 |
|
|
to compile a compiler, you need a compiler.</para> |
| 95 |
|
|
@y |
| 96 |
matsuand |
363 |
<para> |
| 97 |
matsuand |
509 |
<xref linkend="chapter-temporary-tools"/>では数多くのパッケージをインストールします。 |
| 98 |
|
|
これらは基本的な開発ツール (ツールチェーン) を構成するものであり、<xref |
| 99 |
|
|
linkend="chapter-building-system"/>において最終的なシステムを構築するために利用します。 |
| 100 |
matsuand |
363 |
パッケージの中には自分自身を循環的に必要とするような依存関係を持つものがあります。 |
| 101 |
|
|
例えばコンパイラーをコンパイルするためにはコンパイラーが必要となります。 |
| 102 |
|
|
</para> |
| 103 |
matsuand |
9 |
@z |
| 104 |
|
|
|
| 105 |
|
|
@x |
| 106 |
|
|
<para><xref linkend="chapter-temporary-tools"/> also shows you how to |
| 107 |
|
|
build a first pass of the toolchain, including Binutils and GCC (first pass |
| 108 |
|
|
basically means these two core packages will be reinstalled). |
| 109 |
|
|
The next step is to build Glibc, the C library. Glibc will be compiled by |
| 110 |
|
|
the toolchain programs built in the first pass. Then, a second pass of the |
| 111 |
|
|
toolchain will be built. This time, the toolchain will be dynamically linked |
| 112 |
|
|
against the newly built Glibc. The remaining <xref |
| 113 |
|
|
linkend="chapter-temporary-tools"/> packages are built using this second |
| 114 |
|
|
pass toolchain. When this is done, the LFS installation process will no |
| 115 |
|
|
longer depend on the host distribution, with the exception of the running |
| 116 |
|
|
kernel. </para> |
| 117 |
|
|
@y |
| 118 |
matsuand |
363 |
<para> |
| 119 |
matsuand |
509 |
<xref linkend="chapter-temporary-tools"/>ではツールチェーンの第1回めの構築方法を示します。 |
| 120 |
matsuand |
363 |
そこではまず Binutils と GCC を構築します。 |
| 121 |
|
|
(第1回めと表現しているということは、つまりこれら2つのパッケージは後に再構築します。) |
| 122 |
|
|
次に C ライブラリである Glibc を構築します。 |
| 123 |
|
|
Glibc は第1回めのツールチェーンを用いてコンパイルされます。 |
| 124 |
|
|
そして第2回めのツールチェーン構築を行います。 |
| 125 |
|
|
この時のツールチェーンは新たに構築した Glibc をリンクします。 |
| 126 |
matsuand |
509 |
それ以降の<xref linkend="chapter-temporary-tools"/>に示すパッケージは第2回めのツールチェーンプログラムを用いて構築します。 |
| 127 |
matsuand |
363 |
上の作業をすべて終えたら LFS のインストール作業はもはやホストディストリビューションに依存しません。 |
| 128 |
|
|
ただし作動させるカーネルだけは使い続けます。 |
| 129 |
|
|
</para> |
| 130 |
matsuand |
9 |
@z |
| 131 |
|
|
|
| 132 |
|
|
@x |
| 133 |
|
|
<para>This effort to isolate the new system from the host distribution may |
| 134 |
|
|
seem excessive. A full technical explanation as to why this is done is provided in |
| 135 |
|
|
<xref linkend="ch-tools-toolchaintechnotes"/>.</para> |
| 136 |
|
|
@y |
| 137 |
matsuand |
363 |
<para> |
| 138 |
|
|
ホストシステムのツール類から新しいシステムを切り離していくこの手順は、やり過ぎのように見えるかもしれません。 |
| 139 |
matsuand |
509 |
<xref linkend="ch-tools-toolchaintechnotes"/>にて詳細に説明しているので参照してください。 |
| 140 |
matsuand |
363 |
</para> |
| 141 |
matsuand |
9 |
@z |
| 142 |
|
|
|
| 143 |
|
|
@x |
| 144 |
|
|
<para>In <xref linkend="chapter-building-system"/>, the full LFS system is |
| 145 |
|
|
built. The <command>chroot</command> (change root) program is used to enter |
| 146 |
|
|
a virtual environment and start a new shell whose root directory will be |
| 147 |
|
|
set to the LFS partition. This is very similar to rebooting and instructing |
| 148 |
|
|
the kernel to mount the LFS partition as the root partition. The system |
| 149 |
|
|
does not actually reboot, but instead <command>chroot</command>'s because |
| 150 |
|
|
creating a bootable system requires additional work which is not necessary |
| 151 |
|
|
just yet. The major advantage is that <quote>chrooting</quote> allows you |
| 152 |
|
|
to continue using the host system while LFS is being built. While waiting |
| 153 |
|
|
for package compilations to complete, you can continue using your computer as |
| 154 |
|
|
normal.</para> |
| 155 |
|
|
@y |
| 156 |
matsuand |
363 |
<para> |
| 157 |
matsuand |
509 |
<xref linkend="chapter-building-system"/>にて LFS システムが出来上がります。 |
| 158 |
matsuand |
363 |
<command>chroot</command> (ルートをチェンジする) プログラムを使って仮想的な環境に入り LFS パーティション内のディレクトリをルートディレクトリとしてシェルを起動します。 |
| 159 |
|
|
これは LFS パーティションをルートパーティションとするシステム再起動と同じことです。 |
| 160 |
|
|
ただ実際にはシステムを再起動はしません。 |
| 161 |
|
|
再起動できるシステムとするためにはもう少し作業を必要としますし、この時点ではまだそれが必要ではないので <command>chroot</command> を行う方法を取ります。 |
| 162 |
|
|
<command>chroot</command> を使うメリットは、LFS 構築作業にあたって引き続きホストシステムを利用できることです。 |
| 163 |
|
|
パッケージをコンパイルしている最中には、通常どおり別の作業を行うことができます。 |
| 164 |
|
|
</para> |
| 165 |
matsuand |
9 |
@z |
| 166 |
|
|
|
| 167 |
|
|
@x |
| 168 |
|
|
<para>To finish the installation, the LFS-Bootscripts are set up in |
| 169 |
|
|
<xref linkend="chapter-bootscripts"/>, and the kernel and boot loader are set |
| 170 |
|
|
up in <xref linkend="chapter-bootable"/>. <xref linkend="chapter-finalizing"/> |
| 171 |
|
|
contains information on continuing the LFS experience beyond this book. |
| 172 |
|
|
After the steps in this book have been implemented, the computer will be |
| 173 |
|
|
ready to reboot into the new LFS system.</para> |
| 174 |
|
|
@y |
| 175 |
matsuand |
363 |
<para> |
| 176 |
matsuand |
509 |
インストールの仕上げとして<xref linkend="chapter-bootscripts"/>にて LFS ブートスクリプトを設定し、<xref linkend="chapter-bootable"/>にてカーネルとブートローダーを設定します。 |
| 177 |
|
|
<xref linkend="chapter-finalizing"/>では LFS システム構築経験を踏まえて、その先に進むための情報を示します。 |
| 178 |
matsuand |
363 |
本書に示す作業をすべて実施すれば、新たな LFS システムを起動することが出来ます。 |
| 179 |
|
|
</para> |
| 180 |
matsuand |
9 |
@z |
| 181 |
|
|
|
| 182 |
|
|
@x |
| 183 |
|
|
<para>This is the process in a nutshell. Detailed information on each |
| 184 |
|
|
step is discussed in the following chapters and package descriptions. |
| 185 |
|
|
Items that may seem complicated will be clarified, and everything will |
| 186 |
|
|
fall into place as you embark on the LFS adventure.</para> |
| 187 |
|
|
@y |
| 188 |
matsuand |
363 |
<para> |
| 189 |
|
|
上はごく簡単な説明にすぎません。 |
| 190 |
|
|
各作業の詳細はこれ以降の章やパッケージの説明を参照してください。 |
| 191 |
|
|
内容が難しいと思っていても、それは徐々に理解していけるはずです。 |
| 192 |
|
|
読者の皆さんには、是非 LFS アドベンチャーに挑んで頂きたいと思います。 |
| 193 |
|
|
</para> |
| 194 |
matsuand |
9 |
@z |