ハンドブック:PPC/インストール/ディスク

From Gentoo Wiki
Jump to: navigation, search
This page is a translated version of the page Handbook:PPC/Installation/Disks and the translation is 100% complete.

Other languages:
Deutsch • ‎English • ‎español • ‎français • ‎polski • ‎русский • ‎українська • ‎中文(中国大陆)‎ • ‎日本語 • ‎한국어
PPC ハンドブック
インストール
インストールについて
メディアの選択
ネットワーク設定
ディスクの準備
stage3のインストール
Gentooベースシステムのインストール
カーネルの設定
システムの設定
ツールのインストール
ブートローダの設定
締めくくり
Gentooの操作
Portageについて
USEフラグ
Portageの機能
Initスクリプトシステム
環境変数
Portageの操作
ファイルとディレクトリ
変数
ソフトウェアブランチの併用
追加ツール
カスタムPortageツリー
高度な機能
ネットワーク設定
はじめに
高度な設定
モジュール式ネットワーク
無線
機能の追加
動的な管理


ブロックデバイスの概要

ブロックデバイス

Gentoo Linuxの、そしてLinux一般の、Linuxファイルシステム、パーティション、ブロックデバイスを含めた、ディスク中心の考え方について詳しく見てみましょう。ディスクの入出力とファイルシステムについて理解することで、Gentoo Linuxインストールのためのパーティションとファイルシステムを構築できるようになります。

まずはブロックデバイスについて見ていきます。最も有名なブロックデバイスはおそらく、Linuxシステム上で1番目のドライブを表す、/dev/sdaでしょう。SCSIとSerial ATAドライブは/dev/sd*と名付けられます。より新しいlibataフレームワークがカーネルに組み込まれていれば、IDEデバイスも/dev/sd*と名付けられます。古いデバイスフレームワークを使っていれば、1番目のIDEドライブは/dev/hdaになるでしょう。

上のブロックデバイスは、ディスクへの抽象的なインターフェースを表しています。ユーザープログラムはこれらのブロックデバイスを用いて、デバイスがIDE、SCSI、もしくは他のものであるかどうかを心配することなしにディスクと通信することができます。プログラムは容易にディスク上の記憶領域を、ランダムアクセスできる512バイトごとの連続領域としてアドレッシングできます。


パーティション

Although it is theoretically possible to use a full disk to house a Linux system, this is almost never done in practice. Instead, full disk block devices are split up in smaller, more manageable block devices. On most systems, these are called partitions.

Note
In the remainder of the installation instructions, we will use the Pegasos example partition layout. Adjust to personal preference.

Designing a partition scheme

How many partitions and how big?

The number of partitions is highly dependent on the environment. For instance, if there are lots of users, then it is advised to have /home/ separate as it increases security and makes backups easier. If Gentoo is being installed to perform as a mail server, then /var/ should be separate as all mails are stored inside /var/. A good choice of filesystem will then maximize the performance. Game servers will have a separate /opt/ as most gaming servers are installed there. The reason is similar for the /home/ directory: security and backups. In most situations, /usr/ is to be kept big: not only will it contain the majority of applications, it typically also hosts the Gentoo ebuild repository (by default located at /usr/portage) which already takes around 650 MiB. This disk space estimate excludes the packages/ and distfiles/ directories that are generally stored within this ebuild repository.

It very much depends on what the administrator wants to achieve. Separate partitions or volumes have the following advantages:

  • Choose the best performing filesystem for each partition or volume.
  • The entire system cannot run out of free space if one defunct tool is continuously writing files to a partition or volume.
  • If necessary, file system checks are reduced in time, as multiple checks can be done in parallel (although this advantage is more with multiple disks than it is with multiple partitions).
  • Security can be enhanced by mounting some partitions or volumes read-only, nosuid (setuid bits are ignored), noexec (executable bits are ignored) etc.

However, multiple partitions have disadvantages as well. If not configured properly, the system might have lots of free space on one partition and none on another. Another nuisance is that separate partitions - especially for important mount points like /usr/ or /var/ - often require the administrator to boot with an initramfs to mount the partition before other boot scripts start. This isn't always the case though, so results may vary.

