Skip to content
forked from omniti-labs/kayak

Kayak (PXE-enabled network imaging of OmniOS)

Notifications You must be signed in to change notification settings

omniosorg/kayak

This branch is 529 commits ahead of omniti-labs/kayak:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

b79fb2f · Mar 18, 2025
Jun 21, 2020
Jan 2, 2025
Feb 7, 2025
Dec 13, 2024
Sep 28, 2023
Sep 13, 2019
May 31, 2023
Jan 2, 2025
Jul 8, 2024
Apr 4, 2017
Aug 12, 2021
Jan 2, 2025
Mar 10, 2025
Jul 11, 2024
Jan 11, 2025
May 13, 2019

Repository files navigation

Using Kayak

Building

  • Set PKGURL to be the source of the OmniOS bits we wish to install with kayak, in case it's not the default "omnios" publisher for whatever release branch you have checked out.

  • zfs create rpool/kayak_image

  • gmake [PREBUILT_ILLUMOS=<path>] BUILDSEND=rpool/kayak_image <target>

BUILDSEND must be specified.

PREBUILT_ILLUMOS should point to an already-built illumos-omnios of the version you wish to construct an installer. It is optional, but the build will warn you if you do not specify it. The build uses svccfg-native if possible to manipulate SMF on target images without conversing with the host machine's SMF services.

<target> must be specified.

install-web: Builds the <VERSION>.zfs.xz file, which is what Kayak uses for any install it does. Independent target.

install-tftp: Builds the miniroot.gz file, which is what PXE Kayak feeds to GRUB or Loader to boot itself on a PXE boot. Independent target.

install-iso: Builds both install-{web,tftp} and then proceeds to construct <VERSION>.iso using components from both.

install-usb: Builds install-iso, and then proceed to construct <VERSION>.usb-dd based on the ISO image.

Operation

DHCP server:

  • your server should be set to PXE boot
  • the DHCP server must return and IP, a nextserver and a bootfile
  • the boot file should be the file /boot/grub/pxegrub or /boot/pxeboot from an existing OmniOS system

TFTP server:

  • menu.lst.01<macaddr_just_hex_caps> based on the template provided in this directory should be placed in /tftpboot/ if using grub, or put loader.conf.local in /tftpboot/boot
  • /boot/grub/pxegrub or /boot/pxeboot should be placed in /tftpboot/
  • /platform/i86pc/kernel/amd64/unix should be placed in /tftpboot/omnios/kayak/
  • the miniroot.gz file should be placed in /tftpboot/omnios/kayak/

HTTP server:

  • The system install images should be placed an accessible URL
  • The target system kayak config should be placed at a URL path with the filename <macaddr_just_hex_caps>

About

Kayak (PXE-enabled network imaging of OmniOS)

Topics

Resources

Stars

Watchers

Forks

Languages

  • Shell 58.6%
  • C 32.1%
  • Python 3.6%
  • Makefile 3.0%
  • CSS 1.6%
  • Clojure 0.6%
  • DTrace 0.5%