From 826fa1a973ffdfee54691bae7a3cb6a51ecaf230 Mon Sep 17 00:00:00 2001 From: Kim Hagen Date: Tue, 24 May 2016 10:00:20 +0000 Subject: add build options for clearfog --- scripts/build-clearfog-image | 158 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 158 insertions(+) create mode 100755 scripts/build-clearfog-image (limited to 'scripts/build-clearfog-image') diff --git a/scripts/build-clearfog-image b/scripts/build-clearfog-image new file mode 100755 index 00000000..30bc1cb4 --- /dev/null +++ b/scripts/build-clearfog-image @@ -0,0 +1,158 @@ +#!/bin/sh +# +# Copyright (C) 2016 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 . +# +# File: build-clearfog-image +# Purpose: +# Build VyOS image for for Solidrun clearfog. + +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) + +# create sd-card image and partition it +qemu-img create -f raw sr-a38x-cf-vyos-"$dateymd"-testing.img 1.8G +parted --script sr-a38x-cf-vyos-"$dateymd"-testing.img mklabel msdos +parted --script sr-a38x-cf-vyos-"$dateymd"-testing.img mkpart primary fat16 8192s 60 +parted --script sr-a38x-cf-vyos-"$dateymd"-testing.img mkpart primary ext2 60 1900 +parted --script sr-a38x-cf-vyos-"$dateymd"-testing.img set 1 boot on + +# mount image and create filesystems +losetup /dev/loop0 sr-a38x-cf-vyos-"$dateymd"-testing.img +partprobe /dev/loop0 +mkfs.vfat -n EFI -F 16 -I /dev/loop0p1 +mkfs.ext2 -L persistence /dev/loop0p2 + +# mount image partitions +mkdir -p /boot/efi +mount /dev/loop0p1 /boot/efi +mkdir -p /mnt +mount /dev/loop0p2 /mnt + +# setup files on image +mkdir -p /mnt/boot/grub +mkdir -p /mnt/boot/"$version"/rw +echo "/ union" > /mnt/persistence.conf +cp binary/live/filesystem.squashfs /mnt/boot/"$version"/"$version.squashfs" +cp binary/live/initrd.img-* /mnt/boot/"$version"/initrd.img +cp binary/live/vmlinuz-* /mnt/boot/"$version"/vmlinuz +cp ../tools/armada-388-clearfog.dtb /boot/efi/armada-388-clearfog.dtb + +# create boot script +cat > /boot/efi/boot.script << EOF +# load DTB +echo "Loading armada-388-clearfog.dtb" +load mmc 0:1 \$fdt_addr_r armada-388-clearfog.dtb +fdt addr \$fdt_addr_r 20000 + +# load efi +echo "Loading EFI image ..." +load mmc 0:1 \$loadaddr EFI/debian/grubarm.efi + +# Sleep a while so the MMC driver can settle down +echo "Sleeping 5 seconds ..." +sleep 5 + +# boot +echo "Booting ..." +bootefi \$loadaddr +EOF + +# compile boot script for u-boot +mkimage -A arm -O linux -T script -C none -a 0 -e 0 -d /boot/efi/boot.script /boot/efi/boot.scr + +# create grub config file to include +cat > load.cfg << EOF +set root=(hd0,msdos2) +set prefix=(hd0,msdos2)/boot/grub +devicetree (hd0,msdos1)/armada-388-clearfog.dtb +insmod normal +normal +EOF + +# create grub menu +cat > /mnt/boot/grub/grub.cfg << EOF +set default=0 +set timeout=5 + +echo -n Press ESC to enter the Grub menu... +if sleep --verbose --interruptible 5 ; then + terminal_input console serial +fi + + +menuentry "VyOS $version (Serial console)" { + linux /boot/"$version"/vmlinuz boot=live quiet vyatta-union=/boot/"$version" console=ttyS0,115200n8 + initrd /boot/"$version"/initrd.img +} + +menuentry "Lost password change $version (Serial console)" { + linux /boot/"$version"/vmlinuz boot=live quiet vyatta-union=/boot/"$version" console=ttyS0,115200n8 init=/opt/vyatta/sbin/standalone_root_pw_reset + initrd /boot/"$version"/initrd.img +} +EOF + +# install efi grub to image +grub-install --efi-directory /boot/efi --boot-directory /mnt/boot -d /usr/lib/grub/arm-efi /dev/loop0 + +# create grub efi executable +grub-mkimage -O arm-efi -p /boot/grub -d /usr/lib/grub/arm-efi -c load.cfg \ +ext2 iso9660 linux echo configfile \ +search_label search_fs_file search \ +search_fs_uuid ls normal gzio \ +png fat gettext font minicmd \ +gfxterm gfxmenu video video_fb \ +part_msdos part_gpt > /boot/efi/EFI/debian/grubarm.efi + +# unmount image partitions +umount /mnt +umount /boot/efi + +# write u-boot to image +dd if=../tools/u-boot-spl.kwb of=/dev/loop0 bs=512 seek=1 + +# unmount image +sudo losetup -D + +# compress image +xz -v sr-a38x-cf-vyos-"$dateymd"-testing.img -- cgit v1.2.3 From c0f9ea3210ed22b23ed784f8263bdb49bf36a765 Mon Sep 17 00:00:00 2001 From: Kim Hagen Date: Fri, 5 Aug 2016 08:43:08 +0200 Subject: set systemd tasks verbose on boot --- .../includes.chroot/opt/vyatta/etc/grub/default-union-grub-entry | 8 ++++---- scripts/build-clearfog-image | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) (limited to 'scripts/build-clearfog-image') diff --git a/data/live-build-config/includes.chroot/opt/vyatta/etc/grub/default-union-grub-entry b/data/live-build-config/includes.chroot/opt/vyatta/etc/grub/default-union-grub-entry index 4107e459..fa02be5b 100644 --- a/data/live-build-config/includes.chroot/opt/vyatta/etc/grub/default-union-grub-entry +++ b/data/live-build-config/includes.chroot/opt/vyatta/etc/grub/default-union-grub-entry @@ -1,20 +1,20 @@ menuentry "VyOS (KVM console)" { - linux /boot//vmlinuz boot=live quiet vyos-union=/boot/ console=ttyS0,9600 console=tty0 + linux /boot//vmlinuz boot=live quiet systemd.show_status=1 vyos-union=/boot/ console=ttyS0,9600 console=tty0 initrd /boot//initrd.img } menuentry "VyOS (Serial console)" { - linux /boot//vmlinuz boot=live quiet vyos-union=/boot/ console=tty0 console=ttyS0,9600 + linux /boot//vmlinuz boot=live quiet systemd.show_status=1 vyos-union=/boot/ console=tty0 console=ttyS0,9600 initrd /boot//initrd.img } menuentry "Lost password change (KVM console)" { - linux /boot//vmlinuz boot=live quiet vyos-union=/boot/ console=ttyS0,9600 console=tty0 init=/opt/vyatta/sbin/standalone_root_pw_reset + linux /boot//vmlinuz boot=live quiet systemd.show_status=1 vyos-union=/boot/ console=ttyS0,9600 console=tty0 init=/opt/vyatta/sbin/standalone_root_pw_reset initrd /boot//initrd.img } menuentry "Lost password change (Serial console)" { - linux /boot//vmlinuz boot=live quiet vyos-union=/boot/ console=tty0 console=ttyS0,9600 init=/opt/vyatta/sbin/standalone_root_pw_reset + linux /boot//vmlinuz boot=live quiet systemd.show_status=1 vyos-union=/boot/ console=tty0 console=ttyS0,9600 init=/opt/vyatta/sbin/standalone_root_pw_reset initrd /boot//initrd.img } diff --git a/scripts/build-clearfog-image b/scripts/build-clearfog-image index 30bc1cb4..df703d8c 100755 --- a/scripts/build-clearfog-image +++ b/scripts/build-clearfog-image @@ -122,12 +122,12 @@ fi menuentry "VyOS $version (Serial console)" { - linux /boot/"$version"/vmlinuz boot=live quiet vyatta-union=/boot/"$version" console=ttyS0,115200n8 + linux /boot/"$version"/vmlinuz boot=live systemd.show_status=1 quiet vyatta-union=/boot/"$version" console=ttyS0,115200n8 initrd /boot/"$version"/initrd.img } menuentry "Lost password change $version (Serial console)" { - linux /boot/"$version"/vmlinuz boot=live quiet vyatta-union=/boot/"$version" console=ttyS0,115200n8 init=/opt/vyatta/sbin/standalone_root_pw_reset + linux /boot/"$version"/vmlinuz boot=live quiet systemd.show_status=1 vyatta-union=/boot/"$version" console=ttyS0,115200n8 init=/opt/vyatta/sbin/standalone_root_pw_reset initrd /boot/"$version"/initrd.img } EOF -- cgit v1.2.3 From 4669994866d4e6ce0af2b71ba7eb0c5aba42ab4d Mon Sep 17 00:00:00 2001 From: Kim Date: Sat, 24 Dec 2016 15:48:19 +0100 Subject: fix mount issue vyatta-router init script greps on vyos-union instead of vyatta-union --- scripts/build-clearfog-image | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'scripts/build-clearfog-image') diff --git a/scripts/build-clearfog-image b/scripts/build-clearfog-image index df703d8c..143ef9cb 100755 --- a/scripts/build-clearfog-image +++ b/scripts/build-clearfog-image @@ -122,12 +122,12 @@ fi menuentry "VyOS $version (Serial console)" { - linux /boot/"$version"/vmlinuz boot=live systemd.show_status=1 quiet vyatta-union=/boot/"$version" console=ttyS0,115200n8 + linux /boot/"$version"/vmlinuz boot=live systemd.show_status=1 quiet vyos-union=/boot/"$version" console=ttyS0,115200n8 initrd /boot/"$version"/initrd.img } menuentry "Lost password change $version (Serial console)" { - linux /boot/"$version"/vmlinuz boot=live quiet systemd.show_status=1 vyatta-union=/boot/"$version" console=ttyS0,115200n8 init=/opt/vyatta/sbin/standalone_root_pw_reset + linux /boot/"$version"/vmlinuz boot=live quiet systemd.show_status=1 vyos-union=/boot/"$version" console=ttyS0,115200n8 init=/opt/vyatta/sbin/standalone_root_pw_reset initrd /boot/"$version"/initrd.img } EOF -- cgit v1.2.3 From 5126eb75d326d3fc2f1c769e1815fbd244222ba4 Mon Sep 17 00:00:00 2001 From: Kim Hagen Date: Mon, 26 Dec 2016 15:20:45 +0000 Subject: remove verbose systemd status setting from grub --- .../includes.chroot/opt/vyatta/etc/grub/default-union-grub-entry | 8 ++++---- scripts/build-clearfog-image | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) (limited to 'scripts/build-clearfog-image') diff --git a/data/live-build-config/includes.chroot/opt/vyatta/etc/grub/default-union-grub-entry b/data/live-build-config/includes.chroot/opt/vyatta/etc/grub/default-union-grub-entry index fa02be5b..4107e459 100644 --- a/data/live-build-config/includes.chroot/opt/vyatta/etc/grub/default-union-grub-entry +++ b/data/live-build-config/includes.chroot/opt/vyatta/etc/grub/default-union-grub-entry @@ -1,20 +1,20 @@ menuentry "VyOS (KVM console)" { - linux /boot//vmlinuz boot=live quiet systemd.show_status=1 vyos-union=/boot/ console=ttyS0,9600 console=tty0 + linux /boot//vmlinuz boot=live quiet vyos-union=/boot/ console=ttyS0,9600 console=tty0 initrd /boot//initrd.img } menuentry "VyOS (Serial console)" { - linux /boot//vmlinuz boot=live quiet systemd.show_status=1 vyos-union=/boot/ console=tty0 console=ttyS0,9600 + linux /boot//vmlinuz boot=live quiet vyos-union=/boot/ console=tty0 console=ttyS0,9600 initrd /boot//initrd.img } menuentry "Lost password change (KVM console)" { - linux /boot//vmlinuz boot=live quiet systemd.show_status=1 vyos-union=/boot/ console=ttyS0,9600 console=tty0 init=/opt/vyatta/sbin/standalone_root_pw_reset + linux /boot//vmlinuz boot=live quiet vyos-union=/boot/ console=ttyS0,9600 console=tty0 init=/opt/vyatta/sbin/standalone_root_pw_reset initrd /boot//initrd.img } menuentry "Lost password change (Serial console)" { - linux /boot//vmlinuz boot=live quiet systemd.show_status=1 vyos-union=/boot/ console=tty0 console=ttyS0,9600 init=/opt/vyatta/sbin/standalone_root_pw_reset + linux /boot//vmlinuz boot=live quiet vyos-union=/boot/ console=tty0 console=ttyS0,9600 init=/opt/vyatta/sbin/standalone_root_pw_reset initrd /boot//initrd.img } diff --git a/scripts/build-clearfog-image b/scripts/build-clearfog-image index 143ef9cb..0ef6d323 100755 --- a/scripts/build-clearfog-image +++ b/scripts/build-clearfog-image @@ -122,12 +122,12 @@ fi menuentry "VyOS $version (Serial console)" { - linux /boot/"$version"/vmlinuz boot=live systemd.show_status=1 quiet vyos-union=/boot/"$version" console=ttyS0,115200n8 + linux /boot/"$version"/vmlinuz boot=live quiet vyos-union=/boot/"$version" console=ttyS0,115200n8 initrd /boot/"$version"/initrd.img } menuentry "Lost password change $version (Serial console)" { - linux /boot/"$version"/vmlinuz boot=live quiet systemd.show_status=1 vyos-union=/boot/"$version" console=ttyS0,115200n8 init=/opt/vyatta/sbin/standalone_root_pw_reset + linux /boot/"$version"/vmlinuz boot=live quiet vyos-union=/boot/"$version" console=ttyS0,115200n8 init=/opt/vyatta/sbin/standalone_root_pw_reset initrd /boot/"$version"/initrd.img } EOF -- cgit v1.2.3