There is also a 15-partition limit for SCSI and SATA unless the disk uses GPT labels.

What about swap space?

There is no perfect value for the swap partition. The purpose of swap space is to provide disk storage to the kernel when internal memory (RAM) is under pressure. A swap space allows for the kernel to move memory pages that are not likely to be accessed soon to disk (swap or page-out), freeing memory. Of course, if that memory is suddenly needed, these pages need to be put back in memory (page-in) which will take a while (as disks are very slow compared to internal memory).

When the system is not going to run memory intensive applications or the system has lots of memory available, then it probably does not need much swap space. However, swap space is also used to store the entire memory in case of hibernation. If the system is going to need hibernation, then a bigger swap space is necessary, often at least the amount of memory installed in the system.


Apple New World

Apple New World machines are fairly straightforward to configure. The first partition is always an Apple Partition Map (APM). This partition keeps track of the layout of the disk. It is not possible to remove this partition. The next partition should always be a bootstrap partition. This partition contains a small (800KiB) HFS filesystem that holds a copy of the bootloader Yaboot and its configuration file. This partition is not the same as a /boot partition as found on other architectures. After the boot partition, the usual Linux filesystems are placed, according to the scheme below. The swap partition is a temporary storage place for when the system runs out of physical memory. The root partition will contain the filesystem that Gentoo is installed on. To dual boot, the OSX partition can go anywhere after the bootstrap partition to insure that yaboot starts first.

Note
There may be "Disk Driver" partitions on the disk such as Apple_Driver63, Apple_Driver_ATA, Apple_FWDriver, Apple_Driver_IOKit, and Apple_Patches. These are used to boot MacOS, so if there is no need for this, they can be removed by initializing the disk with mac-fdisk's i option. Be careful, this will completely erase the disk! If in doubt do not remove them.
Note
If the disk is partitioned with Apple's Disk Utility, there may be 128 MiB spaces between partitions which Apple reserves for "future use". These can be safely removed.
Partition Size Filesystem Description
/dev/sda1 32KiB None. Apple Partition Map (APM).
/dev/sda2 800KiB HFS Apple bootstrap.
/dev/sda3 512 MiB swap Linux swap (type 0x82).
/dev/sda4 Rest of the disk. ext4, reiserfs, xfs, etc. Linux root.

Apple Old World

Apple Old World machines are a bit more complicated to configure. The first partition is always an Apple Partition Map (APM). This partition keeps track of the layout of the disk. It is not possible to remove this partition. When using BootX, the configuration below assumes that MacOS is installed on a separate disk. If this is not the case, there will be additional partitions for "Apple Disk Drivers" such as Apple_Driver63, Apple_Driver_ATA, Apple_FWDriver, Apple_Driver_IOKit, Apple_Patches and the MacOS install. When using Quik, it is necessary to create a boot partition to hold the kernel, unlike other Apple boot methods. After the boot partition, the usual Linux filesystems are placed, according to the scheme below. The swap partition is a temporary storage place for when the system runs out of physical memory. The root partition will contain the filesystem that Gentoo is installed on.

Note
When using an OldWorld machine, it is necessary to keep MacOS available. The layout here assumes MacOS is installed on a separate drive.

Example partition layout for an Old World machine:

Partition Size Filesystem Description
/dev/sda1 32KiB None. Apple Partition Map (APM).
/dev/sda2 32MiB ext2 Quik Boot Partition (quik only).
/dev/sda3 512MiB swap Linux swap (type 0x82).
/dev/sda4 Rest of the disk. ext4, reiserfs, xfs, etc. Linux root.

Pegasos

The Pegasos partition layout is quite simple compared to the Apple layouts. The first partition is a boot partition, which contains kernels to be booted along with an Open Firmware script that presents a menu on boot. After the boot partition, the usual Linux filesystems are placed, according to the scheme below. The swap partition is a temporary storage place for when the system runs out of physical memory. The root partition will contain the filesystem that Gentoo is installed on.

Example partition layout for Pegasos systems:

Partition Size Filesystem Description
/dev/sda1 32MiB affs1 or ext2 Boot partition.
/dev/sda2 512MiB swap Linux swap (type 0x82).
/dev/sda3 Rest of the disk. ext4, reiserfs, xfs, etc. Linux root.

