コンテンツにスキップ

Netboot

提供: ArchWiki

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 バイナリに署名した場合でも、ミラーからダウンロードされたカーネルは署名されません。