live-build/functions
Luca Boccassi 46c9596926 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>
2018-03-22 16:14:01 +00:00
..
aliases.sh Don't truncate files outside the build chroot. 2015-04-26 20:20:24 +02:00
architectures.sh Updating year in copyright notices to 2015. 2015-01-04 20:05:44 +01:00
arguments.sh Updating year in copyright notices to 2015. 2015-01-04 20:05:44 +01:00
bootloaders.sh Fix permission on functions/bootloaders.sh 2016-11-28 23:15:38 +01:00
breakpoints.sh Updating year in copyright notices to 2015. 2015-01-04 20:05:44 +01:00
cache.sh Updating stat calls to also give the right result in container setups, thanks to Kristian Klausen <klausenbusk@hotmail.com> (Closes: #789300). 2015-08-10 21:45:00 +02:00
chroot.sh Export SOURCE_DATE_EPOCH when running chroot commands 2016-11-28 20:58:19 +01:00
chroot_bind_path.sh Making functions/chroot_bind_path.sh executable within the source tree (Closes: #777096). 2015-02-07 06:46:45 +01:00
color.sh Updating year in copyright notices to 2015. 2015-01-04 20:05:44 +01:00
common.sh Updating year in copyright notices to 2015. 2015-01-04 20:05:44 +01:00
conffile.sh Updating year in copyright notices to 2015. 2015-01-04 20:05:44 +01:00
configuration.sh Updating year in copyright notices to 2015. 2015-01-04 20:05:44 +01:00
cursor.sh Updating year in copyright notices to 2015. 2015-01-04 20:05:44 +01:00
defaults.sh Add options to build ONIE images 2018-03-22 16:14:01 +00:00
echo.sh Updating year in copyright notices to 2015. 2015-01-04 20:05:44 +01:00
exit.sh Updating year in copyright notices to 2015. 2015-01-04 20:05:44 +01:00
help.sh Drop all references to live-systems.org and update copyright file 2017-08-29 14:12:33 +02:00
lockfile.sh Updating year in copyright notices to 2015. 2015-01-04 20:05:44 +01:00
losetup.sh Pass --partscan to losetup 2017-09-01 10:07:00 +02:00
man.sh Updating year in copyright notices to 2015. 2015-01-04 20:05:44 +01:00
packagelists.sh Fix behaviour of (undocumented) "#nif" conditional test 2016-11-28 20:58:19 +01:00
packages.sh Error out when needed packages are missing on the host 2017-09-01 10:22:02 +02:00
stagefile.sh Updating year in copyright notices to 2015. 2015-01-04 20:05:44 +01:00
usage.sh Updating year in copyright notices to 2015. 2015-01-04 20:05:44 +01:00
wrapper.sh Updating year in copyright notices to 2015. 2015-01-04 20:05:44 +01:00