SONL -> goldstone

Signed-off-by: Wataru Ishida <ishida@nel-america.com>
This commit is contained in:
Wataru Ishida
2019-10-04 20:18:42 +00:00
parent 2497ed0ce9
commit 35f15206bc
88 changed files with 592 additions and 513 deletions

View File

@@ -41,7 +41,7 @@ VOLUMES_OPTS = \
BUILDER_OPTS = \
--verbose \
-8 \
-9 \
--hostname x1builder$(VERSION) \
--workdir $(shell pwd) \
--isolate \

View File

@@ -1,5 +1,5 @@
variables:
- !include $X1/make/versions/version-sonl.yml
- !include $X1/make/versions/version-goldstone.yml
- INSTALL_DIR : /usr/share/floodlight/zerotouch
prerequisites:

View File

@@ -4,10 +4,55 @@ ifndef PLATFORM_LIST
export PLATFORM_LIST=$(shell onlpm --list-platforms --arch amd64 --csv )
endif
RFS_PRE_CONFIG := $(X1)/builds/any/rootfs/rfs_pre.yml
RFS_CONFIG := $(X1)/builds/any/rootfs/rfs.yml
RFS_DIR := rootfs-amd64.d
RFS_CPIO := rootfs-amd64.cpio.gz
RFS_SQUASH := rootfs-amd64.sqsh
RFS_MANIFEST := /etc/x1/rootfs/manifest.json
include $(ONL)/make/rfs.mk
ifndef ARCH
$(error $$ARCH must be specified)
endif
ifndef RFS_CONFIG
$(error $$RFS_CONFIG must be set to the RFS yaml configuration file)
endif
ifndef RFS_WORKDIR
RFS_WORKDIR := $(ONL_DEBIAN_SUITE)
endif
ifndef RFS_DIR
RFS_DIR := $(RFS_WORKDIR)/rootfs-$(ARCH).d
endif
ifndef RFS_CPIO
RFS_CPIO := $(RFS_WORKDIR)/rootfs-$(ARCH).cpio.gz
endif
ifndef RFS_SQUASH
RFS_SQUASH := $(RFS_WORKDIR)/rootfs-$(ARCH).sqsh
endif
RFS_COMMAND := $(ONL)/tools/onlrfs.py --config $(RFS_CONFIG) --arch $(ARCH) --dir $(RFS_DIR) --use-existing-rootfs
ifdef RFS_CPIO
RFS_COMMAND += --cpio $(RFS_CPIO)
endif
ifdef RFS_SQUASH
RFS_COMMAND += --squash $(RFS_SQUASH)
endif
ifndef RFS_MANIFEST
RFS_MANIFEST := etc/onl/rootfs/manifest.json
endif
LOCAL_MANIFEST := $(RFS_WORKDIR)/manifest.json
RFS: clean
$(ONL_V_at) $(ONL)/tools/onlrfs.py --arch $(ARCH) --dir $(RFS_DIR) --config $(RFS_PRE_CONFIG) && $(RFS_COMMAND)
$(ONL_V_at) [ -f $(RFS_DIR)/$(RFS_MANIFEST) ] && sudo cp $(RFS_DIR)/$(RFS_MANIFEST) $(LOCAL_MANIFEST)
clean:
$(ONL_V_at) sudo rm -rf $(RFS_WORKDIR)
show-packages:
$(ONL_V_at) $(RFS_COMMAND) --show-packages

View File

@@ -1,3 +1,3 @@
ROOTFS_PACKAGE := x1-rootfs
include $(X1)/make/config.amd64.mk
include $(X1)/make/swi.mk
include $(ONL)/make/swi.mk

View File

@@ -1,5 +1,5 @@
variables:
!include $X1/make/versions/version-sonl.yml
!include $X1/make/versions/version-goldstone.yml
prerequisites:
broken: true
@@ -7,7 +7,7 @@ prerequisites:
packages:
- name: x1-installer-$BOOTMODE
summary: SONiC+ONL Network OS $ARCH Installer
summary: Goldstone Network OS $ARCH Installer
arch: $ARCH
version: 0.$FNAME_RELEASE_ID
copyright: Copyright 2018 Big Switch Networks

View File

@@ -7,7 +7,7 @@ $(error $$BOOTMODE not set)
endif
# Hardcoded to match ONL File naming conventions.
include $(X1)/make/versions/version-sonl.mk
include $(X1)/make/versions/version-goldstone.mk
INSTALLER_NAME=$(FNAME_PRODUCT_VERSION)_ONL-OS_$(FNAME_BUILD_ID)_$(UARCH)_$(BOOTMODE)_INSTALLER
MKINSTALLER_OPTS := \
@@ -15,6 +15,7 @@ MKINSTALLER_OPTS := \
--boot-config boot-config \
--swi x1-swi:$(ARCH) \
--add-file zerotouch.json \
--onl-version "$(VERSION_STRING)" \
# THIS LINE INTENTIONALLY LEFT BLANK
ifeq ($(ARCH_BOOT),uboot)
@@ -30,3 +31,6 @@ __installer:
$(ONLPM) --copy-file x1-loader-initrd:$(ARCH) zerotouch.json .
$(ONL)/tools/mkinstaller.py $(MKINSTALLER_OPTS) --out $(INSTALLER_NAME)
md5sum "$(INSTALLER_NAME)" | awk '{ print $$1 }' > "$(INSTALLER_NAME).md5sum"
clean:
rm -rf $(WORK_DIR)

View File

@@ -1,12 +1,13 @@
variables:
!include $X1/make/versions/version-sonl.yml
!include $X1/make/versions/version-goldstone.yml
prerequisites:
broken: true
packages: [ "onl-rootfs:$ARCH" ]
packages:
- name: x1-rootfs
summary: SONiC+ONL Network OS Root Filesystem
summary: Goldstone Network OS Root Filesystem
arch: $ARCH
version: 0.$FNAME_RELEASE_ID
copyright: Copyright 2018 Big Switch Networks
@@ -15,6 +16,6 @@ packages:
support: support@bigswitch.com
files:
builds/rootfs-$ARCH.cpio.gz : $$PKG_INSTALL/
builds/rootfs-$ARCH.sqsh : $$PKG_INSTALL/
builds/manifest.json : $$PKG_INSTALL/
builds/$ONL_DEBIAN_SUITE/rootfs-$ARCH.cpio.gz : $$PKG_INSTALL/
builds/$ONL_DEBIAN_SUITE/rootfs-$ARCH.sqsh : $$PKG_INSTALL/
builds/$ONL_DEBIAN_SUITE/manifest.json : $$PKG_INSTALL/

View File

@@ -11,6 +11,8 @@
- updategraph
- x1-rsyslog
- bash-completion
- python-setuptools
# get these from sonic-dev,
# except that it tries to pull in other packages too
# (and currently there is a checksum corruption with hw-management)

View File

@@ -1,10 +0,0 @@
- x1-swss
- x1-docker-database
- x1-docker-syncd
- x1-docker-orchagent
- x1-docker-fpm-quagga
- x1-docker-router-advertiser
- x1-docker-teamd
- x1-docker-lldp-sv2
- x1-docker-dhcp-relay
- x1-docker-snmp-sv2

View File

@@ -1,7 +1,15 @@
- dmidecode
- parted
- grub2
- onl-upgrade
- onl-kernel-4.14-lts-x86-64-all-modules
- efibootmgr
- gdisk
- x1-upgrade
- python-natsort
- onl-upgrade
- libsaibcm-dev:amd64
- libsaibcm:amd64
- x1-sai-sanity
- x1-sai-sanity:amd64
- x1-saibcm-kernel-4.14-lts-x86-64-all:amd64
- x1-saibcm-kernel-3.16-lts-x86-64-all:amd64

