Netboot
Netboot イメージはシステムの起動と同時に Arch Linux の最新リリースをダウンロードすることができる小さなイメージです (1MB 未満)。自動的に最新リリースが利用できるようになるため、Netboot イメージを更新する必要はありません。Netboot イメージは Arch Linux ウェブサイト からダウンロードすることができます。
BIOS
BIOS ベースのコンピュータで Netboot を使うには、ipxe.lkrn
または ipxe.pxe
イメージが必要です。
ipxe.lkrn を使う
ipxe.lkrn
イメージは Linux カーネルのように起動できます。(GRUB や Syslinux など) Linux のブートローダーを使ってハードドライブや CD もしくは USB ドライブからロードすることが可能です。
Syslinux の ipxe.lkrn
を起動できる USB ドライブを作成するには次のようにします:
- lsblk を使って当該トライブを探します。ここでは
/dev/sdc
にあるものとします。 - デバイスに MBR パーティションテーブルを作成します。
- FAT32 でフォーマットされたプライマリパーティションを作成し、アクティブに設定します。
- パーティションをマウントして
boot/syslinux
ディレクトリを作成します。ipxe.lkrn
をboot
にコピーします。
# 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.c32
を pxelinux.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"