diff options
author | Luca Boccassi <bluca@debian.org> | 2018-03-16 19:30:50 +0000 |
---|---|---|
committer | Luca Boccassi <bluca@debian.org> | 2018-03-22 16:14:01 +0000 |
commit | 46c95969265fff53173a06419db46133c12f42ae (patch) | |
tree | c4407ab3e6f996e2f7f6d37bbb1a7d217fa3bc1f /functions | |
parent | 8047c2425ac8ca8c89586b76dcce4a4fbe66f303 (diff) | |
download | vyos-live-build-46c95969265fff53173a06419db46133c12f42ae.tar.gz vyos-live-build-46c95969265fff53173a06419db46133c12f42ae.zip |
Add options to build ONIE images
Open Network Install Environment is an open image format used by
networking vendor to ship a standardised image for networking white
box switches.
ONIE hardware takes this image at boot and a script to chain load
into the final environment via kexec. We can support Debian and
derivatives on such systems by packing an ISO which then gets
unpacked, kexec'ed and live-booted.
A base ONIE system can be tested in QEMU by building a VM following
these instrunctions:
https://github.com/opencomputeproject/onie/blob/master/machine/kvm_x86_64/INSTALL
Once built, boot onie-recovery-x86_64-kvm_x86_64-r0.iso in QEMU/libvirt
and on the console there will be the terminal prompt. Check the IP
assigned by libvirt and then scp the live image (ssh access is enabled
as root without password...). Then the .bin can be booted with:
ONIE-RECOVERY:/ # onie-nos-install /tmp/live.hybrid.iso-ONIE.bin
The implementation is inspired by ONIE's own scripts that can be found
at:
https://github.com/opencomputeproject/onie/blob/master/contrib/debian-iso/cook-bits.sh
A new option, --onie (false by default) can be set to true to enable
building this new format in addition to an ISO.
An additional option, --onie-kernel-cmdline can be used to specify
additional options that the ONIE system should use when kexec'ing the
final image.
Note that only iso or hybrid-iso formats are supported.
For more information about the ONIE ecosystem see:
http://onie.org
Signed-off-by: Erik Ziegenbalg <eziegenb@Brocade.com>
Signed-off-by: Luca Boccassi <bluca@debian.org>
Diffstat (limited to 'functions')
-rwxr-xr-x | functions/defaults.sh | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/functions/defaults.sh b/functions/defaults.sh index 2ba7d475f..891ede0ee 100755 --- a/functions/defaults.sh +++ b/functions/defaults.sh @@ -763,6 +763,12 @@ Set_defaults () # Setting net tarball LB_NET_TARBALL="${LB_NET_TARBALL:-true}" + # Setting onie + LB_ONIE="${LB_ONIE:-false}" + + # Setting onie additional kernel cmdline options + LB_ONIE_KERNEL_CMDLINE="${LB_ONIE_KERNEL_CMDLINE:-}" + # Setting firmware option LB_FIRMWARE_CHROOT="${LB_FIRMWARE_CHROOT:-true}" LB_FIRMWARE_BINARY="${LB_FIRMWARE_BINARY:-true}" |