IBM PReP (RS/6000)

The IBM PowerPC Reference Platform (PReP) requires a small PReP boot partition on the disk's first partition, followed by the swap and root partitions.

Example partition layout for the IBM PReP:

Partition Size Filesystem Description
/dev/sda1 800KiB None PReP boot partition (type 0x41).
/dev/sda2 512MiB swap Linux swap (type 0x82).
/dev/sda3 Rest of the disk ext4, reiserfs, xfs, etc. Linux root (type 0x83).
Warning
parted is able to resize partitions including HFS+. Unfortunately there may be issues with resizing HFS+ journaled filesystems, so, for the best results, switch off journaling in Mac OS X before resizing. Remember that any resizing operation is dangerous, so attempt at own risk! Be sure to always have a backup of all data before resizing!

Using mac-fdisk (Apple)

At this point, create the partitions using mac-fdisk:

root #mac-fdisk /dev/sda

If Apple's Disk Utility was used prior to leave space for Linux, first delete the partitions that might have been created previously to make room for the new install. Use d in mac-fdisk to delete those partition(s). It will ask for the partition number to delete. Usually the first partition on NewWorld machines (Apple_partition_map) cannot be deleted. To start with a clean disk, simply initialize the disk by pressing i. This will completely erase the disk, so use this with caution.

Second, create an Apple_Bootstrap partition by using b. It will ask for what block to start. Enter the number of the first free partition, followed by a p. For instance this is 2p.

Note
This partition is not a /boot partition. It is not used by Linux at all; there is no need to place any filesystem on it and it should never be mounted. Apple users don't need an extra partition for /boot.

Now create a swap partition by pressing c. Again mac-fdisk will ask for what block to start this partition from. As we used 2 before to create the Apple_Bootstrap partition, now enter 3p. When sked for the size, enter 512M (or whatever size needed - a minimum of 512MiB is recommended, but 2 times the physical memory is the generally accepted size). When asked for a name, enter swap.

To create the root partition, enter c, followed by 4p to select from what block the root partition should start. When asked for the size, enter 4p again. mac-fdisk will interpret this as "Use all available space". When asked for the name, enter root.

To finish up, write the partition to the disk using w and q to quit mac-fdisk.

Note
To make sure everything is okay, run mac-fdisk -l and check whether all the partitions are there. If not all partitions created previously are shown, or the changes made are not reflected in the output, reinitialize the partitions by pressing i in mac-fdisk. Note that this will recreate the partition map and thus remove all existing partitions.

Using parted (Pegasos and RS/6000)

parted, the partition editor, can now handle HFS+ partitions used by Mac OS and Mac OS X. With this tool it is possible to resize the Mac partitions and create space for the Linux partitions. Nevertheless, the example below describes partitioning for Pegasos machines only.

To begin let's fire up parted:

root #parted /dev/sda

If the drive is unpartitioned, run mklabel amiga to create a new disklabel for the drive.

It is possible to type print at any time in parted to display the current partition table. To abort parted, press Ctrl+c.

If next to Linux, the system is also meant to have MorphOS installed, then create an affs1 filesystem at the start of the drive. 32MB should be more than enough to store the MorphOS kernel. With a Pegasos I, or when Linux will use any filesystem besides ext2 or ext3, then it is necessary to also store the Linux kernel on this partition (the Pegasos II can only boot from ext2/ext3 or affs1 partitions). To create the partition run mkpart primary affs1 START END where START and END should be replaced with the megabyte range (e.g. 0 32) which creates a 32 MB partition starting at 0MB and ending at 32MB. When creating an ext2 or ext3 partition instead, substitute ext2 or ext3 for affs1 in the mkpart command.

Create two partitions for Linux, one root filesystem and one swap partition. Run mkpart primary START END to create each partition, replacing START and END with the desired megabyte boundaries.

It is generally recommended to create a swap partition that is two times bigger than the amount of RAM in the computer, but at least 512MiB is recommended. To create the swap partition, run mkpart primary linux-swap START END with START and END again denoting the partition boundaries.

