diff options
-rw-r--r-- | Dockerfile | 11 | ||||
-rw-r--r-- | Makefile | 13 | ||||
-rw-r--r-- | data/live-build-config/bootloaders/grub-pc/dejavu-bold-14.pf2 | bin | 0 -> 191158 bytes | |||
-rw-r--r-- | data/live-build-config/bootloaders/grub-pc/dejavu-bold-16.pf2 | bin | 0 -> 212142 bytes | |||
-rw-r--r-- | data/live-build-config/bootloaders/grub-pc/grub.cfg | 59 | ||||
-rw-r--r-- | data/live-build-config/bootloaders/grub-pc/live-theme/theme.txt | 51 | ||||
-rw-r--r-- | data/live-build-config/bootloaders/grub-pc/splash.png | bin | 0 -> 19557 bytes | |||
-rwxr-xr-x | data/live-build-config/hooks/live/00-manifest.binary (renamed from data/live-build-config/hooks/00-manifest.binary) | 0 | ||||
-rwxr-xr-x | data/live-build-config/hooks/live/00-mk_buildid.chroot (renamed from data/live-build-config/hooks/00-mk_buildid.chroot) | 0 | ||||
-rwxr-xr-x | data/live-build-config/hooks/live/01-interfaces.chroot (renamed from data/live-build-config/hooks/01-interfaces.chroot) | 0 | ||||
-rwxr-xr-x | data/live-build-config/hooks/live/02-issue.chroot (renamed from data/live-build-config/hooks/02-issue.chroot) | 0 | ||||
-rwxr-xr-x | data/live-build-config/hooks/live/03-root_bash_completion.chroot (renamed from data/live-build-config/hooks/03-root_bash_completion.chroot) | 0 | ||||
-rwxr-xr-x | data/live-build-config/hooks/live/04-locale.chroot (renamed from data/live-build-config/hooks/04-locale.chroot) | 0 | ||||
-rwxr-xr-x | data/live-build-config/hooks/live/05-event_tty.chroot (renamed from data/live-build-config/hooks/05-event_tty.chroot) | 0 | ||||
-rwxr-xr-x | data/live-build-config/hooks/live/07-apt.chroot (renamed from data/live-build-config/hooks/07-apt.chroot) | 0 | ||||
-rwxr-xr-x | data/live-build-config/hooks/live/08-sysconf.chroot (renamed from data/live-build-config/hooks/08-sysconf.chroot) | 0 | ||||
-rwxr-xr-x | data/live-build-config/hooks/live/09-live.chroot (renamed from data/live-build-config/hooks/09-live.chroot) | 0 | ||||
-rwxr-xr-x | data/live-build-config/hooks/live/10-unmountfs.chroot (renamed from data/live-build-config/hooks/10-unmountfs.chroot) | 0 | ||||
-rwxr-xr-x | data/live-build-config/hooks/live/11-busybox.chroot (renamed from data/live-build-config/hooks/11-busybox.chroot) | 0 | ||||
-rwxr-xr-x | data/live-build-config/hooks/live/12-udev-initramfs.chroot (renamed from data/live-build-config/hooks/12-udev-initramfs.chroot) | 0 | ||||
-rwxr-xr-x | data/live-build-config/hooks/live/13-vyos_replace.chroot (renamed from data/live-build-config/hooks/13-vyos_replace.chroot) | 0 | ||||
-rwxr-xr-x | data/live-build-config/hooks/live/14-firmware-linux-nonfree.chroot (renamed from data/live-build-config/hooks/14-firmware-linux-nonfree.chroot) | 0 | ||||
-rwxr-xr-x | data/live-build-config/hooks/live/15-sources_list.chroot (renamed from data/live-build-config/hooks/15-sources_list.chroot) | 0 | ||||
-rwxr-xr-x | data/live-build-config/hooks/live/16-fuse.chroot (renamed from data/live-build-config/hooks/16-fuse.chroot) | 0 | ||||
-rwxr-xr-x | data/live-build-config/hooks/live/17-gen_initramfs.chroot (renamed from data/live-build-config/hooks/17-gen_initramfs.chroot) | 0 | ||||
-rwxr-xr-x | data/live-build-config/hooks/live/18-enable-disable_services.chroot (renamed from data/live-build-config/hooks/18-enable-disable_services.chroot) | 0 | ||||
-rwxr-xr-x | data/live-build-config/hooks/live/19-kernel_symlinks.chroot (renamed from data/live-build-config/hooks/19-kernel_symlinks.chroot) | 0 | ||||
-rwxr-xr-x | data/live-build-config/hooks/live/20-rm_ddclient_hook.chroot (renamed from data/live-build-config/hooks/20-rm_ddclient_hook.chroot) | 0 | ||||
-rwxr-xr-x | data/live-build-config/hooks/live/21-pam_mkhomedir.chroot (renamed from data/live-build-config/hooks/21-pam_mkhomedir.chroot) | 0 | ||||
-rwxr-xr-x | data/live-build-config/hooks/live/24-efi_packages.chroot | 8 | ||||
-rwxr-xr-x | data/live-build-config/hooks/live/30-frr-configs.chroot (renamed from data/live-build-config/hooks/30-frr-configs.chroot) | 0 | ||||
-rwxr-xr-x | data/live-build-config/hooks/live/30-strongswan-configs.chroot (renamed from data/live-build-config/hooks/30-strongswan-configs.chroot) | 0 | ||||
-rwxr-xr-x | data/live-build-config/hooks/live/99-cleanup-packages.chroot (renamed from data/live-build-config/hooks/99-cleanup-packages.chroot) | 0 | ||||
-rw-r--r-- | data/live-build-config/includes.binary/isolinux/splash.png | bin | 234763 -> 10061 bytes | |||
-rwxr-xr-x | data/live-build-config/includes.chroot/etc/init.d/isc-dhcpv6-relay | 50 | ||||
-rwxr-xr-x | scripts/build-oracle-image | 154 | ||||
-rwxr-xr-x | scripts/live-build-config | 2 | ||||
-rw-r--r-- | tools/cloud-init/OCI/90_dpkg.cfg | 2 | ||||
-rw-r--r-- | tools/cloud-init/OCI/config.boot.default | 30 |
39 files changed, 326 insertions, 54 deletions
@@ -39,8 +39,15 @@ RUN echo 'deb http://ftp.debian.org/debian jessie-backports main' | tee -a /etc/ python3-lxml \ python3-setuptools \ python3-nose \ - python3-coverage \ - && rm -rf /var/lib/apt/lists/* + python3-coverage + +# Update live-build +RUN echo 'deb http://ftp.debian.org/debian stretch main' | tee -a /etc/apt/sources.list.d/stretch.list &&\ + apt-get update &&\ + apt-get install -y -t stretch live-build &&\ + rm -f /etc/apt/sources.list.d/stretch.list &&\ + apt-get update &&\ + rm -rf /var/lib/apt/lists/* #install packer RUN export LATEST="$(curl -s https://checkpoint-api.hashicorp.com/v1/check/packer | \ @@ -82,7 +82,7 @@ clearfog: clean prepare azure: clean prepare @set -e @echo "It's not like I'm building this specially for you or anything!" - cp tools/cloud-init/azure/99-walinuxagent.chroot build/config/hooks/ + cp tools/cloud-init/azure/99-walinuxagent.chroot build/config/hooks/live/ cp tools/cloud-init/azure/vyos-azure.list.chroot build/config/package-lists/ cp -f tools/cloud-init/azure/config.boot.default build/config/includes.chroot/opt/vyatta/etc/ cd $(build_dir) @@ -114,6 +114,16 @@ AWS: clean prepare cd .. @scripts/copy-image +.PHONY: oracle +.ONESHELL: +oracle: clean prepare + @set -e + @echo "It's not like I'm building this specially for you or anything!" + mkdir -p build/config/includes.chroot/etc/cloud/cloud.cfg.d + cp tools/cloud-init/OCI/90_dpkg.cfg build/config/includes.chroot/etc/cloud/cloud.cfg.d/ + cd $(build_dir) + @../scripts/build-oracle-image + .PHONY: clean .ONESHELL: clean: @@ -129,6 +139,7 @@ clean: rm -f *.vhd rm -f *.raw rm -f *.tar.gz + rm -f *.qcow2 .PHONY: purge purge: diff --git a/data/live-build-config/bootloaders/grub-pc/dejavu-bold-14.pf2 b/data/live-build-config/bootloaders/grub-pc/dejavu-bold-14.pf2 Binary files differnew file mode 100644 index 00000000..9b093b20 --- /dev/null +++ b/data/live-build-config/bootloaders/grub-pc/dejavu-bold-14.pf2 diff --git a/data/live-build-config/bootloaders/grub-pc/dejavu-bold-16.pf2 b/data/live-build-config/bootloaders/grub-pc/dejavu-bold-16.pf2 Binary files differnew file mode 100644 index 00000000..11e7f7ab --- /dev/null +++ b/data/live-build-config/bootloaders/grub-pc/dejavu-bold-16.pf2 diff --git a/data/live-build-config/bootloaders/grub-pc/grub.cfg b/data/live-build-config/bootloaders/grub-pc/grub.cfg new file mode 100644 index 00000000..edf2a823 --- /dev/null +++ b/data/live-build-config/bootloaders/grub-pc/grub.cfg @@ -0,0 +1,59 @@ +set default=0 +set timeout=10 + +loadfont $prefix/dejavu-bold-16.pf2 +loadfont $prefix/dejavu-bold-14.pf2 +loadfont $prefix/unicode.pf2 +set gfxmode=auto +insmod all_video +insmod gfxterm +insmod png + +set color_normal=light-gray/black +set color_highlight=white/black + +if [ -e /isolinux/splash.png ]; then + # binary_syslinux modifies the theme file to point to the correct + # background picture + set theme=/boot/grub/live-theme/theme.txt +elif [ -e /boot/grub/splash.png ]; then + set theme=/boot/grub/live-theme/theme.txt +else + set menu_color_normal=cyan/blue + set menu_color_highlight=white/blue +fi + +terminal_output gfxterm + +insmod play +play 960 440 1 0 4 440 1 + +# Live boot +LINUX_LIVE + +# You can add more entries like this +# menuentry "Alternate live boot" { +# linux KERNEL_LIVE APPEND_LIVE custom options here +# initrd INITRD_LIVE +# } +# menuentry "Alternate graphical installer" { +# linux KERNEL_GI APPEND_GI custom options here +# initrd INITRD_GI +# } +# menuentry "Alternate textual installer" { +# linux KERNEL_DI APPEND_DI custom options here +# initrd INITRD_DI +# } + +# Installer (if any) +LINUX_INSTALL + +submenu 'Advanced options...' { + +# More installer entries (if any) +LINUX_ADVANCED_INSTALL + +# Memtest (if any) +MEMTEST + +} diff --git a/data/live-build-config/bootloaders/grub-pc/live-theme/theme.txt b/data/live-build-config/bootloaders/grub-pc/live-theme/theme.txt new file mode 100644 index 00000000..4ceef4b2 --- /dev/null +++ b/data/live-build-config/bootloaders/grub-pc/live-theme/theme.txt @@ -0,0 +1,51 @@ +desktop-image: "../splash.png" +title-color: "#ffffff" +title-font: "DejaVu Sans Bold 16" +title-text: "Live Boot Menu with GRUB" +message-font: "Unifont Regular 16" +terminal-font: "Unifont Regular 16" + +#help bar at the bottom ++ label { + top = 100%-50 + left = 0 + width = 100% + height = 20 + text = "@KEYMAP_SHORT@" + align = "center" + color = "#ffffff" + font = "DejaVu Sans Bold 14" +} + +#boot menu ++ boot_menu { + left = 10% + width = 80% + top = 52% + height = 48%-80 + item_color = "#a8a8a8" + item_font = "DejaVu Sans Bold 14" + selected_item_color= "#ffffff" + selected_item_font = "DejaVu Sans Bold 14" + item_height = 16 + item_padding = 0 + item_spacing = 4 + icon_width = 0 + icon_heigh = 0 + item_icon_space = 0 +} + +#progress bar ++ progress_bar { + id = "__timeout__" + left = 15% + top = 100%-80 + height = 16 + width = 70% + font = "DejaVu Sans Regular 14" + text_color = "#000000" + fg_color = "#ffffff" + bg_color = "#a8a8a8" + border_color = "#ffffff" + text = "@TIMEOUT_NOTIFICATION_LONG@" +} diff --git a/data/live-build-config/bootloaders/grub-pc/splash.png b/data/live-build-config/bootloaders/grub-pc/splash.png Binary files differnew file mode 100644 index 00000000..96e538a4 --- /dev/null +++ b/data/live-build-config/bootloaders/grub-pc/splash.png diff --git a/data/live-build-config/hooks/00-manifest.binary b/data/live-build-config/hooks/live/00-manifest.binary index 6db8b6f3..6db8b6f3 100755 --- a/data/live-build-config/hooks/00-manifest.binary +++ b/data/live-build-config/hooks/live/00-manifest.binary diff --git a/data/live-build-config/hooks/00-mk_buildid.chroot b/data/live-build-config/hooks/live/00-mk_buildid.chroot index 087addad..087addad 100755 --- a/data/live-build-config/hooks/00-mk_buildid.chroot +++ b/data/live-build-config/hooks/live/00-mk_buildid.chroot diff --git a/data/live-build-config/hooks/01-interfaces.chroot b/data/live-build-config/hooks/live/01-interfaces.chroot index 8d218ea4..8d218ea4 100755 --- a/data/live-build-config/hooks/01-interfaces.chroot +++ b/data/live-build-config/hooks/live/01-interfaces.chroot diff --git a/data/live-build-config/hooks/02-issue.chroot b/data/live-build-config/hooks/live/02-issue.chroot index 732ebeb0..732ebeb0 100755 --- a/data/live-build-config/hooks/02-issue.chroot +++ b/data/live-build-config/hooks/live/02-issue.chroot diff --git a/data/live-build-config/hooks/03-root_bash_completion.chroot b/data/live-build-config/hooks/live/03-root_bash_completion.chroot index b7ea8f52..b7ea8f52 100755 --- a/data/live-build-config/hooks/03-root_bash_completion.chroot +++ b/data/live-build-config/hooks/live/03-root_bash_completion.chroot diff --git a/data/live-build-config/hooks/04-locale.chroot b/data/live-build-config/hooks/live/04-locale.chroot index 89a5f954..89a5f954 100755 --- a/data/live-build-config/hooks/04-locale.chroot +++ b/data/live-build-config/hooks/live/04-locale.chroot diff --git a/data/live-build-config/hooks/05-event_tty.chroot b/data/live-build-config/hooks/live/05-event_tty.chroot index a00167f7..a00167f7 100755 --- a/data/live-build-config/hooks/05-event_tty.chroot +++ b/data/live-build-config/hooks/live/05-event_tty.chroot diff --git a/data/live-build-config/hooks/07-apt.chroot b/data/live-build-config/hooks/live/07-apt.chroot index 8db33a78..8db33a78 100755 --- a/data/live-build-config/hooks/07-apt.chroot +++ b/data/live-build-config/hooks/live/07-apt.chroot diff --git a/data/live-build-config/hooks/08-sysconf.chroot b/data/live-build-config/hooks/live/08-sysconf.chroot index 8d1616c0..8d1616c0 100755 --- a/data/live-build-config/hooks/08-sysconf.chroot +++ b/data/live-build-config/hooks/live/08-sysconf.chroot diff --git a/data/live-build-config/hooks/09-live.chroot b/data/live-build-config/hooks/live/09-live.chroot index f19f0ae6..f19f0ae6 100755 --- a/data/live-build-config/hooks/09-live.chroot +++ b/data/live-build-config/hooks/live/09-live.chroot diff --git a/data/live-build-config/hooks/10-unmountfs.chroot b/data/live-build-config/hooks/live/10-unmountfs.chroot index 7992a4d2..7992a4d2 100755 --- a/data/live-build-config/hooks/10-unmountfs.chroot +++ b/data/live-build-config/hooks/live/10-unmountfs.chroot diff --git a/data/live-build-config/hooks/11-busybox.chroot b/data/live-build-config/hooks/live/11-busybox.chroot index fecce616..fecce616 100755 --- a/data/live-build-config/hooks/11-busybox.chroot +++ b/data/live-build-config/hooks/live/11-busybox.chroot diff --git a/data/live-build-config/hooks/12-udev-initramfs.chroot b/data/live-build-config/hooks/live/12-udev-initramfs.chroot index 13bdfb89..13bdfb89 100755 --- a/data/live-build-config/hooks/12-udev-initramfs.chroot +++ b/data/live-build-config/hooks/live/12-udev-initramfs.chroot diff --git a/data/live-build-config/hooks/13-vyos_replace.chroot b/data/live-build-config/hooks/live/13-vyos_replace.chroot index dcb00ff6..dcb00ff6 100755 --- a/data/live-build-config/hooks/13-vyos_replace.chroot +++ b/data/live-build-config/hooks/live/13-vyos_replace.chroot diff --git a/data/live-build-config/hooks/14-firmware-linux-nonfree.chroot b/data/live-build-config/hooks/live/14-firmware-linux-nonfree.chroot index 887831cc..887831cc 100755 --- a/data/live-build-config/hooks/14-firmware-linux-nonfree.chroot +++ b/data/live-build-config/hooks/live/14-firmware-linux-nonfree.chroot diff --git a/data/live-build-config/hooks/15-sources_list.chroot b/data/live-build-config/hooks/live/15-sources_list.chroot index 956f9bba..956f9bba 100755 --- a/data/live-build-config/hooks/15-sources_list.chroot +++ b/data/live-build-config/hooks/live/15-sources_list.chroot diff --git a/data/live-build-config/hooks/16-fuse.chroot b/data/live-build-config/hooks/live/16-fuse.chroot index 126dc626..126dc626 100755 --- a/data/live-build-config/hooks/16-fuse.chroot +++ b/data/live-build-config/hooks/live/16-fuse.chroot diff --git a/data/live-build-config/hooks/17-gen_initramfs.chroot b/data/live-build-config/hooks/live/17-gen_initramfs.chroot index aced728a..aced728a 100755 --- a/data/live-build-config/hooks/17-gen_initramfs.chroot +++ b/data/live-build-config/hooks/live/17-gen_initramfs.chroot diff --git a/data/live-build-config/hooks/18-enable-disable_services.chroot b/data/live-build-config/hooks/live/18-enable-disable_services.chroot index d4d89ba8..d4d89ba8 100755 --- a/data/live-build-config/hooks/18-enable-disable_services.chroot +++ b/data/live-build-config/hooks/live/18-enable-disable_services.chroot diff --git a/data/live-build-config/hooks/19-kernel_symlinks.chroot b/data/live-build-config/hooks/live/19-kernel_symlinks.chroot index e63ca263..e63ca263 100755 --- a/data/live-build-config/hooks/19-kernel_symlinks.chroot +++ b/data/live-build-config/hooks/live/19-kernel_symlinks.chroot diff --git a/data/live-build-config/hooks/20-rm_ddclient_hook.chroot b/data/live-build-config/hooks/live/20-rm_ddclient_hook.chroot index 173b4e5c..173b4e5c 100755 --- a/data/live-build-config/hooks/20-rm_ddclient_hook.chroot +++ b/data/live-build-config/hooks/live/20-rm_ddclient_hook.chroot diff --git a/data/live-build-config/hooks/21-pam_mkhomedir.chroot b/data/live-build-config/hooks/live/21-pam_mkhomedir.chroot index af155ba4..af155ba4 100755 --- a/data/live-build-config/hooks/21-pam_mkhomedir.chroot +++ b/data/live-build-config/hooks/live/21-pam_mkhomedir.chroot diff --git a/data/live-build-config/hooks/live/24-efi_packages.chroot b/data/live-build-config/hooks/live/24-efi_packages.chroot new file mode 100755 index 00000000..c2b1ff11 --- /dev/null +++ b/data/live-build-config/hooks/live/24-efi_packages.chroot @@ -0,0 +1,8 @@ +#!/bin/sh + +echo I: Download grub-efi packages. + +mkdir -p /usr/share/vyos/packages +cd /usr/share/vyos/packages +aptitude download grub-efi +aptitude download grub-efi-amd64 diff --git a/data/live-build-config/hooks/30-frr-configs.chroot b/data/live-build-config/hooks/live/30-frr-configs.chroot index cc169fb5..cc169fb5 100755 --- a/data/live-build-config/hooks/30-frr-configs.chroot +++ b/data/live-build-config/hooks/live/30-frr-configs.chroot diff --git a/data/live-build-config/hooks/30-strongswan-configs.chroot b/data/live-build-config/hooks/live/30-strongswan-configs.chroot index 25562a65..25562a65 100755 --- a/data/live-build-config/hooks/30-strongswan-configs.chroot +++ b/data/live-build-config/hooks/live/30-strongswan-configs.chroot diff --git a/data/live-build-config/hooks/99-cleanup-packages.chroot b/data/live-build-config/hooks/live/99-cleanup-packages.chroot index 63be7df6..63be7df6 100755 --- a/data/live-build-config/hooks/99-cleanup-packages.chroot +++ b/data/live-build-config/hooks/live/99-cleanup-packages.chroot diff --git a/data/live-build-config/includes.binary/isolinux/splash.png b/data/live-build-config/includes.binary/isolinux/splash.png Binary files differindex e2c9bfa4..b9effe3b 100644 --- a/data/live-build-config/includes.binary/isolinux/splash.png +++ b/data/live-build-config/includes.binary/isolinux/splash.png diff --git a/data/live-build-config/includes.chroot/etc/init.d/isc-dhcpv6-relay b/data/live-build-config/includes.chroot/etc/init.d/isc-dhcpv6-relay deleted file mode 100755 index 5a8ce620..00000000 --- a/data/live-build-config/includes.chroot/etc/init.d/isc-dhcpv6-relay +++ /dev/null @@ -1,50 +0,0 @@ -#!/bin/sh -# -# - -### BEGIN INIT INFO -# Provides: isc-dhcpv6-relay -# Required-Start: $remote_fs $network -# Required-Stop: $remote_fs $network -# Should-Start: $local_fs -# Should-Stop: $local_fs -# Default-Start: 2 3 4 5 -# Default-Stop: 0 1 6 -# Short-Description: IPv6 DHCP relay -# Description: Dynamic Host Configuration Protocol Relay for IPv6 -### END INIT INFO - -# It is not safe to start if we don't have a default configuration... -if [ ! -f /etc/default/isc-dhcpv6-relay ]; then - echo "/etc/default/isc-dhcpv6-relay does not exist! - Aborting..." - exit 1 -fi - -# Source init functions -. /lib/lsb/init-functions - -# Read init script configuration (interfaces the daemon should listen on -# and the DHCP server we should forward requests to.) -[ -f /etc/default/isc-dhcpv6-relay ] && . /etc/default/isc-dhcpv6-relay - -DHCRELAYPID=/var/run/dhcv6relay.pid - -case "$1" in - start) - start-stop-daemon --start --quiet --pidfile $DHCRELAYPID \ - --exec /usr/sbin/dhcrelay -- -q $OPTIONS -pf $DHCRELAYPID - ;; - stop) - start-stop-daemon --stop --quiet --pidfile $DHCRELAYPID - ;; - restart | force-reload) - $0 stop - sleep 2 - $0 start - ;; - *) - echo "Usage: /etc/init.d/isc-dhcpv6-relay {start|stop|restart|force-reload}" - exit 1 -esac - -exit 0 diff --git a/scripts/build-oracle-image b/scripts/build-oracle-image new file mode 100755 index 00000000..61f8ddee --- /dev/null +++ b/scripts/build-oracle-image @@ -0,0 +1,154 @@ +#!/bin/sh +# +# Copyright (C) 2018 VyOS maintainers and contributors +# +# This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 or later as published by the Free Software Foundation. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. +# +# File: build-oracle-image +# Purpose: +# Build VyOS image for Oracle cloud. + +lb bootstrap + +lb chroot +lb installer +lb binary_chroot +lb chroot_devpts install +lb chroot_proc install +lb chroot_selinuxfs install +lb chroot_sysfs install +lb chroot_hosts install +lb chroot_resolv install +lb chroot_hostname install +lb chroot_sysv-rc install +lb chroot_upstart install +lb chroot_apt install-binary +lb chroot_archives chroot install +lb binary_rootfs +lb binary_manifest +lb binary_package-lists +lb binary_linux-image +lb binary_memtest +lb binary_grub +lb binary_grub2 +lb binary_syslinux +lb binary_disk +lb binary_loadlin +lb binary_win32-loader +lb binary_includes +lb binary_hooks +lb binary_checksums + +# get vyos build version +version=$(cat version) +dateymd=$(date +%Y%m%d) + +###################################### +### Prepare the HDD (format, ext.) ### +###################################### +PARTED=/sbin/parted +OUTPUT=disk.raw +OUTPUTQCOW2=VyOS-"$dateymd".qcow2 +IMAGE_SIZE=2 +qemu-img create -f raw ${OUTPUT} ${IMAGE_SIZE}G + +${PARTED} -s ${OUTPUT} mktable msdos +${PARTED} -s -a optimal ${OUTPUT} mkpart primary ext4 1Mi 100% +${PARTED} -s ${OUTPUT} set 1 boot on +RESULT_KPARTX=`kpartx -asv ${OUTPUT} 2>&1` + +if echo "${RESULT_KPARTX}" | grep "^add map" ; then + LOOP_DEVICE=$(echo ${RESULT_KPARTX} | cut -d" " -f3) + LOOPRAW_DEVICE=${LOOP_DEVICE%p*} + echo "kpartx mounted using: ${LOOP_DEVICE} via ${LOOPRAW_DEVICE}" +else + echo "It seems kpartx didn't mount the image correctly: exiting." + exit 1 +fi + +cleanup(){ + error=$? + [ ! -d "${MOUNT_DIR}" ] && return + if [ "$error" -gt 0 ]; then + echo + echo "Error $error" + else + echo "Finished." + fi + + set +e + + sync + umount -l ${MOUNT_DIR} + rmdir ${MOUNT_DIR} + + umount devpts-live + umount proc-live + umount sysfs-live + + dmsetup remove --deferred ${LOOP_DEVICE} + losetup -d /dev/${LOOPRAW_DEVICE} + exit $error +} +trap "cleanup" EXIT TERM INT + +mkfs.ext4 /dev/mapper/${LOOP_DEVICE} -L persistence +UUID=$(blkid -o value -s UUID /dev/mapper/${LOOP_DEVICE}) + +# No fsck because of X days without checks +tune2fs -i 0 /dev/mapper/${LOOP_DEVICE} + +MOUNT_DIR=`mktemp -d -t build-debimg.XXXXXX` +mount /dev/mapper/${LOOP_DEVICE} ${MOUNT_DIR} + +######################## +### Setting-up files ### +######################## +mkdir -p ${MOUNT_DIR}/boot/grub +mkdir -p ${MOUNT_DIR}/boot/"$version"/rw + +echo "/ union" > ${MOUNT_DIR}/persistence.conf +cp binary/live/filesystem.squashfs ${MOUNT_DIR}/boot/"$version"/"$version.squashfs" +cp binary/live/initrd.img ${MOUNT_DIR}/boot/"$version"/initrd.img +cp binary/live/vmlinuz ${MOUNT_DIR}/boot/"$version"/vmlinuz + +######################## +### Create grub menu ### +######################## +cat > ${MOUNT_DIR}/boot/grub/grub.cfg << EOF +set timeout=5 +set default=0 + +menuentry "VyOS $version (Serial console)" { + linux /boot/"$version"/vmlinuz boot=live vyos-union=/boot/"$version" console=tty0 console=ttyS0,38400n8d earlyprintk=ttyS0,38400 consoleblank=0 systemd.show_status=true + initrd /boot/"$version"/initrd.img +} + +menuentry "Lost password change $version (Serial console)" { + linux /boot/"$version"/vmlinuz boot=live vyos-union=/boot/"$version" console=tty0 console=ttyS0,38400n8d earlyprintk=ttyS0,38400 consoleblank=0 systemd.show_status=true init=/opt/vyatta/sbin/standalone_root_pw_reset + initrd /boot/"$version"/initrd.img +} +EOF + + +############################# +### Setting-up bootloader ### +############################# +grub-install --boot-directory ${MOUNT_DIR}/boot --force --no-floppy --skip-fs-probe /dev/${LOOPRAW_DEVICE} + +################### +### HOOK SCRIPT ### +################### +fstrim ${MOUNT_DIR} +sync + +qemu-img convert -f raw -O qcow2 ${OUTPUT} ${OUTPUTQCOW2} +rm $OUTPUT diff --git a/scripts/live-build-config b/scripts/live-build-config index 232ae9d4..6efa0a8c 100755 --- a/scripts/live-build-config +++ b/scripts/live-build-config @@ -38,7 +38,7 @@ lb config noauto \ --bootappend-live "boot=live components hostname=vyos username=live nopersistence noautologin nonetworking union=overlay" \ --linux-flavours {{architecture}}-vyos \ --linux-packages linux-image-4.19.0 \ - --bootloader syslinux \ + --bootloader syslinux,grub-efi \ --binary-images iso-hybrid \ --debian-installer false \ --distribution jessie \ diff --git a/tools/cloud-init/OCI/90_dpkg.cfg b/tools/cloud-init/OCI/90_dpkg.cfg new file mode 100644 index 00000000..0575be1e --- /dev/null +++ b/tools/cloud-init/OCI/90_dpkg.cfg @@ -0,0 +1,2 @@ +# to update this file, run dpkg-reconfigure cloud-init +datasource_list: [ Oracle ] diff --git a/tools/cloud-init/OCI/config.boot.default b/tools/cloud-init/OCI/config.boot.default new file mode 100644 index 00000000..18f6ef09 --- /dev/null +++ b/tools/cloud-init/OCI/config.boot.default @@ -0,0 +1,30 @@ +system { + syslog { + global { + facility all { + level info + } + facility protocols { + level debug + } + } + } + ntp { + server "0.pool.ntp.org" + server "1.pool.ntp.org" + server "2.pool.ntp.org" + } + console { + device ttyS0 { + speed 9600 + } + } + config-management { + commit-revisions 100 + } +} + +interfaces { + loopback lo { + } +} |