コンテンツにスキップ

「Netboot」の版間の差分

提供: ArchWiki
削除された内容 追加された内容
同期
Kgx (トーク | 投稿記録)
UEFI: USB フラッシュドライブから起動するを翻訳して追加
 
(2人の利用者による、間の5版が非表示)
1行目: 1行目:
[[Category:Arch の入手とインストール]]
[[Category:Arch の入手とインストール]]
[[Category:Arch プロジェクト]]
[[en:Netboot]]
[[en:Netboot]]
[[lt:Netboot]]
Netboot イメージはシステムの起動と同時に Arch Linux の最新リリースをダウンロードすることができる小さなイメージです (1MB 未満)。自動的に最新リリースが利用できるようになるため、Netboot イメージを更新する必要はありません。Netboot イメージは [https://www.archlinux.org/releng/netboot/ Arch Linux ウェブサイト] からダウンロードすることができます。
Netboot イメージはシステムの起動と同時に Arch Linux の最新リリースをダウンロードすることができる小さなイメージです (1MB 未満)。自動的に最新リリースが利用できるようになるため、Netboot イメージを更新する必要はありません。Netboot イメージは [https://www.archlinux.org/releng/netboot/ Arch Linux ウェブサイト] からダウンロードすることができます。

{{Note|ライブシステムを格納し実行するため、1.5GiB 以上 (おそらく) の十分なメモリが必要です。メモリが不足していると起動時カーネルパニックに陥るかもしれません。}}


== BIOS ==
== BIOS ==
11行目: 15行目:
{{ic|ipxe.lkrn}} イメージは Linux カーネルのように起動できます。([[GRUB]] や [[Syslinux]] など) Linux の[[ブートローダー]]を使ってハードドライブや CD もしくは USB ドライブからロードすることが可能です。
{{ic|ipxe.lkrn}} イメージは Linux カーネルのように起動できます。([[GRUB]] や [[Syslinux]] など) Linux の[[ブートローダー]]を使ってハードドライブや CD もしくは USB ドライブからロードすることが可能です。


[[Syslinux]] の {{ic|ipxe.lkrn}} を起動できる USB ドライブを作成するには次のようにします:
以下のコマンドを実行することで [[QEMU]] でイメージを試すことができます:


* [[lsblk]] を使って当該トライブを探します。ここでは {{ic|/dev/sdc}} にあるものとします。
$ qemu-system-x86_64 -enable-kvm -m 1G -kernel ipxe.lkrn
* デバイスに [[Master Boot Record|MBR パーティションテーブル]]を作成します。
* [[FAT32]] でフォーマットされたプライマリパーティションを作成し、アクティブに設定します。
* パーティションを[[マウント]]して {{ic|boot/syslinux}} ディレクトリを作成します。{{ic|ipxe.lkrn}} を {{ic|boot}} にコピーします。

# mount /dev/sdc /mnt
# mkdir -p /mnt/boot/syslinux
# cp ipxe.lkrn /mnt/boot

* Syslinux の設定を作成します。

{{hc|/mnt/boot/syslinux/syslinux.cfg|2=
DEFAULT arch_netboot
SAY Booting Arch over the network.
LABEL arch_netboot
KERNEL /boot/ipxe.lkrn
}}

* パーティションをアンマウントします。

# umount /mnt

* 最後に、Syslinux MBR と Syslinux 本体をドライブにインストールします。

# dd bs=440 count=1 conv=notrunc if=/usr/lib/syslinux/bios/mbr.bin of=/dev/sdc
# syslinux --directory /boot/syslinux/ --install /dev/sdc1

あるいは、以下のコマンドを実行することで [[QEMU]] でイメージを試すことができます:

$ qemu-system-x86_64 -enable-kvm -m 2G -kernel ipxe.lkrn


=== ipxe.pxe を使う ===
=== ipxe.pxe を使う ===


{{ic|ipxe.pxe}} イメージは [[PXE]] イメージです。既存の PXE 環境からチェインロードすることができます。DHCP サーバーを設定することができネットワークから起動したときに常に Arch Linux の Netboot を起動することができます。
{{ic|ipxe.pxe}} イメージは [[PXE]] イメージです。既存の PXE 環境からチェインロードすることができます。DHCP サーバーを設定することができネットワークから起動したときに常に Arch Linux の Netboot を起動することができます。

それとは別に、[[Syslinux#pxelinux|Pxelinux]] のような既存のPXE ローダーからもチェインロードできます。エントリの例:

LABEL arch_netboot_chain
COM32 pxechn.c32
APPEND ipxe.a56af4e6a9a9.pxe

この例を動作させるには、{{ic|pxechn.c32}} を {{ic|pxelinux.0}} のあるディレクトリへコピーする必要があります。


== UEFI ==
== UEFI ==
35行目: 76行目:


# efibootmgr --create --disk /dev/sda --part 1 --loader /EFI/arch_netboot/arch_netboot.efi --label "Arch Linux Netboot"
# efibootmgr --create --disk /dev/sda --part 1 --loader /EFI/arch_netboot/arch_netboot.efi --label "Arch Linux Netboot"

=== USB フラッシュドライブから起動する ===

USB フラッシュドライブから Netboot EFI バイナリをブートする場合は、[[FAT]] でフォーマットされたパーティション上のデフォルト/フォールバックブートパス ({{ic|/EFI/BOOT/BOOTx64.EFI}}) にコピーします。その後、イメージは UEFI システムによって自動的にロードされます。

たとえば、フラッシュドライブとして {{ic|/dev/sd''X''}} を想定し、次のように USB フラッシュドライブを準備します:

# まず、{{ic|/dev/sd''X''}} に[[パーティションテーブル]]を作成し、デバイス上に[[パーティション]] ({{ic|/dev/sd''Xn''}}) を作成します。{{Tip|最も互換性のあるセットアップは、タイプ {{ic|0c}} "w95 fat32 (lba)" の単一のアクティブ (ブート可能な) プライマリパーティションを持つ MBR パーティション テーブルを使用することです。[https://lists.gnu.org/archive/html/grub-devel/2019-05/msg00063.html]}}
# パーティションを [[FAT32]] にフォーマットします: {{bc|# mkfs.fat -F 32 /dev/sd''Xn''}}
# ファイルシステムを[[マウント]]する: マウントする: {{bc|# mount /dev/sd''Xn'' /mnt}}
# マウントしたファイルシステムに {{ic|/EFI/BOOT}} ディレクトリを作成する: {{bc|# mkdir /mnt/EFI /mnt/EFI/BOOT}}
# x64 UEFI のデフォルトブートパスに {{ic|pxe-arch.efi}} をコピーします: {{bc|# cp pxe-arch.efi /mnt/EFI/BOOT/BOOTx64.EFI}}
# ファイルシステムを[[ファイルシステム#ファイルシステムのアンマウント|アンマウント]]します。

{{Note|起動するには[[Unified Extensible Firmware Interface/セキュアブート#セキュアブートを無効化する|セキュアブートを無効にする]]必要があります。カスタムキーを使用して Netboot EFI バイナリに署名した場合でも、ミラーからダウンロードされたカーネルは署名されません。}}

2024年1月8日 (月) 05:09時点における最新版

Netboot イメージはシステムの起動と同時に Arch Linux の最新リリースをダウンロードすることができる小さなイメージです (1MB 未満)。自動的に最新リリースが利用できるようになるため、Netboot イメージを更新する必要はありません。Netboot イメージは Arch Linux ウェブサイト からダウンロードすることができます。

ノート ライブシステムを格納し実行するため、1.5GiB 以上 (おそらく) の十分なメモリが必要です。メモリが不足していると起動時カーネルパニックに陥るかもしれません。

BIOS

BIOS ベースのコンピュータで Netboot を使うには、ipxe.lkrn または ipxe.pxe イメージが必要です。

ipxe.lkrn を使う

ipxe.lkrn イメージは Linux カーネルのように起動できます。(GRUBSyslinux など) Linux のブートローダーを使ってハードドライブや CD もしくは USB ドライブからロードすることが可能です。

Syslinuxipxe.lkrn を起動できる USB ドライブを作成するには次のようにします:

  • lsblk を使って当該トライブを探します。ここでは /dev/sdc にあるものとします。
  • デバイスに MBR パーティションテーブルを作成します。
  • FAT32 でフォーマットされたプライマリパーティションを作成し、アクティブに設定します。
  • パーティションをマウントして boot/syslinux ディレクトリを作成します。ipxe.lkrnboot にコピーします。
# mount /dev/sdc /mnt
# mkdir -p /mnt/boot/syslinux
# cp ipxe.lkrn /mnt/boot
  • Syslinux の設定を作成します。
/mnt/boot/syslinux/syslinux.cfg
DEFAULT arch_netboot
   SAY Booting Arch over the network.
LABEL arch_netboot
   KERNEL /boot/ipxe.lkrn
  • パーティションをアンマウントします。
# umount /mnt
  • 最後に、Syslinux MBR と Syslinux 本体をドライブにインストールします。
# dd bs=440 count=1 conv=notrunc if=/usr/lib/syslinux/bios/mbr.bin of=/dev/sdc
# syslinux --directory /boot/syslinux/ --install /dev/sdc1

あるいは、以下のコマンドを実行することで QEMU でイメージを試すことができます:

$ qemu-system-x86_64 -enable-kvm -m 2G -kernel ipxe.lkrn

ipxe.pxe を使う

ipxe.pxe イメージは PXE イメージです。既存の PXE 環境からチェインロードすることができます。DHCP サーバーを設定することができネットワークから起動したときに常に Arch Linux の Netboot を起動することができます。

それとは別に、Pxelinux のような既存のPXE ローダーからもチェインロードできます。エントリの例:

LABEL arch_netboot_chain
    COM32 pxechn.c32
    APPEND ipxe.a56af4e6a9a9.pxe

この例を動作させるには、pxechn.c32pxelinux.0 のあるディレクトリへコピーする必要があります。

UEFI

ipxe.efi イメージを使うことで UEFI モードで Arch Linux の Netboot を起動できます。64ビット UEFI だけがサポートされています。ipxe.efi イメージは efibootmgr を使ってブートオプションに追加したり、systemd-boot などのブートマネージャからチェインロードしたり、UEFI シェルから直接起動できます。

efibootmgr でインストール

まず efibootmgr パッケージをインストールしてから UEFI netboot イメージ をダウンロードしてください。

EFI System Partition (ESP) を /boot/efi にマウントしている場合、以下のようにして移動してください:

# mkdir /boot/efi/EFI/arch_netboot
# mv ipxe.*.efi /boot/efi/EFI/arch_netboot/arch_netboot.efi

以下のようにブートエントリを作成することができます:

# efibootmgr --create --disk /dev/sda --part 1 --loader /EFI/arch_netboot/arch_netboot.efi --label "Arch Linux Netboot"

USB フラッシュドライブから起動する

USB フラッシュドライブから Netboot EFI バイナリをブートする場合は、FAT でフォーマットされたパーティション上のデフォルト/フォールバックブートパス (/EFI/BOOT/BOOTx64.EFI) にコピーします。その後、イメージは UEFI システムによって自動的にロードされます。

たとえば、フラッシュドライブとして /dev/sdX を想定し、次のように USB フラッシュドライブを準備します:

  1. まず、/dev/sdXパーティションテーブルを作成し、デバイス上にパーティション (/dev/sdXn) を作成します。
    ヒント 最も互換性のあるセットアップは、タイプ 0c "w95 fat32 (lba)" の単一のアクティブ (ブート可能な) プライマリパーティションを持つ MBR パーティション テーブルを使用することです。[1]
  2. パーティションを FAT32 にフォーマットします:
    # mkfs.fat -F 32 /dev/sdXn
  3. ファイルシステムをマウントする: マウントする:
    # mount /dev/sdXn /mnt
  4. マウントしたファイルシステムに /EFI/BOOT ディレクトリを作成する:
    # mkdir /mnt/EFI /mnt/EFI/BOOT
  5. x64 UEFI のデフォルトブートパスに pxe-arch.efi をコピーします:
    # cp pxe-arch.efi /mnt/EFI/BOOT/BOOTx64.EFI
  6. ファイルシステムをアンマウントします。
ノート 起動するにはセキュアブートを無効にする必要があります。カスタムキーを使用して Netboot EFI バイナリに署名した場合でも、ミラーからダウンロードされたカーネルは署名されません。