When done in parted simply type quit.


ファイルシステムを作成する

はじめに

パーティションが作成できたら、その上にファイルシステムを作成します。次の節ではLinuxがサポートする各種ファイルシステムを紹介します。どのファイルシステムを使うかをすでに決めているなら、パーティションにファイルシステムを適用するへ進みましょう。そうでなければ、次の節を読んで利用可能なファイルシステムについて知るのがよいでしょう。

ファイルシステム

利用可能なファイルシステムは複数あります。そのうちいくつかはアーキテクチャppc上で安定して動作するとされています--重要なパーティションに実験的なファイルシステムを選択するときは、事前にファイルシステムのサポート状況を十分に知っておくことを推奨します。

btrfs
スナップショット、チェックサムによる自己修復、透過的圧縮、サブボリューム、RAIDの統合など、多くの先進機能を提供する次世代のファイルシステムです。いくつかのディストリビューションはこれをすぐに使えるオプションとして提供し始めていますが、未だ製品に使える状態ではありません。ファイルシステムが壊れたという報告はよくあります。開発者はユーザーに、安全のため最新のカーネルバージョンを使うようしきりに促しています。古いカーネルには既知の問題があるからです。この状況は何年も続いており、事態が変わってきたと判断するには早すぎます。問題への修正が古いカーネルにバックポートされることは滅多にありません。このファイルシステムを使う際は十分注意を払うようにしてください。
ext2
試練を受けた本当のLinuxファイルシステムですが、メタデータジャーナリングがないため、起動時に行われる毎回のext2ファイルシステムチェックは時間のかかるものになります。今ではジャーナルの効く新世代の、整合性を非常に素早くチェックできるファイルシステムの選択肢が数多くありますから、一般的にはそちらのほうが、ジャーナルの効かない対抗馬より好まれます。ジャーナルの効くファイルシステムは、システム起動の際たまたまファイルシステムに不整合があった場合の長い遅延を防いでくれます。
ext3
ジャーナルが有効になった ext2 ファイルシステムであり、full data及びordered dataジャーナリングといった強力なジャーナリングモードに加え、高速な修復のためのメタデータジャーナリングをサポートします。HTreeインデックスによって、ほぼすべての状況で高いパフォーマンスが可能になります。簡単にいえば、ext3 はとても優れた信頼できるファイルシステムです。
ext4
もともと ext3 のフォークとして作られた ext4 は、新機能、パフォーマンスの向上と、ディスク上でのフォーマットの適度な変更による、サイズ制限の撤廃を提供します。ボリュームは1EBまで広げることができ、最大のファイルサイズは16TBです。古典的なext2/3のbitmap block割当ての代わりに、ext4 はextentを使い、大きなファイルでのパフォーマンスを向上し、断片化を減らしています。ext4は他にもより洗練されたアロケーションアルゴリズム(遅延割当てと複数ブロック割当て)を提供し、ファイルシステムドライバーに、ディスク上のデータのレイアウトを最適化するより多くの方法を与えています。ext4 は推奨される、全目的、全プラットフォームのファイルシステムです。
f2fs
Flash-Friendly File Systemはもともと、SamsungによってNANDフラッシュメモリで利用するために作られました。2016年Q2現在、このファイルシステムはまだ未熟なものと思われますが、GentooをmicroSDカードやUSBスティックや他のフラッシュベースの記憶装置にインストールする際にはすばらしい選択でしょう。
JFS
IBMの高パフォーマンスジャーナリングファイルシステムです。JFSは軽量、高速かつ信頼できる、B+木ベースのファイルシステムで、様々な条件で良いパフォーマンスが出ます。
ReiserFS
B+木ベースのジャーナルが有効なファイルシステムで、全体的に良いパフォーマンスが出ます。特に、大量の小さなファイルを扱う際は、CPUサイクルを多く消費するものの、高いパフォーマンスを得ることができます。ReiserFSは他のファイルシステムと比べるとあまり保守されていないように思われます。
XFS
メタデータジャーナリングのあるファイルシステムで、堅牢な機能セットを持ち、スケーラビリティに最適化されています。XFSはどうやら、様々なハードウェアの問題に対してはあまり寛大ではないようです。
vfat
別名FAT32。Linuxでサポートされていますが、いかなるパーミッションの設定もサポートされていません。ほとんど、他のOS(主にMicrosoft Windows)との相互運用性のために使われていますが、いくつかのシステムファームウェア(たとえばUEFI)でも必要になります。
NTFS
この "New Technology" ファイルシステムは、Microsoft Windowsのフラッグシップファイルシステムです。上記のvfatと同様、BSDやLinuxが正しく動作するために必要なパーミッション設定や拡張属性を保持しないため、ルートファイルシステムとして使うことはできません。Microsoft Windowsとの相互運用のためにのみ使うべきです(「のみ」の強調に注意してください)。

