「Netboot」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(→‎ipxe.pxe を使う: 英語版と同期)
(→‎UEFI: USB フラッシュドライブから起動するを翻訳して追加)
 
(2人の利用者による、間の4版が非表示)
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 を使う ===
43行目: 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 バイナリに署名した場合でも、ミラーからダウンロードされたカーネルは署名されません。