Netboot

提供: ArchWiki
2020年10月4日 (日) 06:58時点におけるHiromi-mi (トーク | 投稿記録)による版 (en:Netboot の版 631939 に同期)
ナビゲーションに移動 検索に移動

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"