| 73 |
discusses the setup of an appropriate working environment. Please read |
discusses the setup of an appropriate working environment. Please read |
| 74 |
<xref linkend="chapter-final-preps"/> carefully as it explains several |
<xref linkend="chapter-final-preps"/> carefully as it explains several |
| 75 |
important issues you need be aware of before beginning to |
important issues you need be aware of before beginning to |
| 76 |
work your way through <xref linkend="chapter-temporary-tools"/> and beyond.</para> |
work your way through <xref linkend="chapter-cross-tools"/> and beyond.</para> |
| 77 |
@y |
@y |
| 78 |
<para> |
<para> |
| 79 |
<xref linkend="chapter-partitioning"/>では、新しく構築する Linux のためのパーティションとファイルシステムの生成方法について説明します。 |
<xref linkend="chapter-partitioning"/>では、新しく構築する Linux のためのパーティションとファイルシステムの生成方法について説明します。 |
| 81 |
<xref linkend="chapter-getting-materials"/>では LFS 構築に必要となるパッケージとパッチについて説明します。 |
<xref linkend="chapter-getting-materials"/>では LFS 構築に必要となるパッケージとパッチについて説明します。 |
| 82 |
これらをダウンロードして新たなファイルシステム内に保存します。 |
これらをダウンロードして新たなファイルシステム内に保存します。 |
| 83 |
<xref linkend="chapter-final-preps"/>は作業環境の準備について述べています。 |
<xref linkend="chapter-final-preps"/>は作業環境の準備について述べています。 |
| 84 |
この章では重要な説明を行っていますので、<xref linkend="chapter-temporary-tools"/>以降に進む前に是非注意して読んでください。 |
この章では重要な説明を行っていますので、<xref linkend="chapter-cross-tools"/>以降に進む前に是非注意して読んでください。 |
| 85 |
</para> |
</para> |
| 86 |
@z |
@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 |
|
% <para> |
| 97 |
|
% <xref linkend="chapter-temporary-tools"/>では数多くのパッケージをインストールします。 |
| 98 |
|
% これらは基本的な開発ツール (ツールチェーン) を構成するものであり、<xref |
| 99 |
|
% linkend="chapter-building-system"/>において最終的なシステムを構築するために利用します。 |
| 100 |
|
% パッケージの中には自分自身を循環的に必要とするような依存関係を持つものがあります。 |
| 101 |
|
% 例えばコンパイラーをコンパイルするためにはコンパイラーが必要となります。 |
| 102 |
|
% </para> |
| 103 |
|
%@z |
| 104 |
|
|
| 105 |
@x |
@x |
| 106 |
<para><xref linkend="chapter-temporary-tools"/> explains the |
<para><xref linkend="chapter-cross-tools"/>, explains the installation of |
| 107 |
installation of a number of packages that will form the basic |
the initial tool chain, (binutils, gcc, and glibc) using cross compilation |
| 108 |
development suite (or toolchain) which is used to build the actual |
techniques to isolate the new tools from the host system.</para> |
|
system in <xref linkend="chapter-building-system"/>. Some of these |
|
|
packages are needed to resolve circular dependencies—for example, |
|
|
to compile a compiler, you need a compiler.</para> |
|
| 109 |
@y |
@y |
| 110 |
<para> |
<para><xref linkend="chapter-cross-tools"/>では初期のツールチェーン(binutils、gcc、glibc)を、クロスコンパイルによりインストールします。 |
| 111 |
<xref linkend="chapter-temporary-tools"/>では数多くのパッケージをインストールします。 |
これによりこの新たなツールをホストシステムから切り離します。</para> |
|
これらは基本的な開発ツール (ツールチェーン) を構成するものであり、<xref |
|
|
linkend="chapter-building-system"/>において最終的なシステムを構築するために利用します。 |
|
|
パッケージの中には自分自身を循環的に必要とするような依存関係を持つものがあります。 |
|
|
例えばコンパイラーをコンパイルするためにはコンパイラーが必要となります。 |
|
|
</para> |
|
| 112 |
@z |
@z |
| 113 |
|
|
| 114 |
|
%@x |
| 115 |
|
% <para><xref linkend="chapter-temporary-tools"/> also shows you how to |
| 116 |
|
% build a first pass of the toolchain, including Binutils and GCC (first pass |
| 117 |
|
% basically means these two core packages will be reinstalled). |
| 118 |
|
% The next step is to build Glibc, the C library. Glibc will be compiled by |
| 119 |
|
% the toolchain programs built in the first pass. Then, a second pass of the |
| 120 |
|
% toolchain will be built. This time, the toolchain will be dynamically linked |
| 121 |
|
% against the newly built Glibc. The remaining <xref |
| 122 |
|
% linkend="chapter-temporary-tools"/> packages are built using this second |
| 123 |
|
% pass toolchain. When this is done, the LFS installation process will no |
| 124 |
|
% longer depend on the host distribution, with the exception of the running |
| 125 |
|
% kernel. </para> |
| 126 |
|
%@y |
| 127 |
|
% <para> |
| 128 |
|
% <xref linkend="chapter-temporary-tools"/>ではツールチェーンの第1回めの構築方法を示します。 |
| 129 |
|
% そこではまず Binutils と GCC を構築します。 |
| 130 |
|
% (第1回めと表現しているということは、つまりこれら2つのパッケージは後に再構築します。) |
| 131 |
|
% 次に C ライブラリである Glibc を構築します。 |
| 132 |
|
% Glibc は第1回めのツールチェーンを用いてコンパイルされます。 |
| 133 |
|
% そして第2回めのツールチェーン構築を行います。 |
| 134 |
|
% この時のツールチェーンは新たに構築した Glibc をリンクします。 |
| 135 |
|
% それ以降の<xref linkend="chapter-temporary-tools"/>に示すパッケージは第2回めのツールチェーンプログラムを用いて構築します。 |
| 136 |
|
% 上の作業をすべて終えたら LFS のインストール作業はもはやホストディストリビューションに依存しません。 |
| 137 |
|
% ただし作動させるカーネルだけは使い続けます。 |
| 138 |
|
% </para> |
| 139 |
|
%@z |
| 140 |
|
|
| 141 |
@x |
@x |
| 142 |
<para><xref linkend="chapter-temporary-tools"/> also shows you how to |
<para><xref linkend="chapter-temporary-tools"/> shows you how to |
| 143 |
build a first pass of the toolchain, including Binutils and GCC (first pass |
cross-compile basic utilities using the just built cross-toolchain.</para> |
|
basically means these two core packages will be reinstalled). |
|
|
The next step is to build Glibc, the C library. Glibc will be compiled by |
|
|
the toolchain programs built in the first pass. Then, a second pass of the |
|
|
toolchain will be built. This time, the toolchain will be dynamically linked |
|
|
against the newly built Glibc. The remaining <xref |
|
|
linkend="chapter-temporary-tools"/> packages are built using this second |
|
|
pass toolchain. When this is done, the LFS installation process will no |
|
|
longer depend on the host distribution, with the exception of the running |
|
|
kernel. </para> |
|
| 144 |
@y |
@y |
| 145 |
<para> |
<para><xref linkend="chapter-temporary-tools"/>では、上で作ったクロスツールチェーンを利用して、基本的ユーティリティのクロスコンパイル方法を示します。</para> |
| 146 |
<xref linkend="chapter-temporary-tools"/>ではツールチェーンの第1回めの構築方法を示します。 |
@z |
| 147 |
そこではまず Binutils と GCC を構築します。 |
|
| 148 |
(第1回めと表現しているということは、つまりこれら2つのパッケージは後に再構築します。) |
@x |
| 149 |
次に C ライブラリである Glibc を構築します。 |
<para><xref linkend="chapter-chroot-temporary-tools"/> then enters a |
| 150 |
Glibc は第1回めのツールチェーンを用いてコンパイルされます。 |
"chroot" environment and uses the previously built tools to build |
| 151 |
そして第2回めのツールチェーン構築を行います。 |
the additional tools needed to build and test the final system.</para> |
| 152 |
この時のツールチェーンは新たに構築した Glibc をリンクします。 |
@y |
| 153 |
それ以降の<xref linkend="chapter-temporary-tools"/>に示すパッケージは第2回めのツールチェーンプログラムを用いて構築します。 |
<para><xref linkend="chapter-chroot-temporary-tools"/>では "chroo" 環境に入ります。 |
| 154 |
上の作業をすべて終えたら LFS のインストール作業はもはやホストディストリビューションに依存しません。 |
そして今作り上げたビルドツールを使って、最終的なシステムをビルドしテストするために必要となる残りのツールをビルドします。</para> |
|
ただし作動させるカーネルだけは使い続けます。 |
|
|
</para> |
|
| 155 |
@z |
@z |
| 156 |
|
|
| 157 |
@x |
@x |
| 158 |
<para>This effort to isolate the new system from the host distribution may |
<para>This effort to isolate the new system from the host distribution may |
| 159 |
seem excessive. A full technical explanation as to why this is done is provided in |
seem excessive. A full technical explanation as to why this is done is |
| 160 |
<xref linkend="ch-tools-toolchaintechnotes"/>.</para> |
provided in <xref linkend="ch-tools-toolchaintechnotes"/>.</para> |
| 161 |
@y |
@y |
| 162 |
<para> |
<para> |
| 163 |
ホストシステムのツール類から新しいシステムを切り離していくこの手順は、やり過ぎのように見えるかもしれません。 |
ホストシステムのツール類から新しいシステムを切り離していくこの手順は、やり過ぎのように見えるかもしれません。 |
| 165 |
</para> |
</para> |
| 166 |
@z |
@z |
| 167 |
|
|
| 168 |
|
%@x |
| 169 |
|
% <para>In <xref linkend="chapter-building-system"/>, the full LFS system is |
| 170 |
|
% built. The <command>chroot</command> (change root) program is used to enter |
| 171 |
|
% a virtual environment and start a new shell whose root directory will be |
| 172 |
|
% set to the LFS partition. This is very similar to rebooting and instructing |
| 173 |
|
% the kernel to mount the LFS partition as the root partition. The system |
| 174 |
|
% does not actually reboot, but instead uses <command>chroot</command> because |
| 175 |
|
% creating a bootable system requires additional work which is not necessary |
| 176 |
|
% just yet. The major advantage is that <quote>chrooting</quote> allows you |
| 177 |
|
% to continue using the host system while LFS is being built. While waiting |
| 178 |
|
% for package compilations to complete, you can continue using your computer as |
| 179 |
|
% normal.</para> |
| 180 |
|
%@y |
| 181 |
|
% <para> |
| 182 |
|
% <xref linkend="chapter-building-system"/>にて LFS システムが出来上がります。 |
| 183 |
|
% <command>chroot</command> (ルートをチェンジする) プログラムを使って仮想的な環境に入り LFS パーティション内のディレクトリをルートディレクトリとしてシェルを起動します。 |
| 184 |
|
% これは LFS パーティションをルートパーティションとするシステム再起動と同じことです。 |
| 185 |
|
% ただ実際にはシステムを再起動はしません。 |
| 186 |
|
% 再起動できるシステムとするためにはもう少し作業を必要としますし、この時点ではまだそれが必要ではないので <command>chroot</command> を行う方法を取ります。 |
| 187 |
|
% <command>chroot</command> を使うメリットは、LFS 構築作業にあたって引き続きホストシステムを利用できることです。 |
| 188 |
|
% パッケージをコンパイルしている最中には、通常どおり別の作業を行うことができます。 |
| 189 |
|
% </para> |
| 190 |
|
%@z |
| 191 |
|
|
| 192 |
@x |
@x |
| 193 |
<para>In <xref linkend="chapter-building-system"/>, the full LFS system is |
<para>In <xref linkend="chapter-building-system"/>, The |
| 194 |
built. The <command>chroot</command> (change root) program is used to enter |
full LFS system is built. Another advantage provided by the chroot |
| 195 |
a virtual environment and start a new shell whose root directory will be |
environment is that it allows you to continue using the host system |
| 196 |
set to the LFS partition. This is very similar to rebooting and instructing |
while LFS is being built. While waiting for package compilations to |
| 197 |
the kernel to mount the LFS partition as the root partition. The system |
complete, you can continue using your computer as normal.</para> |
|
does not actually reboot, but instead uses <command>chroot</command> because |
|
|
creating a bootable system requires additional work which is not necessary |
|
|
just yet. The major advantage is that <quote>chrooting</quote> allows you |
|
|
to continue using the host system while LFS is being built. While waiting |
|
|
for package compilations to complete, you can continue using your computer as |
|
|
normal.</para> |
|
| 198 |
@y |
@y |
| 199 |
<para> |
<para><xref linkend="chapter-building-system"/>において完全な LFS システムが出来上がります。 |
| 200 |
<xref linkend="chapter-building-system"/>にて LFS システムが出来上がります。 |
<command>chroot</command> を使うもう一つのメリットは、LFS 構築作業にあたって引き続きホストシステムを利用できることです。 |
| 201 |
<command>chroot</command> (ルートをチェンジする) プログラムを使って仮想的な環境に入り LFS パーティション内のディレクトリをルートディレクトリとしてシェルを起動します。 |
パッケージをコンパイルしている最中には、通常どおり別の作業を行うことができます。</para> |
|
これは LFS パーティションをルートパーティションとするシステム再起動と同じことです。 |
|
|
ただ実際にはシステムを再起動はしません。 |
|
|
再起動できるシステムとするためにはもう少し作業を必要としますし、この時点ではまだそれが必要ではないので <command>chroot</command> を行う方法を取ります。 |
|
|
<command>chroot</command> を使うメリットは、LFS 構築作業にあたって引き続きホストシステムを利用できることです。 |
|
|
パッケージをコンパイルしている最中には、通常どおり別の作業を行うことができます。 |
|
|
</para> |
|
| 202 |
@z |
@z |
| 203 |
|
|
| 204 |
@x |
@x |