ext2、ext3、ext4を(8GB以下の)小さいパーティションに使用するときは、十分なinode数を確保できるように適切なオプションを指定してファイルシステムを作成する必要があります。mke2fs (mkfs.ext2)アプリケーションは、「inodeあたりのバイト数」を指定することで、ファイルシステムが持つべきinode数を計算することができます。もっと小さいパーティションでは、計算されたinode数よりも大きい値を設定するとよいでしょう。

ext2では、これは次のコマンドで実行できます:

root #mkfs.ext2 -T small /dev/<device>

上のコマンドは通常では、「inodeあたりのバイト数」を16kBから4kBに減らすので、ファイルシステムに4倍のinode数を確保できます。比率を指定することで、さらに細かく調節することもできます:

root #mkfs.ext2 -i <ratio> /dev/<device>

パーティションにファイルシステムを適用する

パーティションまたはボリュームの上にファイルシステムを作成するには、ファイルシステムごとに異なるユーザースペースのユーティリティが利用可能です。下表でファイルシステムの名前をクリックすると、それぞれに追加の情報が得られます:

ファイルシステム 作成コマンド Minimal CD にある? パッケージ
btrfs mkfs.btrfs はい sys-fs/btrfs-progs
ext2 mkfs.ext2 はい sys-fs/e2fsprogs
ext3 mkfs.ext3 はい sys-fs/e2fsprogs
ext4 mkfs.ext4 はい sys-fs/e2fsprogs
f2fs mkfs.f2fs はい sys-fs/f2fs-tools
jfs mkfs.jfs はい sys-fs/jfsutils
reiserfs mkfs.reiserfs はい sys-fs/reiserfsprogs
xfs mkfs.xfs はい sys-fs/xfsprogs
vfat mkfs.vfat はい sys-fs/dosfstools
NTFS mkfs.ntfs はい sys-fs/ntfs3g

例えば、パーティション構造例の通りに、ブートパーティション(/dev/sda1)をext2に、ルートパーティション(/dev/sda3)をext4に設定するには、次のコマンドが使えます:

root #mkfs.ext2 /dev/sda1
root #mkfs.ext4 /dev/sda3

それでは、新しく作成したパーティション(または論理ボリューム)にファイルシステムを作成しましょう。

スワップパーティションを有効にする

mkswapはスワップパーティションを初期化するために使われるコマンドです:

root #mkswap /dev/sda2

スワップパーティションを有効化するには、swaponを使います:

root #swapon /dev/sda2

上述のコマンドで、スワップを作成して有効化しましょう。

マウント

パーティションが初期化され、ファイルシステムを格納したので、それらのパーティションをマウントする時です。 mount コマンドを使用しますが、作成されたすべてのパーティションに必要なマウントディレクトリを作成することを忘れないでください。例として、 root と boot パーティションをマウントします。

root #mount /dev/sda3 /mnt/gentoo
root #mkdir /mnt/gentoo/boot
root #mount /dev/sda1 /mnt/gentoo/boot
Note
もし/tmp/を別のパーティションに置く必要があるなら、マウントしたあと権限の変更を忘れずに行ってください:
root #chmod 1777 /mnt/gentoo/tmp
/var/tmpについても同様です。

このあと解説の中で、proc ファイルシステム(仮想的なカーネルとのインターフェース)が、他のカーネル擬似ファイルシステムと同様にマウントされますが、まず最初は、Gentooインストールファイルをインストールします。