View File

@@ -1,20 +0,0 @@
#!/bin/sh
set -eux
TARGET=`realpath $1`
SONIC_PKGS=`cat $X1/builds/any/rootfs/sonic-packages.yml | python -c 'import yaml, sys; d=yaml.load(sys.stdin.read()); print " ".join("{}:all".format(i) for i in d) if d else ""'`
if [ -z "$SONIC_PKGS" ]; then
exit 0
fi
cd $X1
for pkg in $SONIC_PKGS; do
sudo -E -u $SUDO_USER $ONL/tools/onlpm.py --try-arches $ARCH all --build $pkg
dpkg --root $TARGET -i `$ONL/tools/onlpm.py --lookup $pkg` || true
done
DEBIAN_FRONTEND=noninteractive chroot $TARGET apt install --no-install-recommends -f -qy

View File

@@ -1,67 +0,0 @@
#!/bin/sh
set -eu
TARGET=`realpath $1`
DOCKER_PKGS=`cat $X1/builds/any/rootfs/amd64-docker-packages.yml | python -c 'import yaml, sys; d=yaml.load(sys.stdin.read()); print " ".join("{}:amd64".format(i) for i in d) if d else ""'`
if [ -z "$DOCKER_PKGS" ]; then
exit 0
fi
# emulate steps in $(installer_extra_files) (slave.mk, files/build_templates/sonic_debian_extension.j2)
cp $SONIC/dockers/docker-database/base_image_files/redis-cli $TARGET/usr/bin/.
cp $SONIC/dockers/docker-orchagent/base_image_files/swssloglevel $TARGET/usr/bin/.
# XXX not sure which orchagent to use here
cd $X1
for pkg in $DOCKER_PKGS; do
sudo -E -u $SUDO_USER $ONL/tools/onlpm.py --try-arches $ARCH all --build $pkg
dpkg --root $TARGET --unpack `$ONL/tools/onlpm.py --lookup $pkg`
done
# for now syncd and swss are using init and not systemd
# see https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=805498
# UGH UGH UGH update-rc.d is not aware of systemd units
ln -s /etc/init.d/syncd $TARGET/etc/rc0.d/K01syncd
ln -s /etc/init.d/syncd $TARGET/etc/rc1.d/K01syncd
ln -s /etc/init.d/syncd $TARGET/etc/rc2.d/S90syncd
ln -s /etc/init.d/syncd $TARGET/etc/rc3.d/S90syncd
ln -s /etc/init.d/syncd $TARGET/etc/rc4.d/S90syncd
ln -s /etc/init.d/syncd $TARGET/etc/rc5.d/S90syncd
ln -s /etc/init.d/syncd $TARGET/etc/rc6.d/K01syncd
ln -s /etc/init.d/swss $TARGET/etc/rc0.d/K01swss
ln -s /etc/init.d/swss $TARGET/etc/rc1.d/K01swss
ln -s /etc/init.d/swss $TARGET/etc/rc2.d/S90swss
ln -s /etc/init.d/swss $TARGET/etc/rc3.d/S90swss
ln -s /etc/init.d/swss $TARGET/etc/rc4.d/S90swss
ln -s /etc/init.d/swss $TARGET/etc/rc5.d/S90swss
ln -s /etc/init.d/swss $TARGET/etc/rc6.d/K01swss
test -d /newroot || mkdir /newroot
rm -r $TARGET/oldroot 2> /dev/null || true
mkdir $TARGET/oldroot
mount --bind $TARGET /newroot
cd /newroot
pivot_root . oldroot
mount -t proc none /proc
mount -t sysfs none /sys
mount -t devtmpfs none /dev
rm -rf /var/run/docker*
service docker start
sleep 5
dpkg --configure -a
cd /oldroot
pivot_root . newroot
umount -R -l /newroot

View File

@@ -1,22 +0,0 @@
#!/usr/bin/python
import os
import sys
import fileinput
rfsd = sys.argv[1]
overlays = os.path.join(rfsd, "var/lib/docker/overlay")
replacements = [ ("var/run/supervisor.sock", "dev/shm/supervisor.sock") ]
for (root, dirs, files) in os.walk(overlays):
for f in files:
if f == 'supervisord.conf':
fname = os.path.join(root, f)
sys.stderr.write("checking %s...\n" % (fname))
for line in fileinput.input(fname, inplace=True):
for (a, b) in replacements:
if a in line:
sys.stderr.write("%s: replacing '%s' with '%s'...\n" % (fname, a, b))
line = line.replace(a, b)
print line,

View File

@@ -1,4 +0,0 @@
{
"storage-driver": "overlay",
"exec-opts": ["native.cgroupdriver=systemd"]
}

View File

@@ -1,6 +0,0 @@
# See bd8c064
[Service]
##Delegate=yes
# See https://github.com/moby/moby/issues/27633
# see also the related update in /etc/docker/daemon.json
# kill only the docker process, not all processes in the cgroup

View File

@@ -8,9 +8,10 @@ PYTHON_PKGS=`cat $X1/builds/any/rootfs/python-packages.yml | python -c 'import s
cd $X1
##chroot $TARGET pip install natsort
##chroot $TARGET pip install click-default-group
##chroot $TARGET pip install tabulate
DEBIAN_FRONTEND=noninteractive chroot $TARGET pip install pexpect click-default-group==1.2 tabulate==0.8.2 natsort
mkdir -p $TARGET/var/cache/sonic
sudo -E -u $SUDO_USER mkdir -p $SONIC/target/python-wheels
for pkg in $PYTHON_PKGS; do
WHEEL=target/python-wheels/$pkg

View File

@@ -1,14 +1,3 @@
variables:
!include $X1/make/versions/version-sonl.yml
Packages: &Packages
- !include $ONL/builds/any/rootfs/$ONL_DEBIAN_SUITE/common/all-base-packages.yml
- !include $ONL/builds/any/rootfs/$ONL_DEBIAN_SUITE/common/${ARCH}-base-packages.yml
- !include $ONL/builds/any/rootfs/$ONL_DEBIAN_SUITE/common/${ARCH}-onl-packages.yml
- !script $ONL/tools/onl-platform-pkgs.py ${PLATFORM_LIST}
- !include $X1/builds/any/rootfs/all-packages.yml
- !include $X1/builds/any/rootfs/${ARCH}-packages.yml
Multistrap:
General:
arch: ${ARCH}
@@ -16,111 +5,59 @@ Multistrap:
noauth: true
explicitsuite: false
unpack: true
debootstrap: Debian-Local Local-All Local-Arch ONL-Local Docker
debootstrap: Local-Arch Local-All Debian Ubuntu-PPA
aptsources: Debian ONL
Debian:
packages: *Packages
source: http://${DEBIAN_MIRROR}
suite: ${ONL_DEBIAN_SUITE}
keyring: debian-archive-keyring
omitdebsrc: true
Debian-Local:
packages: *Packages
source: http://${APT_CACHE}${DEBIAN_MIRROR}
suite: ${ONL_DEBIAN_SUITE}
keyring: debian-archive-keyring
omitdebsrc: true
ONL:
packages: *Packages
source: http://apt.opennetlinux.org/debian
suite: unstable
omitdebsrc: true
ONL-Local:
packages: *Packages
source: http://${APT_CACHE}apt.opennetlinux.org/debian
suite: unstable
omitdebsrc: true
Local-All:
packages:
- python-sonic-utilities:all
source: ${ONLPM_OPTION_REPO}/${ONL_DEBIAN_SUITE}/packages/binary-all
omitdebsrc: true
Local-Arch:
packages:
- x1-docker-database:amd64
- x1-docker-syncd:amd64
- x1-docker-orchagent:amd64
# - x1-docker-fpm-frr:amd64
# - x1-docker-router-advertiser:amd64
# - x1-docker-teamd:amd64
# - x1-docker-lldp-sv2:amd64
# - x1-docker-dhcp-relay:amd64
# - x1-docker-snmp-sv2:amd64
source: ${ONLPM_OPTION_REPO}/${ONL_DEBIAN_SUITE}/packages/binary-${ARCH}
omitdebsrc: true
Docker:
packages: docker-ce=18.03.1~ce-0~debian
source: https://download.docker.com/linux/debian
suite: ${ONL_DEBIAN_SUITE}
components: stable
Ubuntu-PPA:
packages: podman
source: http://ppa.launchpad.net/projectatomic/ppa/ubuntu
suite: bionic
omitdebsrc: true
Configure:
overlays:
- $ONL/builds/any/rootfs/${ONL_DEBIAN_SUITE}/common/overlay
- $X1/builds/any/rootfs/overlay
update-rc.d:
- 'faultd defaults'
- 'onlpd defaults'
- 'snmpd defaults'
- 'ssh defaults'
- 'openbsd-inetd remove'
- 'ntp remove'
- 'nfs-common remove'
- 'rpcbind remove'
- 'motd remove'
- 'mountall-bootclean.sh remove'
- 'mountall.sh remove'
- 'checkfs.sh remove'
- 'mtab.sh remove'
- 'checkroot-bootclean.sh remove'
- 'checkroot.sh remove'
- 'mountnfs-bootclean.sh remove'
- 'mountnfs.sh remove'
- 'lm-sensors remove'
- 'netplug defaults'
- 'watchdog defaults'
- 'wd_keepalive remove'
options:
clean: True
securetty: False
ttys: False
console: True
PermitRootLogin: 'yes'
users:
root:
password: x1
manifests:
'/etc/onl/rootfs/manifest.json' :
version : $ONL/make/versions/version-onl.json
platforms : $PLATFORM_LIST
'/etc/x1/rootfs/manifest.json' :
version : $X1/make/versions/version-sonl.json
platforms : $PLATFORM_LIST
keys:
version :
CONFIGURATION: RELEASE
issue: $VERSION_STRING
commands:
- 'sudo rm -rf __rfs__/var/tmp'
- 'sudo mkdir -p __rfs__/var/tmp'
- 'sudo mkdir -p __rfs__/host/warmboot'
- 'sudo mkdir -p __rfs__/var/log/swss'
files:
remove:
- /etc/motd
- /etc/inittab
scripts:
- $__DIR__/sonic-setup.sh
- $__DIR__/python-setup.sh
- $__DIR__/docker-setup.sh
- $__DIR__/deb-setup.sh
- $__DIR__/docker-supervisord.py
- /tmp
- /etc/motd
- /etc/inittab
- /usr/bin/reboot # remove SONiC reboot
- /etc/udev/rules.d/60-block.rules
- /etc/udev/rules.d/60-net.rules
- /etc/boot.d/70.dhclient.conf

View File

@@ -0,0 +1,127 @@
variables:
!include $X1/make/versions/version-goldstone.yml
Packages: &Packages
- !script $ONL/tools/onl-init-pkgs.py ${INIT}
- !include $ONL/builds/any/rootfs/$ONL_DEBIAN_SUITE/common/all-base-packages.yml
- !script $ONL/tools/onl-platform-pkgs.py ${PLATFORM_LIST}
- !include $X1/builds/any/rootfs/all-packages.yml
- !include $X1/builds/any/rootfs/${ARCH}-packages.yml
Multistrap:
General:
arch: ${ARCH}
cleanup: true
noauth: true
explicitsuite: false
unpack: true
debootstrap: Debian-Local Local-All Local-Arch ONL-Local
aptsources: Debian ONL
Debian:
packages: *Packages
source: http://${DEBIAN_MIRROR}
suite: ${ONL_DEBIAN_SUITE}
keyring: debian-archive-keyring
omitdebsrc: true
Debian-Local:
packages: *Packages
source: http://${APT_CACHE}${DEBIAN_MIRROR}
suite: ${ONL_DEBIAN_SUITE}
keyring: debian-archive-keyring
omitdebsrc: true
ONL:
packages: *Packages
source: http://apt.opennetlinux.org/debian
suite: unstable
omitdebsrc: true
ONL-Local:
packages: *Packages
source: http://${APT_CACHE}apt.opennetlinux.org/debian
suite: unstable
omitdebsrc: true
Local-All:
source: ${ONLPM_OPTION_REPO}/${ONL_DEBIAN_SUITE}/packages/binary-all
omitdebsrc: true
Local-Arch:
source: ${ONLPM_OPTION_REPO}/${ONL_DEBIAN_SUITE}/packages/binary-${ARCH}
omitdebsrc: true
Configure:
overlays:
- $ONL/builds/any/rootfs/${ONL_DEBIAN_SUITE}/common/overlay
- $X1/builds/any/rootfs/overlay
update-rc.d:
- 'faultd defaults'
- 'onlpd defaults'
- 'snmpd defaults'
- 'ssh defaults'
- 'openbsd-inetd remove'
- 'ntp remove'
- 'nfs-common remove'
- 'rpcbind remove'
- 'motd remove'
- 'mountall-bootclean.sh remove'
- 'mountall.sh remove'
- 'checkfs.sh remove'
- 'mtab.sh remove'
- 'checkroot-bootclean.sh remove'
- 'checkroot.sh remove'
- 'mountnfs-bootclean.sh remove'
- 'mountnfs.sh remove'
- 'lm-sensors remove'
- 'netplug defaults'
- 'watchdog defaults'
- 'wd_keepalive remove'
options:
clean: True
securetty: False
ttys: False
console: True
PermitRootLogin: 'yes'
users:
root:
password: x1
manifests:
'/etc/onl/rootfs/manifest.json' :
version : $ONL/make/versions/version-onl.json
platforms : $PLATFORM_LIST
'/etc/goldstone/rootfs/manifest.json' :
version : $X1/make/versions/version-goldstone.json
platforms : $PLATFORM_LIST
keys:
version :
CONFIGURATION: RELEASE
issue: $VERSION_STRING
files:
link:
# 2 issues brought docker symlink creation here though the podman
# installation happends in rfs.yml.
#
# 1. podman can't be installed in rfs_pre.yml because it has confliction
# issue with vim installation. The package includes vim-info varlink
# syntax configuration which conflicts with the vim installation.
# podman installation must happen after the vim installation, but the
# package doesn't have vim dependencies
#
# 2. x1-docker-* packages needs docker symlink. This 'files' configuration
# happends after multistrap does the package installation. So making
# symlink in rfs.yml is too late to configure x1-docker-* packages
- src: podman
dst: /usr/bin/docker
symbolic: true
scripts:
- $__DIR__/python-setup.sh

View File

@@ -1 +0,0 @@
- python-sonic-utilities

View File

@@ -1,26 +0,0 @@
#!/bin/bash
# this script will be executed after multistrap to add the sonic repo
# adding sonic-dev repo in multistrap stage somehow raises the following issue
# https://blog.packagecloud.io/eng/2016/03/21/apt-hash-sum-mismatch/
set -xeu
FILESYSTEM_ROOT=`realpath $1`
cd $SONIC
. functions.sh
IMAGE_CONFIGS=files/image_config
cp $IMAGE_CONFIGS/apt/sources.list.d/packages_microsoft_com_repos_sonic_dev.list $FILESYSTEM_ROOT/etc/apt/sources.list.d/
cat $IMAGE_CONFIGS/apt/sonic-dev.gpg.key | sudo LANG=C chroot $FILESYSTEM_ROOT apt-key add -
DEBIAN_FRONTEND=noninteractive chroot $FILESYSTEM_ROOT apt-get update
DEBIAN_FRONTEND=noninteractive chroot $FILESYSTEM_ROOT apt-get -y install python-click-default-group python-tabulate python-natsort
# get these packages once sonic-dev is enabled (after initial multistrap)
# missing files from the sonic installer
# (see # sonic-buildimage/files/build_templates/sonic_debian_extension.j2)
mkdir -p $FILESYSTEM_ROOT/var/cache/sonic

View File

@@ -1,5 +1,5 @@
variables:
!include $X1/make/versions/version-sonl.yml
!include $X1/make/versions/version-goldstone.yml
prerequisites:
broken: true
@@ -7,7 +7,7 @@ prerequisites:
packages:
- name: x1-swi
summary: SONiC+ONL Network OS Switch Image (All $ARCH) Platforms)
summary: Goldstone Network OS Switch Image (All $ARCH) Platforms)
arch: $ARCH
version: 0.$FNAME_RELEASE_ID
copyright: Copyright 2018 Big Switch Networks
@@ -16,10 +16,10 @@ packages:
support: support@bigswitch.com
files:
builds/*.swi : $$PKG_INSTALL/
builds/*.md5sum : $$PKG_INSTALL/
builds/manifest.json : $$PKG_INSTALL/
builds/$ONL_DEBIAN_SUITE/*.swi : $$PKG_INSTALL/
builds/$ONL_DEBIAN_SUITE/*.md5sum : $$PKG_INSTALL/
builds/$ONL_DEBIAN_SUITE/manifest.json : $$PKG_INSTALL/
release:
- builds/*.swi : $ARCH/
- builds/*.md5sum : $ARCH/
- builds/$ONL_DEBIAN_SUITE/*.swi : $ARCH/
- builds/$ONL_DEBIAN_SUITE/*.md5sum : $ARCH/

View File

@@ -4,10 +4,10 @@
# custom preparation prior to switching root.
#
############################################################
cp -R /etc/sonl /newroot/etc
cp -R /etc/goldstone /newroot/etc
if [ -d /var/run/udhcpc ]; then
cp -R /var/run/udhcpc /newroot/etc/sonl/loader
cp -R /var/run/udhcpc /newroot/etc/goldstone/loader
fi
ip link set dev ma1 name eth0

View File

@@ -1,8 +1,8 @@
LOADER_SYSTEM_NAME="SONiC+ONL Network OS"
LOADER_SYSTEM_NAME="Goldstone Network OS"
LOADER_LOADER_NAME="Loader"
LOADER_PROMPT="loader# "
ONL_UDHCPC_VENDOR="SONL"
ONL_UDHCPC_VENDOR="GOLDSTONE"
if [ -f /etc/sonl/loader/versions.sh ]; then
. /etc/sonl/loader/versions.sh
if [ -f /etc/goldstone/loader/versions.sh ]; then
. /etc/goldstone/loader/versions.sh
fi

View File

@@ -17,5 +17,6 @@ python-sonic-utilities_all.deb:
fi
python-click_all.deb:
$(MAKE) -C $(SONIC) target/debs/$(PYTHON_CLICK)
ln -sf $(SONIC)/target/debs/$(PYTHON_CLICK) $@
mkdir -p $(SONIC)/target/debs/stretch
$(MAKE) -C $(SONIC) target/debs/stretch/$(PYTHON_CLICK)
ln -sf $(SONIC)/target/debs/stretch/$(PYTHON_CLICK) $@

View File

@@ -13,14 +13,18 @@ packages:
builds/rc.local: /etc/
builds/firsttime: /host/image-${SONIC_VERSION}/platform/
builds/pmon.service : /etc/systemd/system/
$X1/sm/sonic-buildimage/fsroot/usr/share/sonic/device : /usr/share/sonic/device
$X1/sm/sonic-buildimage/fsroot/usr/share/sonic/templates : /usr/share/sonic/templates
$X1/sm/sonic-buildimage/fsroot/etc/sonic : /etc/sonic
$X1/sm/sonic-buildimage/fsroot/usr/bin/vtysh : /usr/bin/
$X1/sm/sonic-buildimage/fsroot/usr/bin/lldpctl : /usr/bin/
$X1/sm/sonic-buildimage/fsroot/usr/bin/hostname-config.sh : /usr/bin/
$X1/sm/sonic-buildimage/fsroot/etc/systemd/system/hostname-config.service : /etc/systemd/system/
$X1/sm/sonic-buildimage/fsroot/usr/bin/interfaces-config.sh : /usr/bin/
$X1/sm/sonic-buildimage/fsroot/etc/systemd/system/interfaces-config.service : /etc/systemd/system/
$X1/sm/sonic-buildimage/fsroot/usr/bin/ntp-config.sh : /usr/bin/
$X1/sm/sonic-buildimage/fsroot/etc/systemd/system/ntp-config.service : /etc/systemd/system/
$SONIC/fsroot/usr/share/sonic/device : /usr/share/sonic/device
$SONIC/fsroot/usr/share/sonic/templates : /usr/share/sonic/templates
$SONIC/fsroot/etc/sonic : /etc/sonic
$SONIC/fsroot/usr/bin/vtysh : /usr/bin/
$SONIC/fsroot/usr/bin/lldpctl : /usr/bin/
$SONIC/fsroot/usr/bin/hostname-config.sh : /usr/bin/
$SONIC/fsroot/etc/systemd/system/hostname-config.service : /etc/systemd/system/
$SONIC/fsroot/usr/bin/interfaces-config.sh : /usr/bin/
$SONIC/fsroot/etc/systemd/system/interfaces-config.service : /etc/systemd/system/
$SONIC/fsroot/usr/bin/ntp-config.sh : /usr/bin/
$SONIC/fsroot/etc/systemd/system/ntp-config.service : /etc/systemd/system/
$SONIC/dockers/docker-database/base_image_files/redis-cli: /usr/bin/
$SONIC/dockers/docker-orchagent/base_image_files/swssloglevel: /usr/bin/
optional-files:
builds/sonic_version.yml: /etc/sonic/sonic_version.yml

View File

@@ -1,11 +1,24 @@
include $(X1)/make/config.mk
ALL := motd environment rc.local device firsttime
ALL := motd environment rc.local firsttime sonic
.PHONY : $(ALL)
all: $(ALL)
@./mk_sonic_version.sh
export sonic_asic_platform := broadcom
export _USER := ${USER}
$(SONIC)/.platform:
$(MAKE) -C $(SONIC) init
$(MAKE) -C $(SONIC) configure PLATFORM=$(sonic_asic_platform)
$(SONIC)/fsroot: $(SONIC)/.platform
$(MAKE) -C $(SONIC) target/sonic-broadcom.bin
sudo chown -R $(_USER):$(_USER) $(SONIC)/fsroot
sonic: $(SONIC)/fsroot
motd:
rm -rf motd
ln -s $(SONIC)/files/image_config/environment/motd motd
@@ -18,13 +31,8 @@ rc.local: $(SONIC)/files/image_config/platform/rc.local edit-rc-local
./edit-rc-local $(SONIC)/files/image_config/platform/rc.local $@
chmod +x $@
device:
rm -rf device
mkdir device
cp -r -H $(SONIC)/device/*/* ./device
firsttime:
touch firsttime
clean:
-rm -r $(ALL)
$(RM) $(ALL)

View File

@@ -1,11 +1,11 @@
############################################################
#
# X1 System Configuration
# Goldstone System Configuration
#
############################################################
installer:
menu_name: SONL
os_name: SONiC+ONL Network OS
menu_name: Goldstone
os_name: Goldstone Network OS
grub:
- $PLATFORM.cpio.gz
- x1-loader-initrd-$PARCH.cpio.gz
@@ -21,18 +21,18 @@ upgrade:
onie:
auto: advisory
package:
dir: /lib/platform-config/current/sonl/upgrade/onie
dir: /lib/platform-config/current/goldstone/upgrade/onie
firmware:
auto: advisory
package:
dir: /lib/platform-config/current/sonl/upgrade/firmware
dir: /lib/platform-config/current/goldstone/upgrade/firmware
loader:
auto: force
versions: /etc/sonl/loader/versions.json
versions: /etc/goldstone/loader/versions.json
package:
dir: /etc/sonl/upgrade/$PARCH
dir: /etc/goldstone/upgrade/$PARCH
grub:
- $PLATFORM.cpio.gz
- x1-loader-initrd-$PARCH.cpio.gz

View File

@@ -10,9 +10,9 @@ packages:
after-install: $__DIR__/after-install.sh
after-remove: $__DIR__/after-remove.sh
depends:
- docker-ce
- podman
build-depends:
- docker-ce
- podman
files:
$__DIR__/builds/docker-database.gz: /var/cache/apt/
$__DIR__/builds/database.sh: /usr/bin/

View File

@@ -1,5 +1,7 @@
#!/bin/sh
set -eux
docker inspect docker-database:latest || docker load < /var/cache/apt/docker-database.gz
systemctl enable database
rm /var/cache/apt/docker-database.gz

View File

@@ -1,4 +1,6 @@
#!/bin/sh
set -eux
docker inspect docker-database:latest || docker rmi docker-database:latest
systemctl disable database

View File

@@ -1,3 +1,4 @@
*
!.gitignore
!Makefile
*~
*.gz
database.service
database.sh

View File

@@ -8,6 +8,7 @@ export docker_image_name := $(basename $(docker))
export docker_container_name := $($(docker)_CONTAINER_NAME)
export docker_image_run_opt := $($(docker)_RUN_OPT)
export sonic_asic_platform := broadcom
export install_debug_image := "n"
all: docker-database.gz database.sh database.service
@@ -19,12 +20,12 @@ docker-database.gz: $(SONIC)/.platform
$(MAKE) -C $(SONIC) target/docker-database.gz
ln -sf $(SONIC)/target/docker-database.gz $@
database.sh:
j2 $(SONIC)/files/build_templates/docker_image_ctl.j2 > $@
database.sh: edit-database-sh $(SONIC)/files/build_templates/docker_image_ctl.j2
./edit-database-sh $(SONIC)/files/build_templates/docker_image_ctl.j2 $@
chmod +x $@
database.service:
j2 $(SONIC)/files/build_templates/database.service.j2 > $@
database.service: edit-database-service $(SONIC)/files/build_templates/database.service.j2
./edit-database-service $(SONIC)/files/build_templates/database.service.j2 $@
clean:
-rm docker-database.gz database.sh database.service

View File

@@ -0,0 +1,23 @@
#!/bin/sh
set -eux
src=$1; shift
dst=$1; shift
j2 "$src" > ${dst}~
/bin/ed <<-END
H
P
r ${dst}~
,g/docker/d
/Description/
a
After=rc-local.service
.
w $dst
q
END
exit 0

View File

@@ -0,0 +1,22 @@
#!/bin/sh
set -eux
src=$1; shift
dst=$1; shift
j2 "$src" > ${dst}~
/bin/ed <<-END
H
P
r ${dst}~
/DOCKERCHECK/
i
mkdir -p /var/run/redis
.
w $dst
q
END
exit 0

View File

@@ -10,9 +10,9 @@ packages:
after-install: $__DIR__/after-install.sh
after-remove: $__DIR__/after-remove.sh
depends:
- docker-ce
- podman
build-depends:
- docker-ce
- podman
files:
$__DIR__/builds/docker-dhcp-relay.gz: /var/cache/apt/
$__DIR__/builds/dhcp_relay.sh: /usr/bin/

View File

@@ -1,5 +1,7 @@
#!/bin/sh
set -eux
docker inspect docker-dhcp-relay:latest || docker load < /var/cache/apt/docker-dhcp-relay.gz
systemctl enable dhcp_relay
rm /var/cache/apt/docker-dhcp-relay.gz

View File

@@ -1,4 +1,6 @@
#!/bin/sh
set -eux
docker inspect docker-dhcp-relay:latest || docker rmi docker-dhcp-relay:latest
systemctl disable dhcp_relay

View File

@@ -8,6 +8,7 @@ export docker_image_name := $(basename $(docker))
export docker_container_name := $($(docker)_CONTAINER_NAME)
export docker_image_run_opt := $($(docker)_RUN_OPT)
export sonic_asic_platform := broadcom
export install_debug_image := "n"
all: docker-dhcp-relay.gz dhcp_relay.sh dhcp_relay.service

View File

@@ -10,9 +10,9 @@ packages:
after-install: $__DIR__/after-install.sh
after-remove: $__DIR__/after-remove.sh
depends:
- docker-ce
- podman
build-depends:
- docker-ce
- podman
files:
$__DIR__/builds/docker-fpm-frr.gz: /var/cache/apt/
$__DIR__/builds/bgp.sh: /usr/bin/

View File

@@ -1,5 +1,8 @@
#!/bin/sh
docker inspect docker-fpm-frr:latest || docker load < /var/cache/apt/docker-fpm-frr.gz
set -eux
IMAGE=docker-fpm-frr
docker inspect $IMAGE:latest || docker load < /var/cache/apt/$IMAGE.gz
systemctl enable bgp
rm /var/cache/apt/docker-fpm-frr.gz
rm /var/cache/apt/$IMAGE.gz

View File

@@ -8,6 +8,7 @@ export docker_image_name := $(basename $(docker))
export docker_container_name := $($(docker)_CONTAINER_NAME)
export docker_image_run_opt := $($(docker)_RUN_OPT)
export sonic_asic_platform := broadcom
export install_debug_image := "n"
all: docker-fpm-frr.gz bgp.sh bgp.service

View File

@@ -10,9 +10,9 @@ packages:
after-install: $__DIR__/after-install.sh
after-remove: $__DIR__/after-remove.sh
depends:
- docker-ce
- podman
build-depends:
- docker-ce
- podman
files:
$__DIR__/builds/docker-fpm-quagga.gz: /var/cache/apt/
$__DIR__/builds/bgp.sh: /usr/bin/

View File

@@ -1,5 +1,8 @@
#!/bin/sh
docker inspect docker-fpm-quagga:latest || docker load < /var/cache/apt/docker-fpm-quagga.gz
set -eux
IMAGE=docker-fpm-quagga
docker inspect $IMAGE:latest || docker load < /var/cache/apt/$IMAGE.gz
systemctl enable bgp
rm /var/cache/apt/docker-fpm-quagga.gz
rm /var/cache/apt/$IMAGE.gz

View File

@@ -8,6 +8,7 @@ export docker_image_name := $(basename $(docker))
export docker_container_name := $($(docker)_CONTAINER_NAME)
export docker_image_run_opt := $($(docker)_RUN_OPT)
export sonic_asic_platform := broadcom
export install_debug_image := "n"
all: docker-fpm-quagga.gz bgp.sh bgp.service

View File

@@ -10,9 +10,9 @@ packages:
after-install: $__DIR__/after-install.sh
after-remove: $__DIR__/after-remove.sh
depends:
- docker-ce
- podman
build-depends:
- docker-ce
- podman
files:
$__DIR__/builds/docker-lldp-sv2.gz: /var/cache/apt/
$__DIR__/builds/lldp.sh: /usr/bin/

View File

@@ -1,5 +1,8 @@
#!/bin/sh
docker inspect docker-lldp-sv2:latest || docker load < /var/cache/apt/docker-lldp-sv2.gz
set -eux
IMAGE=docker-lldp-sv2
docker inspect $IMAGE:latest || docker load < /var/cache/apt/$IMAGE.gz
systemctl enable lldp
rm /var/cache/apt/docker-lldp-sv2.gz
rm /var/cache/apt/$IMAGE.gz

View File

@@ -8,6 +8,7 @@ export docker_image_name := $(basename $(docker))
export docker_container_name := $($(docker)_CONTAINER_NAME)
export docker_image_run_opt := $($(docker)_RUN_OPT)
export sonic_asic_platform := broadcom
export install_debug_image := "n"
all: docker-lldp-sv2.gz lldp.sh lldp.service

View File

@@ -1 +1,19 @@
!include $X1_TEMPLATES/x1-docker.yml SERVICE=orchagent ARCH=amd64 VERSION=1.0.0
packages:
- name: x1-docker-orchagent
arch: amd64
version: 1.0.0
copyright: Copyright 2018 Big Switch Networks
maintainer: support@bigswitch.com
changelog: Initial
support: support@bigswitch.com
summary: X1 Docker Service for orchagent
after-install: $__DIR__/after-install.sh
after-remove: $__DIR__/after-remove.sh
depends:
- podman
build-depends:
- podman
files:
$__DIR__/builds/docker-orchagent.gz: /var/cache/apt/
$__DIR__/builds/swss.sh: /usr/bin/
$__DIR__/builds/swss.service: /etc/systemd/system/

View File

@@ -1,4 +1,8 @@
#!/bin/sh
docker inspect docker-orchagent-brcm:latest || docker load < /var/cache/apt/docker-orchagent.gz
set -eux
IMAGE=docker-orchagent-brcm
docker inspect $IMAGE:latest || docker load < /var/cache/apt/docker-orchagent.gz
systemctl enable swss
rm /var/cache/apt/docker-orchagent.gz

View File

@@ -1,3 +1,3 @@
orchagent.service
orchagent.sh
swss.service
swss.sh
docker-orchagent.gz

View File

@@ -2,15 +2,24 @@ include $(X1)/make/config.mk
export sonic_asic_platform := broadcom
all: docker-orchagent.gz
ALL := docker-orchagent.gz swss.sh swss.service
.PHONY: $(ALL)
all: $(ALL)
$(SONIC)/.platform:
$(MAKE) -C $(SONIC) init
$(MAKE) -C $(SONIC) configure PLATFORM=$(sonic_asic_platform)
docker-orchagent.gz: $(SONIC)/.platform
$(MAKE) -C $(SONIC) target/docker-orchagent-brcm.gz
ln -sf $(SONIC)/target/docker-orchagent-brcm.gz $@
$(MAKE) -C $(SONIC) target/$@
ln -sf $(SONIC)/target/$@ $@
swss.sh: swss.mk
$(MAKE) -f swss.mk $@
swss.service: swss.mk
$(MAKE) -f swss.mk $@
clean:
-rm docker-orchagent.gz
-$(RM) $(ALL) *~

View File

@@ -0,0 +1 @@
/home/wataru/.ghq/github.com/Telecominfraproject/goldstone/sm/sonic-buildimage/files/build_templates/docker_image_ctl.j2

View File

@@ -1,12 +1,16 @@
include $(X1)/make/config.mk
include $(SONIC)/platform/broadcom/docker-orchagent-brcm.mk
include $(SONIC)/rules/docker-orchagent.mk
export docker := $(DOCKER_ORCHAGENT_BRCM)
export docker := $(DOCKER_ORCHAGENT)
export docker_image := $(docker)
export docker_image_name := $(basename $(docker))
export docker_container_name := $($(docker)_CONTAINER_NAME)
export docker_image_run_opt := $($(docker)_RUN_OPT)
export sonic_asic_platform := broadcom
export install_debug_image := "n"
docker_image_ctl.j2: $(SONIC)/files/build_templates/docker_image_ctl.j2
ln -sf $^ $@
swss.sh: docker_image_ctl.j2 swss.sh.pre
cp /dev/null $@

View File

@@ -8,5 +8,3 @@
# Default-Stop:
# Short-Description: Start SoNIC swss service
### END INIT INFO
/usr/bin/bcm-kmods || :

View File

@@ -10,9 +10,9 @@ packages:
after-install: $__DIR__/after-install.sh
after-remove: $__DIR__/after-remove.sh
depends:
- docker-ce
- podman
build-depends:
- docker-ce
- podman
files:
$__DIR__/builds/docker-router-advertiser.gz: /var/cache/apt/
$__DIR__/builds/radv.sh: /usr/bin/

View File

@@ -1,5 +1,8 @@
#!/bin/sh
docker inspect docker-router-advertiser:latest || docker load < /var/cache/apt/docker-router-advertiser.gz
set -eux
IMAGE=docker-router-advertiser
docker inspect $IMAGE:latest || docker load < /var/cache/apt/$IMAGE.gz
systemctl enable radv
rm /var/cache/apt/docker-router-advertiser.gz
rm /var/cache/apt/$IMAGE.gz

View File

@@ -8,6 +8,7 @@ export docker_image_name := $(basename $(docker))
export docker_container_name := $($(docker)_CONTAINER_NAME)
export docker_image_run_opt := $($(docker)_RUN_OPT)
export sonic_asic_platform := broadcom
export install_debug_image := "n"
all: docker-router-advertiser.gz radv.sh radv.service

View File

@@ -10,9 +10,9 @@ packages:
after-install: $__DIR__/after-install.sh
after-remove: $__DIR__/after-remove.sh
depends:
- docker-ce
- podman
build-depends:
- docker-ce
- podman
files:
$__DIR__/builds/docker-snmp-sv2.gz: /var/cache/apt/
$__DIR__/builds/snmp.sh: /usr/bin/

View File

@@ -1,5 +1,8 @@
#!/bin/sh
docker inspect docker-snmp-sv2:latest || docker load < /var/cache/apt/docker-snmp-sv2.gz
set -eux
IMAGE=docker-snmp-sv2
docker inspect $IMAGE:latest || docker load < /var/cache/apt/$IMAGE.gz
systemctl enable snmp
rm /var/cache/apt/docker-snmp-sv2.gz
rm /var/cache/apt/$IMAGE.gz

View File

@@ -9,6 +9,7 @@ export docker_image_name := $(basename $(docker))
export docker_container_name := $($(docker)_CONTAINER_NAME)
export docker_image_run_opt := $($(docker)_RUN_OPT)
export sonic_asic_platform := broadcom
export install_debug_image := "n"
all: docker-snmp-sv2.gz snmp.sh snmp.service

View File

@@ -1 +1,19 @@
!include $X1_TEMPLATES/x1-docker.yml SERVICE=syncd ARCH=amd64 VERSION=1.0.0
packages:
- name: x1-docker-syncd
arch: amd64
version: 1.0.0
copyright: Copyright 2018 Big Switch Networks
maintainer: support@bigswitch.com
changelog: Initial
support: support@bigswitch.com
summary: X1 Docker Service for syncd
after-install: $__DIR__/after-install.sh
after-remove: $__DIR__/after-remove.sh
depends:
- podman
build-depends:
- podman
files:
$__DIR__/builds/docker-syncd.gz: /var/cache/apt/
$__DIR__/builds/syncd.sh: /usr/local/bin/
$__DIR__/builds/syncd.service: /etc/systemd/system/

View File

@@ -1,4 +1,8 @@
#!/bin/sh
docker inspect docker-syncd-brcm:latest || docker load < /var/cache/apt/docker-syncd.gz
set -eux
IMAGE=docker-syncd-brcm:latest
docker inspect $IMAGE || docker load < /var/cache/apt/docker-syncd.gz
systemctl enable syncd
rm /var/cache/apt/docker-syncd.gz

View File

@@ -1,3 +1,4 @@
*
!.gitignore
!Makefile
docker_image_ctl.j2
syncd.sh
syncd.service
*.gz

View File

@@ -2,7 +2,10 @@ include $(X1)/make/config.mk
export sonic_asic_platform := broadcom
all: docker-syncd.gz
ALL := docker-syncd.gz syncd.sh syncd.service
.PHONY : $(ALL)
all: $(ALL)
$(SONIC)/.platform:
$(MAKE) -C $(SONIC) init
@@ -12,5 +15,11 @@ docker-syncd.gz: $(SONIC)/.platform
$(MAKE) -C $(SONIC) target/docker-syncd-brcm.gz
ln -sf $(SONIC)/target/docker-syncd-brcm.gz $@
syncd.sh: syncd.mk
$(MAKE) -f syncd.mk $@
syncd.service: syncd.mk
$(MAKE) -f syncd.mk $@
clean:
-rm docker-syncd.gz
-$(RM) $(ALL) *~

View File

@@ -0,0 +1,21 @@
#!/bin/sh
set -e
set -x
src=$1; shift
dst=$1; shift
j2 "$src" > ${dst}~
/bin/ed <<-END
H
P
r ${dst}~
,g/opennsl/d
,g/interfaces/d
w $dst
q
END
exit 0

View File

@@ -0,0 +1,30 @@
#!/bin/sh
set -e
set -x
src=$1; shift
dst=$1; shift
j2 "$src" > ${dst}~
/bin/ed <<-END
H
P
r ${dst}~
/DOCKERCHECK/
i
mkdir -p /var/run/docker-syncd
.
/--name=/
?--tmpfs /tmp?d
a
-v /tmp:/tmp \\
-v /dev:/dev \\
-v /usr/lib/libsai.so.1.0:/usr/lib/libsai.so.1.0 \\
.
w $dst
q
END
exit 0

View File

@@ -0,0 +1,20 @@
include $(X1)/make/config.mk
export PLATFORM_PATH=$(SONIC)/platform/broadcom/
include $(SONIC)/platform/broadcom/docker-syncd-brcm.mk
export docker := $(DOCKER_SYNCD_BASE_STEM)
export docker_image := $(docker)
export docker_image_name := $(basename $(docker))
export docker_container_name := $($(DOCKER_SYNCD_BASE)_CONTAINER_NAME)
export docker_image_run_opt := $($(DOCKER_SYNCD_BASE)_RUN_OPT)
export install_debug_image := "n"
docker_image_ctl.j2: $(SONIC)/files/build_templates/docker_image_ctl.j2
ln -sf $^ $@
syncd.sh: docker_image_ctl.j2 edit-syncd-sh
./edit-syncd-sh docker_image_ctl.j2 $@
chmod +x $@
syncd.service: $(SONIC)/files/build_templates/syncd.service.j2 edit-syncd-service
./edit-syncd-service $(SONIC)/files/build_templates/syncd.service.j2 $@

View File

@@ -10,9 +10,9 @@ packages:
after-install: $__DIR__/after-install.sh
after-remove: $__DIR__/after-remove.sh
depends:
- docker-ce
- podman
build-depends:
- docker-ce
- podman
files:
$__DIR__/builds/docker-teamd.gz: /var/cache/apt/
$__DIR__/builds/teamd.sh: /usr/bin/

View File

@@ -1,5 +1,8 @@
#!/bin/sh
docker inspect docker-teamd:latest || docker load < /var/cache/apt/docker-teamd.gz
set -eux
IMAGE=docker-teamd
docker inspect $IMAGE:latest || docker load < /var/cache/apt/$IMAGE.gz
systemctl enable teamd
rm /var/cache/apt/docker-teamd.gz
rm /var/cache/apt/$IMAGE.gz

View File

@@ -8,6 +8,7 @@ export docker_image_name := $(basename $(docker))
export docker_container_name := $($(docker)_CONTAINER_NAME)
export docker_image_run_opt := $($(docker)_RUN_OPT)
export sonic_asic_platform := broadcom
export install_debug_image := "n"
all: docker-teamd.gz teamd.sh teamd.service

View File

@@ -1,7 +1,11 @@
prerequisites:
packages:
- 'sonic:all'
packages:
- name: libsaibcm
arch: amd64
external: "$X1/sm/sonic-buildimage/target/debs/libsaibcm_3.3.3.1-3_amd64.deb"
external: "$SONIC/target/debs/${ONL_DEBIAN_SUITE}/libsaibcm_3.5.2.3_amd64.deb"
- name: libsaibcm-dev
arch: amd64
external: "$X1/sm/sonic-buildimage/target/debs/libsaibcm-dev_3.3.3.1-3_amd64.deb"
external: "$SONIC/target/debs/${ONL_DEBIAN_SUITE}/libsaibcm-dev_3.5.2.3_amd64.deb"

View File

@@ -1 +0,0 @@
include $(ONL)/make/pkg.mk

View File

@@ -1,15 +0,0 @@
packages:
- name: x1-swss
arch: amd64
version: 1.0.0
copyright: Copyright 2018 Big Switch Networks
maintainer: support@bigswitch.com
changelog: Initial
support: support@bigswitch.com
summary: X1 Switch State Service
depends:
- x1-docker-syncd
- x1-docker-orchagent
files:
$__DIR__/builds/syncd.sh: /etc/init.d/syncd
$__DIR__/builds/swss.sh: /etc/init.d/swss

View File

@@ -1,4 +0,0 @@
#!/bin/sh
systemctl enable swss
systemctl enable syncd

View File

@@ -1,4 +0,0 @@
#!/bin/sh
systemctl disable swss
systemctl disable syncd

View File

@@ -1,10 +0,0 @@
*
!.gitignore
!Makefile
!swss.mk
!syncd.mk
!edit-docker-template
!edit-syncd-service
!edit-swss-service
!swss.sh.pre
!syncd.sh.pre

View File

@@ -1,24 +0,0 @@
include $(X1)/make/config.mk
ALL := syncd.sh syncd.service swss.sh swss.service
.PHONY : $(ALL)
all: $(ALL)
docker_image_ctl.j2: $(SONIC)/files/build_templates/docker_image_ctl.j2 edit-docker-template
./edit-docker-template $(SONIC)/files/build_templates/docker_image_ctl.j2 $@
swss.sh: docker_image_ctl.j2
$(MAKE) -f swss.mk $@
swss.service: swss.mk
$(MAKE) -f swss.mk $@
syncd.sh: docker_image_ctl.j2
$(MAKE) -f syncd.mk $@
syncd.service: swss.mk
$(MAKE) -f syncd.mk $@
clean:
-rm $(ALL)

View File

@@ -1,23 +0,0 @@
#!/bin/sh
set -x
set -e
src=$1; shift
dst=$1; shift
/bin/ed <<-END
H
P
r $src
1
/--tmpfs/
a
--tmpfs /var/log/supervisor \\
--tmpfs /var \\
.
w $dst
q
END
exit 0

View File

@@ -1,22 +0,0 @@
#!/bin/sh
set -e
set -x
src=$1; shift
dst=$1; shift
j2 "$src" > ${dst}~
/bin/ed <<-END
H
P
r ${dst}~
,g/opennsl/d
,g/interfaces/d
,g/\/usr\/local\/bin/s/\/usr\/local/\/usr/
w $dst
q
END
exit 0

View File

@@ -1,18 +0,0 @@
include $(X1)/make/config.mk
include $(SONIC)/platform/broadcom/docker-syncd-brcm.mk
export docker := $(DOCKER_SYNCD_BRCM)
export docker_image := $(docker)
export docker_image_name := $(basename $(docker))
export docker_container_name := $($(docker)_CONTAINER_NAME)
export docker_image_run_opt := $($(docker)_RUN_OPT)
export sonic_asic_platform := broadcom
syncd.sh: docker_image_ctl.j2 syncd.sh.pre
cp /dev/null $@
cat syncd.sh.pre >> $@
j2 docker_image_ctl.j2 >> $@
chmod +x $@
syncd.service: $(SONIC)/files/build_templates/syncd.service.j2 edit-syncd-service
./edit-syncd-service $(SONIC)/files/build_templates/syncd.service.j2 $@

View File

@@ -1,10 +0,0 @@
#!/bin/bash
### BEGIN INIT INFO
# Provides: syncd
# Required-Start: $network $remote_fs $syslog database updategraph
# Required-Stop: $network $remote_fs $syslog database updategraph
# Default-Start: 2 3 4 5
# Default-Stop:
# Short-Description: Start the SoNIC syncd service
### END INIT INFO

View File

@@ -13,7 +13,7 @@ packages:
maintainer: support@bigswitch.com
changelog: Initial
support: support@bigswitch.com
summary: SONL Upgrade Package
summary: Goldstone Upgrade Package
files:
builds/files : /etc/sonl/upgrade/amd64
builds/files : /etc/goldstone/upgrade/amd64

View File

@@ -14,13 +14,13 @@ TARGET := x1-loader-initrd-$(ARCH).cpio.gz
$(TARGET):
$(ONLPM) --copy-file onl-loader-initrd:$(ARCH) onl-loader-initrd-$(ARCH).cpio.gz .
$(ONLPM) --copy-file onl-loader-initrd:$(ARCH) manifest.json .
$(ONL)/tools/sjson.py --inout manifest.json --kj version $(X1)/make/versions/version-sonl.json
$(ONL)/tools/sjson.py --inout manifest.json --kj version $(X1)/make/versions/version-goldstone.json
$(X1)/tools/zerotouch.py --manifest-version 1 --operation installer --manifest manifest.json > zerotouch.json
sudo rm -rf $(ROOT) && mkdir $(ROOT)
sudo mkdir -p $(ROOT)/etc/sonl/loader && sudo cp manifest.json $(ROOT)/etc/sonl/loader
sudo cp $(X1)/make/versions/version-sonl.json $(ROOT)/etc/sonl/loader/versions.json
sudo cp $(X1)/make/versions/version-sonl.sh $(ROOT)/etc/sonl/loader/versions.sh
sudo cp $(X1)/make/versions/version-sonl.mk $(ROOT)/etc/sonl/loader/versions.mk
sudo mkdir -p $(ROOT)/etc/goldstone/loader && sudo cp manifest.json $(ROOT)/etc/goldstone/loader
sudo cp $(X1)/make/versions/version-goldstone.json $(ROOT)/etc/goldstone/loader/versions.json
sudo cp $(X1)/make/versions/version-goldstone.sh $(ROOT)/etc/goldstone/loader/versions.sh
sudo cp $(X1)/make/versions/version-goldstone.mk $(ROOT)/etc/goldstone/loader/versions.mk
$(ONLPM) --sudo --force --extract-dir x1-sysconfig:all $(ROOT)
$(ONLPM) --sudo --force --extract-dir x1-loader-files:all $(ROOT)
sudo $(ONL)/tools/cpiomod.py --cpio onl-loader-initrd-$(ARCH).cpio.gz --add-directory $(ROOT) --out $@

View File

@@ -1,3 +1,8 @@
prerequisites:
packages:
- 'libsaibcm:$ARCH'
- 'libsaibcm-dev:$ARCH'
packages:
- name: x1-sai-sanity
arch: $ARCH

View File

@@ -6,6 +6,6 @@ endif
# This is just a build hack at this point.
#
all:
sudo dpkg -i $(X1)/REPO/jessie/packages/binary-$(ARCH)/libsaibcm_*.deb
sudo dpkg -i $(X1)/REPO/jessie/packages/binary-$(ARCH)/libsaibcm-dev_*.deb
sudo dpkg -i $(X1)/REPO/$(ONL_DEBIAN_SUITE)/packages/binary-$(ARCH)/libsaibcm_*.deb
sudo dpkg -i $(X1)/REPO/$(ONL_DEBIAN_SUITE)/packages/binary-$(ARCH)/libsaibcm-dev_*.deb
$(CROSS_COMPILER)gcc -o sai-sanity $(X1)/packages/base/any/sai-sanity/sai-sanity.c -I/usr/include/sai -lsai

View File

@@ -24,10 +24,11 @@ export DOCKER_BUILDER_WORKDIR=$SONIC
# Checkout ONL if necessary
if [ ! -f $ONL/LICENSE ]; then
git submodule update --init sm/ONL
# Versions and setup.
(cd sm/ONL && . setup.env)
fi
# Versions and setup.
(cd sm/ONL && . setup.env)
# Checkout sonic-buildimage if necessary
if [ ! -f $SONIC/LICENSE ]; then
git submodule update --init sm/sonic-buildimage
@@ -38,6 +39,7 @@ fi
pushd $SONIC
DIRTY_SUFFIX=
. functions.sh
export BUILD_TIMESTAMP=$(date +%Y%m%d\.%H%M%S)
export SONIC_VERSION=$(sonic_get_version)
popd
@@ -67,7 +69,7 @@ export INIT=systemd
# Version files
$ONL/tools/make-versions.py --force --import-file=$X1/tools/x1vi --class-name=OnlVersionImplementation --output-dir $X1/make/versions
( . $X1/make/versions/version-sonl.sh && echo BuildID is $FNAME_BUILD_ID )
( . $X1/make/versions/version-goldstone.sh && echo BuildID is $FNAME_BUILD_ID )
# Enable local post-merge githook
gitroot=$($ONL/docker/tools/gitroot $X1)
@@ -83,7 +85,7 @@ cp -R $ONL/sm/build-artifacts/REPO/* $X1/REPO
# TODO Quick hack to make https work
# remove this after ONL builder has https support
# https://github.com/opennetworklinux/X1/pull/3/files#r201783677
sudo apt install -qy apt-transport-https
sudo apt install -qy apt-transport-https ed
# Install Docker cli
if [ ! -f /usr/bin/docker ]; then

View File

@@ -4,7 +4,7 @@ class OnlVersionImplementation(object):
PRODUCTS = [
{
"id" : "SONL",
"id" : "Goldstone",
# "version": "Your poduct version here.""
}
]
@@ -21,7 +21,7 @@ class OnlVersionImplementation(object):
self.PRODUCTS[0]['version'] = branch
def V_OS_NAME(self, data):
return "SONiC+ONL Network OS"
return "Goldstone Network OS"
def V_BUILD_SHA1(self, data):
return data['build_sha1']
@@ -45,16 +45,16 @@ class OnlVersionImplementation(object):
return data['product']['version']
def V_VERSION_ID(self, data):
return "SONL-{}".format(self.V_PRODUCT_ID_VERSION(data))
return "goldstone-{}".format(self.V_PRODUCT_ID_VERSION(data))
def V_FNAME_VERSION_ID(self, data):
return self.V_VERSION_ID(data)
def V_PRODUCT_VERSION(self, data):
return "SONL-{}".format(self.V_PRODUCT_ID_VERSION(data))
return "goldstone-{}".format(self.V_PRODUCT_ID_VERSION(data))
def V_FNAME_PRODUCT_VERSION(self, data):
return "SONL-{}".format(self.V_PRODUCT_ID_VERSION(data))
return "goldstone-{}".format(self.V_PRODUCT_ID_VERSION(data))
def V_VERSION_STRING(self, data):
return "{} {}, {}".format(self.V_OS_NAME(data), self.V_VERSION_ID(data), self.V_BUILD_ID(data))