[build]: SONiC buildimage ARM arch support (#2980)
ARM Architecture support in SONIC make configure platform=[ASIC_VENDOR_ARCH] PLATFORM_ARCH=[ARM_ARCH] SONIC_ARCH: default amd64 armhf - arm32bit arm64 - arm64bit Signed-off-by: Antony Rheneus <arheneus@marvell.com>
This commit is contained in:
parent
2c6cd620fb
commit
50fe458592
@ -57,6 +57,11 @@ $(shell rm -f .screen)
|
|||||||
|
|
||||||
MAKEFLAGS += -B
|
MAKEFLAGS += -B
|
||||||
|
|
||||||
|
CONFIGURED_ARCH := $(shell [ -f .arch ] && cat .arch || echo $(PLATFORM_ARCH))
|
||||||
|
ifeq ($(PLATFORM_ARCH),)
|
||||||
|
override PLATFORM_ARCH = $(CONFIGURED_ARCH)
|
||||||
|
endif
|
||||||
|
|
||||||
ifeq ($(BLDENV), stretch)
|
ifeq ($(BLDENV), stretch)
|
||||||
SLAVE_BASE_TAG = $(shell sha1sum sonic-slave-stretch/Dockerfile | awk '{print substr($$1,0,11);}')
|
SLAVE_BASE_TAG = $(shell sha1sum sonic-slave-stretch/Dockerfile | awk '{print substr($$1,0,11);}')
|
||||||
SLAVE_TAG = $(shell cat sonic-slave-stretch/Dockerfile.user sonic-slave-stretch/Dockerfile | sha1sum | awk '{print substr($$1,0,11);}')
|
SLAVE_TAG = $(shell cat sonic-slave-stretch/Dockerfile.user sonic-slave-stretch/Dockerfile | sha1sum | awk '{print substr($$1,0,11);}')
|
||||||
@ -99,6 +104,33 @@ include rules/config
|
|||||||
ifeq ($(SONIC_CONFIG_USE_NATIVE_DOCKERD_FOR_BUILD), y)
|
ifeq ($(SONIC_CONFIG_USE_NATIVE_DOCKERD_FOR_BUILD), y)
|
||||||
DOCKER_RUN += -v /var/run/docker.sock:/var/run/docker.sock
|
DOCKER_RUN += -v /var/run/docker.sock:/var/run/docker.sock
|
||||||
endif
|
endif
|
||||||
|
ifneq (,$(filter $(CONFIGURED_ARCH), armhf arm64))
|
||||||
|
# Multiarch docker cannot start dockerd service due to iptables cannot run over different arch kernel
|
||||||
|
SONIC_SERVICE_DOCKERD_FOR_MULTIARCH=y
|
||||||
|
SONIC_NATIVE_DOCKERD_FOR_MUTLIARCH := dockerd --experimental=true --storage-driver=vfs \
|
||||||
|
--data-root=/var/lib/march/docker/ --exec-root=/var/run/march/docker/ \
|
||||||
|
-H unix:///var/run/march/docker.sock -p /var/run/march/docker.pid
|
||||||
|
DOCKER_RUN += -v /var/run/march/docker.sock:/var/run/docker.sock
|
||||||
|
DOCKER_RUN += -v /var/run/march/docker.pid:/var/run/docker.pid
|
||||||
|
DOCKER_RUN += -v /var/run/march/docker:/var/run/docker
|
||||||
|
DOCKER_RUN += -v /var/lib/march/docker:/var/lib/docker
|
||||||
|
SONIC_USERFACL_DOCKERD_FOR_MUTLIARCH := setfacl -m user:$(USER):rw /var/run/march/docker.sock
|
||||||
|
|
||||||
|
#Override Native config to prevent docker service
|
||||||
|
SONIC_CONFIG_USE_NATIVE_DOCKERD_FOR_BUILD=y
|
||||||
|
|
||||||
|
DOCKER_MULTIARCH_CHECK := docker inspect --type image multiarch/qemu-user-static:register &> /dev/null || (echo "multiarch docker not found ..."; docker run --rm --privileged multiarch/qemu-user-static:register --reset --credential yes)
|
||||||
|
|
||||||
|
DOCKER_SERVICE_MULTIARCH_CHECK := docker -H unix:///var/run/march/docker.sock info &> /dev/null || (echo "Docker march service not running..."; sudo rm -fr /var/run/march/docker*; (sudo $(SONIC_NATIVE_DOCKERD_FOR_MUTLIARCH) &) &>/dev/null ; sleep 1; sudo $(SONIC_USERFACL_DOCKERD_FOR_MUTLIARCH);)
|
||||||
|
|
||||||
|
# Docker service to load the compiled dockers-*.gz
|
||||||
|
SONIC_NATIVE_DOCKERD_FOR_DOCKERFS := rm -fr $(PWD)/dockerfs/; mkdir -p $(PWD)/dockerfs/; sudo dockerd --storage-driver=overlay2 --iptables=false \
|
||||||
|
--data-root $(PWD)/dockerfs/var/lib/docker/ --exec-root=$(PWD)/dockerfs/var/run/docker/ \
|
||||||
|
-H unix://$(PWD)/dockerfs/var/run/docker.sock -p $(PWD)/dockerfs/var/run/docker.pid &
|
||||||
|
SONIC_USERFACL_DOCKERD_FOR_DOCKERFS := setfacl -m user:$(USER):rw $(PWD)/dockerfs/var/run/docker.sock
|
||||||
|
DOCKER_SERVICE_DOCKERFS_CHECK := (sudo docker -H unix://$(PWD)/dockerfs/var/run/docker.sock info &> /dev/null && sudo kill -9 `sudo cat $(PWD)/dockerfs/var/run/docker.pid` && false) || (echo "Starting docker build service..."; (sudo $(SONIC_NATIVE_DOCKERD_FOR_DOCKERFS) ) &>/dev/null ; sleep 1; sudo $(SONIC_USERFACL_DOCKERD_FOR_DOCKERFS);)
|
||||||
|
|
||||||
|
endif
|
||||||
|
|
||||||
DOCKER_BASE_BUILD = docker build --no-cache \
|
DOCKER_BASE_BUILD = docker build --no-cache \
|
||||||
-t $(SLAVE_BASE_IMAGE):$(SLAVE_BASE_TAG) \
|
-t $(SLAVE_BASE_IMAGE):$(SLAVE_BASE_TAG) \
|
||||||
@ -120,6 +152,7 @@ SONIC_BUILD_INSTRUCTION := make \
|
|||||||
-f slave.mk \
|
-f slave.mk \
|
||||||
BLDENV=$(BLDENV) \
|
BLDENV=$(BLDENV) \
|
||||||
PLATFORM=$(PLATFORM) \
|
PLATFORM=$(PLATFORM) \
|
||||||
|
PLATFORM_ARCH=$(PLATFORM_ARCH) \
|
||||||
BUILD_NUMBER=$(BUILD_NUMBER) \
|
BUILD_NUMBER=$(BUILD_NUMBER) \
|
||||||
BUILD_TIMESTAMP=$(BUILD_TIMESTAMP) \
|
BUILD_TIMESTAMP=$(BUILD_TIMESTAMP) \
|
||||||
ENABLE_DHCP_GRAPH_SERVICE=$(ENABLE_DHCP_GRAPH_SERVICE) \
|
ENABLE_DHCP_GRAPH_SERVICE=$(ENABLE_DHCP_GRAPH_SERVICE) \
|
||||||
@ -144,7 +177,14 @@ SONIC_BUILD_INSTRUCTION := make \
|
|||||||
.DEFAULT_GOAL := all
|
.DEFAULT_GOAL := all
|
||||||
|
|
||||||
%::
|
%::
|
||||||
|
ifneq (,$(filter $(CONFIGURED_ARCH), armhf arm64))
|
||||||
|
@$(DOCKER_MULTIARCH_CHECK)
|
||||||
|
@$(DOCKER_SERVICE_MULTIARCH_CHECK)
|
||||||
|
@$(DOCKER_SERVICE_DOCKERFS_CHECK)
|
||||||
|
endif
|
||||||
@$(OVERLAY_MODULE_CHECK)
|
@$(OVERLAY_MODULE_CHECK)
|
||||||
|
|
||||||
|
@{ which j2 &> /dev/null && CONFIGURED_ARCH=$(CONFIGURED_ARCH) j2 $(SLAVE_DIR)/Dockerfile.j2 > $(SLAVE_DIR)/Dockerfile ; } || true
|
||||||
@docker inspect --type image $(SLAVE_BASE_IMAGE):$(SLAVE_BASE_TAG) &> /dev/null || \
|
@docker inspect --type image $(SLAVE_BASE_IMAGE):$(SLAVE_BASE_TAG) &> /dev/null || \
|
||||||
{ echo Image $(SLAVE_BASE_IMAGE):$(SLAVE_BASE_TAG) not found. Building... ; \
|
{ echo Image $(SLAVE_BASE_IMAGE):$(SLAVE_BASE_TAG) not found. Building... ; \
|
||||||
$(DOCKER_BASE_BUILD) ; }
|
$(DOCKER_BASE_BUILD) ; }
|
||||||
|
33
README.md
33
README.md
@ -42,7 +42,14 @@ Following is the instruction on how to build an [(ONIE)](https://github.com/open
|
|||||||
# Hardware
|
# Hardware
|
||||||
Any server can be a build image server. We are using a server with 1T hard disk. The OS is Ubuntu 16.04.
|
Any server can be a build image server. We are using a server with 1T hard disk. The OS is Ubuntu 16.04.
|
||||||
|
|
||||||
# Prerequisites
|
## Prerequisites
|
||||||
|
|
||||||
|
Install pip and jinja in host build machine, execute below commands if j2/j2cli is not available:
|
||||||
|
|
||||||
|
sudo apt-get install -y python-pip
|
||||||
|
sudo python2 -m pip install -U pip==9.0.3
|
||||||
|
sudo pip install --force-reinstall --upgrade jinja2>=2.10
|
||||||
|
sudo pip install j2cli
|
||||||
|
|
||||||
## SAI Version
|
## SAI Version
|
||||||
Please refer to [SONiC roadmap](https://github.com/Azure/SONiC/wiki/Sonic-Roadmap-Planning) on the SAI version for each SONiC release.
|
Please refer to [SONiC roadmap](https://github.com/Azure/SONiC/wiki/Sonic-Roadmap-Planning) on the SAI version for each SONiC release.
|
||||||
@ -74,6 +81,30 @@ To build SONiC installer image and docker images, run the following commands:
|
|||||||
# Build SONiC image
|
# Build SONiC image
|
||||||
make all
|
make all
|
||||||
|
|
||||||
|
## Usage for ARM Architecture
|
||||||
|
To build Arm32 bit for (ARMHF) plaform
|
||||||
|
|
||||||
|
# Execute make configure once to configure ASIC and ARCH
|
||||||
|
|
||||||
|
make configure PLATFORM=[ASIC_VENDOR] PLATFORM_ARCH=armhf
|
||||||
|
|
||||||
|
**example**:
|
||||||
|
|
||||||
|
make configure PLATFORM=marvell-armhf PLATFORM_ARCH=armhf
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
To build Arm64 bit for plaform
|
||||||
|
|
||||||
|
# Execute make configure once to configure ASIC and ARCH
|
||||||
|
|
||||||
|
make configure PLATFORM=[ASIC_VENDOR] PLATFORM_ARCH=arm64
|
||||||
|
|
||||||
|
**example**:
|
||||||
|
|
||||||
|
make configure PLATFORM=marvell-arm64 PLATFORM_ARCH=arm64
|
||||||
|
|
||||||
|
|
||||||
**NOTE**:
|
**NOTE**:
|
||||||
|
|
||||||
- Recommend reserving 50G free space to build one platform.
|
- Recommend reserving 50G free space to build one platform.
|
||||||
|
@ -28,6 +28,8 @@
|
|||||||
## Enable debug output for script
|
## Enable debug output for script
|
||||||
set -x -e
|
set -x -e
|
||||||
|
|
||||||
|
CONFIGURED_ARCH=$([ -f .arch ] && cat .arch || echo amd64)
|
||||||
|
|
||||||
## docker engine version (with platform)
|
## docker engine version (with platform)
|
||||||
DOCKER_VERSION=5:18.09.8~3-0~debian-stretch
|
DOCKER_VERSION=5:18.09.8~3-0~debian-stretch
|
||||||
LINUX_KERNEL_VERSION=4.9.0-9-2
|
LINUX_KERNEL_VERSION=4.9.0-9-2
|
||||||
@ -70,7 +72,14 @@ popd
|
|||||||
|
|
||||||
## Build a basic Debian system by debootstrap
|
## Build a basic Debian system by debootstrap
|
||||||
echo '[INFO] Debootstrap...'
|
echo '[INFO] Debootstrap...'
|
||||||
sudo http_proxy=$http_proxy debootstrap --variant=minbase --arch amd64 stretch $FILESYSTEM_ROOT http://debian-archive.trafficmanager.net/debian
|
if [[ $CONFIGURED_ARCH == armhf || $CONFIGURED_ARCH == arm64 ]]; then
|
||||||
|
# qemu arm bin executable for cross-building
|
||||||
|
sudo mkdir -p $FILESYSTEM_ROOT/usr/bin
|
||||||
|
sudo cp /usr/bin/qemu*static $FILESYSTEM_ROOT/usr/bin || true
|
||||||
|
sudo http_proxy=$http_proxy debootstrap --variant=minbase --arch $CONFIGURED_ARCH stretch $FILESYSTEM_ROOT http://deb.debian.org/debian
|
||||||
|
else
|
||||||
|
sudo http_proxy=$http_proxy debootstrap --variant=minbase --arch $CONFIGURED_ARCH stretch $FILESYSTEM_ROOT http://debian-archive.trafficmanager.net/debian
|
||||||
|
fi
|
||||||
|
|
||||||
## Config hostname and hosts, otherwise 'sudo ...' will complain 'sudo: unable to resolve host ...'
|
## Config hostname and hosts, otherwise 'sudo ...' will complain 'sudo: unable to resolve host ...'
|
||||||
sudo LANG=C chroot $FILESYSTEM_ROOT /bin/bash -c "echo '$HOSTNAME' > /etc/hostname"
|
sudo LANG=C chroot $FILESYSTEM_ROOT /bin/bash -c "echo '$HOSTNAME' > /etc/hostname"
|
||||||
@ -92,7 +101,7 @@ trap_push 'sudo umount $FILESYSTEM_ROOT/proc || true'
|
|||||||
sudo LANG=C chroot $FILESYSTEM_ROOT mount proc /proc -t proc
|
sudo LANG=C chroot $FILESYSTEM_ROOT mount proc /proc -t proc
|
||||||
|
|
||||||
## Pointing apt to public apt mirrors and getting latest packages, needed for latest security updates
|
## Pointing apt to public apt mirrors and getting latest packages, needed for latest security updates
|
||||||
sudo cp files/apt/sources.list $FILESYSTEM_ROOT/etc/apt/
|
sudo cp files/apt/sources.list.$CONFIGURED_ARCH $FILESYSTEM_ROOT/etc/apt/sources.list
|
||||||
sudo cp files/apt/apt.conf.d/{81norecommends,apt-{clean,gzip-indexes,no-languages}} $FILESYSTEM_ROOT/etc/apt/apt.conf.d/
|
sudo cp files/apt/apt.conf.d/{81norecommends,apt-{clean,gzip-indexes,no-languages}} $FILESYSTEM_ROOT/etc/apt/apt.conf.d/
|
||||||
sudo LANG=C chroot $FILESYSTEM_ROOT bash -c 'apt-mark auto `apt-mark showmanual`'
|
sudo LANG=C chroot $FILESYSTEM_ROOT bash -c 'apt-mark auto `apt-mark showmanual`'
|
||||||
|
|
||||||
@ -104,7 +113,11 @@ sudo LANG=C chroot $FILESYSTEM_ROOT apt-get -y install makedev psmisc systemd-sy
|
|||||||
|
|
||||||
## Create device files
|
## Create device files
|
||||||
echo '[INFO] MAKEDEV'
|
echo '[INFO] MAKEDEV'
|
||||||
sudo LANG=C chroot $FILESYSTEM_ROOT /bin/bash -c 'cd /dev && MAKEDEV generic'
|
if [[ $CONFIGURED_ARCH == armhf || $CONFIGURED_ARCH == arm64 ]]; then
|
||||||
|
sudo LANG=C chroot $FILESYSTEM_ROOT /bin/bash -c 'cd /dev && MAKEDEV generic-arm'
|
||||||
|
else
|
||||||
|
sudo LANG=C chroot $FILESYSTEM_ROOT /bin/bash -c 'cd /dev && MAKEDEV generic'
|
||||||
|
fi
|
||||||
## Install initramfs-tools and linux kernel
|
## Install initramfs-tools and linux kernel
|
||||||
## Note: initramfs-tools recommends depending on busybox, and we really want busybox for
|
## Note: initramfs-tools recommends depending on busybox, and we really want busybox for
|
||||||
## 1. commands such as touch
|
## 1. commands such as touch
|
||||||
@ -114,14 +127,19 @@ sudo LANG=C chroot $FILESYSTEM_ROOT /bin/bash -c 'cd /dev && MAKEDEV generic'
|
|||||||
sudo LANG=C chroot $FILESYSTEM_ROOT apt-get -y install busybox
|
sudo LANG=C chroot $FILESYSTEM_ROOT apt-get -y install busybox
|
||||||
echo '[INFO] Install SONiC linux kernel image'
|
echo '[INFO] Install SONiC linux kernel image'
|
||||||
## Note: duplicate apt-get command to ensure every line return zero
|
## Note: duplicate apt-get command to ensure every line return zero
|
||||||
|
if [[ $CONFIGURED_ARCH == armhf || $CONFIGURED_ARCH == arm64 ]]; then
|
||||||
|
sudo LANG=C DEBIAN_FRONTEND=noninteractive chroot $FILESYSTEM_ROOT apt-get -y install cpio klibc-utils kmod libklibc udev linux-base
|
||||||
|
sudo dpkg --root=$FILESYSTEM_ROOT -i $debs_path/linux-image-*${CONFIGURED_ARCH}*.deb || \
|
||||||
|
sudo LANG=C DEBIAN_FRONTEND=noninteractive chroot $FILESYSTEM_ROOT apt-get -y install -f
|
||||||
|
fi
|
||||||
sudo dpkg --root=$FILESYSTEM_ROOT -i $debs_path/initramfs-tools-core_*.deb || \
|
sudo dpkg --root=$FILESYSTEM_ROOT -i $debs_path/initramfs-tools-core_*.deb || \
|
||||||
sudo LANG=C DEBIAN_FRONTEND=noninteractive chroot $FILESYSTEM_ROOT apt-get -y install -f
|
sudo LANG=C DEBIAN_FRONTEND=noninteractive chroot $FILESYSTEM_ROOT apt-get -y install -f
|
||||||
sudo dpkg --root=$FILESYSTEM_ROOT -i $debs_path/initramfs-tools_*.deb || \
|
sudo dpkg --root=$FILESYSTEM_ROOT -i $debs_path/initramfs-tools_*.deb || \
|
||||||
sudo LANG=C DEBIAN_FRONTEND=noninteractive chroot $FILESYSTEM_ROOT apt-get -y install -f
|
sudo LANG=C DEBIAN_FRONTEND=noninteractive chroot $FILESYSTEM_ROOT apt-get -y install -f
|
||||||
sudo dpkg --root=$FILESYSTEM_ROOT -i $debs_path/linux-image-${LINUX_KERNEL_VERSION}-amd64_*.deb || \
|
sudo dpkg --root=$FILESYSTEM_ROOT -i $debs_path/linux-image-${LINUX_KERNEL_VERSION}-${CONFIGURED_ARCH}_*.deb || \
|
||||||
sudo LANG=C DEBIAN_FRONTEND=noninteractive chroot $FILESYSTEM_ROOT apt-get -y install -f
|
sudo LANG=C DEBIAN_FRONTEND=noninteractive chroot $FILESYSTEM_ROOT apt-get -y install -f
|
||||||
sudo LANG=C DEBIAN_FRONTEND=noninteractive chroot $FILESYSTEM_ROOT apt-get -y install acl
|
sudo LANG=C DEBIAN_FRONTEND=noninteractive chroot $FILESYSTEM_ROOT apt-get -y install acl
|
||||||
sudo LANG=C DEBIAN_FRONTEND=noninteractive chroot $FILESYSTEM_ROOT apt-get -y install dmidecode
|
[[ $CONFIGURED_ARCH == amd64 ]] && sudo LANG=C DEBIAN_FRONTEND=noninteractive chroot $FILESYSTEM_ROOT apt-get -y install dmidecode
|
||||||
|
|
||||||
## Update initramfs for booting with squashfs+overlay
|
## Update initramfs for booting with squashfs+overlay
|
||||||
cat files/initramfs-tools/modules | sudo tee -a $FILESYSTEM_ROOT/etc/initramfs-tools/modules > /dev/null
|
cat files/initramfs-tools/modules | sudo tee -a $FILESYSTEM_ROOT/etc/initramfs-tools/modules > /dev/null
|
||||||
@ -159,8 +177,10 @@ sudo cp files/initramfs-tools/union-fsck $FILESYSTEM_ROOT/etc/initramfs-tools/ho
|
|||||||
sudo chmod +x $FILESYSTEM_ROOT/etc/initramfs-tools/hooks/union-fsck
|
sudo chmod +x $FILESYSTEM_ROOT/etc/initramfs-tools/hooks/union-fsck
|
||||||
pushd $FILESYSTEM_ROOT/usr/share/initramfs-tools/scripts/init-bottom && sudo patch -p1 < $OLDPWD/files/initramfs-tools/udev.patch; popd
|
pushd $FILESYSTEM_ROOT/usr/share/initramfs-tools/scripts/init-bottom && sudo patch -p1 < $OLDPWD/files/initramfs-tools/udev.patch; popd
|
||||||
|
|
||||||
## Install latest intel ixgbe driver
|
if [[ $CONFIGURED_ARCH == amd64 ]]; then
|
||||||
sudo cp $files_path/ixgbe.ko $FILESYSTEM_ROOT/lib/modules/${LINUX_KERNEL_VERSION}-amd64/kernel/drivers/net/ethernet/intel/ixgbe/ixgbe.ko
|
## Install latest intel ixgbe driver
|
||||||
|
sudo cp $files_path/ixgbe.ko $FILESYSTEM_ROOT/lib/modules/${LINUX_KERNEL_VERSION}-amd64/kernel/drivers/net/ethernet/intel/ixgbe/ixgbe.ko
|
||||||
|
fi
|
||||||
|
|
||||||
## Install docker
|
## Install docker
|
||||||
echo '[INFO] Install docker'
|
echo '[INFO] Install docker'
|
||||||
@ -176,7 +196,7 @@ sudo https_proxy=$https_proxy LANG=C chroot $FILESYSTEM_ROOT curl -o /tmp/docker
|
|||||||
sudo LANG=C chroot $FILESYSTEM_ROOT apt-key add /tmp/docker.gpg
|
sudo LANG=C chroot $FILESYSTEM_ROOT apt-key add /tmp/docker.gpg
|
||||||
sudo LANG=C chroot $FILESYSTEM_ROOT rm /tmp/docker.gpg
|
sudo LANG=C chroot $FILESYSTEM_ROOT rm /tmp/docker.gpg
|
||||||
sudo LANG=C chroot $FILESYSTEM_ROOT add-apt-repository \
|
sudo LANG=C chroot $FILESYSTEM_ROOT add-apt-repository \
|
||||||
"deb [arch=amd64] https://download.docker.com/linux/debian stretch stable"
|
"deb [arch=$CONFIGURED_ARCH] https://download.docker.com/linux/debian stretch stable"
|
||||||
sudo LANG=C chroot $FILESYSTEM_ROOT apt-get update
|
sudo LANG=C chroot $FILESYSTEM_ROOT apt-get update
|
||||||
sudo LANG=C chroot $FILESYSTEM_ROOT apt-get -y install docker-ce=${DOCKER_VERSION}
|
sudo LANG=C chroot $FILESYSTEM_ROOT apt-get -y install docker-ce=${DOCKER_VERSION}
|
||||||
sudo LANG=C chroot $FILESYSTEM_ROOT apt-get -y remove software-properties-common gnupg2
|
sudo LANG=C chroot $FILESYSTEM_ROOT apt-get -y remove software-properties-common gnupg2
|
||||||
@ -263,10 +283,12 @@ sudo LANG=C chroot $FILESYSTEM_ROOT bash -c "find /usr/share/i18n/locales/ ! -na
|
|||||||
sudo LANG=C DEBIAN_FRONTEND=noninteractive chroot $FILESYSTEM_ROOT apt-get -y -t stretch-backports install \
|
sudo LANG=C DEBIAN_FRONTEND=noninteractive chroot $FILESYSTEM_ROOT apt-get -y -t stretch-backports install \
|
||||||
picocom
|
picocom
|
||||||
|
|
||||||
sudo LANG=C DEBIAN_FRONTEND=noninteractive chroot $FILESYSTEM_ROOT apt-get -y download \
|
if [[ $CONFIGURED_ARCH == amd64 ]]; then
|
||||||
grub-pc-bin
|
sudo LANG=C DEBIAN_FRONTEND=noninteractive chroot $FILESYSTEM_ROOT apt-get -y download \
|
||||||
|
grub-pc-bin
|
||||||
|
|
||||||
sudo mv $FILESYSTEM_ROOT/grub-pc-bin*.deb $FILESYSTEM_ROOT/$PLATFORM_DIR/x86_64-grub
|
sudo mv $FILESYSTEM_ROOT/grub-pc-bin*.deb $FILESYSTEM_ROOT/$PLATFORM_DIR/x86_64-grub
|
||||||
|
fi
|
||||||
|
|
||||||
## Disable kexec supported reboot which was installed by default
|
## Disable kexec supported reboot which was installed by default
|
||||||
sudo sed -i 's/LOAD_KEXEC=true/LOAD_KEXEC=false/' $FILESYSTEM_ROOT/etc/default/kexec
|
sudo sed -i 's/LOAD_KEXEC=true/LOAD_KEXEC=false/' $FILESYSTEM_ROOT/etc/default/kexec
|
||||||
@ -487,6 +509,12 @@ sudo LANG=C chroot $FILESYSTEM_ROOT fuser -km /proc || true
|
|||||||
sleep 15
|
sleep 15
|
||||||
sudo umount $FILESYSTEM_ROOT/proc || true
|
sudo umount $FILESYSTEM_ROOT/proc || true
|
||||||
|
|
||||||
|
if [[ $CONFIGURED_ARCH == armhf || $CONFIGURED_ARCH == arm64 ]]; then
|
||||||
|
# Remove qemu arm bin executable used for cross-building
|
||||||
|
sudo rm -f $FILESYSTEM_ROOT/usr/bin/qemu*static || true
|
||||||
|
DOCKERFS_PATH=../dockerfs/
|
||||||
|
fi
|
||||||
|
|
||||||
## Prepare empty directory to trigger mount move in initramfs-tools/mount_loop_root, implemented by patching
|
## Prepare empty directory to trigger mount move in initramfs-tools/mount_loop_root, implemented by patching
|
||||||
sudo mkdir $FILESYSTEM_ROOT/host
|
sudo mkdir $FILESYSTEM_ROOT/host
|
||||||
|
|
||||||
@ -499,7 +527,7 @@ sudo mkdir -p $FILESYSTEM_ROOT/var/lib/docker
|
|||||||
sudo mksquashfs $FILESYSTEM_ROOT $FILESYSTEM_SQUASHFS -e boot -e var/lib/docker -e $PLATFORM_DIR
|
sudo mksquashfs $FILESYSTEM_ROOT $FILESYSTEM_SQUASHFS -e boot -e var/lib/docker -e $PLATFORM_DIR
|
||||||
|
|
||||||
## Compress docker files
|
## Compress docker files
|
||||||
pushd $FILESYSTEM_ROOT && sudo tar czf $OLDPWD/$FILESYSTEM_DOCKERFS -C var/lib/docker .; popd
|
pushd $FILESYSTEM_ROOT && sudo tar czf $OLDPWD/$FILESYSTEM_DOCKERFS -C ${DOCKERFS_PATH}var/lib/docker .; popd
|
||||||
|
|
||||||
## Compress together with /boot, /var/lib/docker and $PLATFORM_DIR as an installer payload zip file
|
## Compress together with /boot, /var/lib/docker and $PLATFORM_DIR as an installer payload zip file
|
||||||
pushd $FILESYSTEM_ROOT && sudo zip $OLDPWD/$ONIE_INSTALLER_PAYLOAD -r boot/ $PLATFORM_DIR/; popd
|
pushd $FILESYSTEM_ROOT && sudo zip $OLDPWD/$ONIE_INSTALLER_PAYLOAD -r boot/ $PLATFORM_DIR/; popd
|
||||||
|
@ -2,7 +2,15 @@
|
|||||||
## This script is to generate an ONIE installer image based on a file system overload
|
## This script is to generate an ONIE installer image based on a file system overload
|
||||||
|
|
||||||
## Read ONIE image related config file
|
## Read ONIE image related config file
|
||||||
. ./onie-image.conf
|
|
||||||
|
CONFIGURED_ARCH=$([ -f .arch ] && cat .arch || echo amd64)
|
||||||
|
|
||||||
|
if [[ $CONFIGURED_ARCH == armhf || $CONFIGURED_ARCH == arm64 ]]; then
|
||||||
|
. ./onie-image-${CONFIGURED_ARCH}.conf
|
||||||
|
else
|
||||||
|
. ./onie-image.conf
|
||||||
|
fi
|
||||||
|
|
||||||
[ -n "$ONIE_IMAGE_PART_SIZE" ] || {
|
[ -n "$ONIE_IMAGE_PART_SIZE" ] || {
|
||||||
echo "Error: Invalid ONIE_IMAGE_PART_SIZE in onie image config file"
|
echo "Error: Invalid ONIE_IMAGE_PART_SIZE in onie image config file"
|
||||||
exit 1
|
exit 1
|
||||||
|
@ -1,5 +1,11 @@
|
|||||||
{% from "dockers/dockerfile-macros.j2" import install_debian_packages, install_python_wheels, copy_files %}
|
{% from "dockers/dockerfile-macros.j2" import install_debian_packages, install_python_wheels, copy_files %}
|
||||||
|
{% if CONFIGURED_ARCH == "armhf" %}
|
||||||
|
FROM multiarch/debian-debootstrap:armhf-stretch
|
||||||
|
{% elif CONFIGURED_ARCH == "arm64" %}
|
||||||
|
FROM multiarch/debian-debootstrap:arm64-stretch
|
||||||
|
{% else %}
|
||||||
FROM debian:stretch
|
FROM debian:stretch
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
# Clean documentation in FROM image
|
# Clean documentation in FROM image
|
||||||
RUN find /usr/share/doc -depth \( -type f -o -type l \) ! -name copyright | xargs rm || true
|
RUN find /usr/share/doc -depth \( -type f -o -type l \) ! -name copyright | xargs rm || true
|
||||||
@ -20,7 +26,13 @@ ENV DEBIAN_FRONTEND=noninteractive
|
|||||||
|
|
||||||
# Configure data sources for apt/dpkg
|
# Configure data sources for apt/dpkg
|
||||||
COPY ["dpkg_01_drop", "/etc/dpkg/dpkg.cfg.d/01_drop"]
|
COPY ["dpkg_01_drop", "/etc/dpkg/dpkg.cfg.d/01_drop"]
|
||||||
|
{% if CONFIGURED_ARCH == "armhf" %}
|
||||||
|
COPY ["sources.list.armhf", "/etc/apt/sources.list"]
|
||||||
|
{% elif CONFIGURED_ARCH == "arm64" %}
|
||||||
|
COPY ["sources.list.arm64", "/etc/apt/sources.list"]
|
||||||
|
{% else %}
|
||||||
COPY ["sources.list", "/etc/apt/sources.list"]
|
COPY ["sources.list", "/etc/apt/sources.list"]
|
||||||
|
{% endif %}
|
||||||
COPY ["no_install_recommend_suggest", "/etc/apt/apt.conf.d"]
|
COPY ["no_install_recommend_suggest", "/etc/apt/apt.conf.d"]
|
||||||
|
|
||||||
# Update apt cache and
|
# Update apt cache and
|
||||||
@ -37,6 +49,13 @@ RUN apt-get update && \
|
|||||||
python-pkg-resources \
|
python-pkg-resources \
|
||||||
python-meld3
|
python-meld3
|
||||||
|
|
||||||
|
{% if CONFIGURED_ARCH == "armhf" %}
|
||||||
|
# ip and ifconfig utility missing in docker for armhf
|
||||||
|
RUN apt-get -y install \
|
||||||
|
iproute2 \
|
||||||
|
net-tools
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
RUN mkdir -p /etc/supervisor /var/log/supervisor
|
RUN mkdir -p /etc/supervisor /var/log/supervisor
|
||||||
|
|
||||||
RUN apt-get -y purge \
|
RUN apt-get -y purge \
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
## Debian mirror on Microsoft Azure
|
## Debian mirror on Microsoft Azure
|
||||||
## Ref: http://debian-archive.trafficmanager.net/
|
## Ref: http://debian-archive.trafficmanager.net/
|
||||||
|
|
||||||
deb http://debian-archive.trafficmanager.net/debian/ stretch main contrib non-free
|
deb [arch=amd64] http://debian-archive.trafficmanager.net/debian/ stretch main contrib non-free
|
||||||
deb-src http://debian-archive.trafficmanager.net/debian/ stretch main contrib non-free
|
deb-src [arch=amd64] http://debian-archive.trafficmanager.net/debian/ stretch main contrib non-free
|
||||||
deb http://debian-archive.trafficmanager.net/debian-security/ stretch/updates main contrib non-free
|
deb [arch=amd64] http://debian-archive.trafficmanager.net/debian-security/ stretch/updates main contrib non-free
|
||||||
deb-src http://debian-archive.trafficmanager.net/debian-security/ stretch/updates main contrib non-free
|
deb-src [arch=amd64] http://debian-archive.trafficmanager.net/debian-security/ stretch/updates main contrib non-free
|
||||||
deb http://debian-archive.trafficmanager.net/debian/ stretch-backports main contrib non-free
|
deb [arch=amd64] http://debian-archive.trafficmanager.net/debian/ stretch-backports main contrib non-free
|
||||||
|
7
dockers/docker-base-stretch/sources.list.arm64
Normal file
7
dockers/docker-base-stretch/sources.list.arm64
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
## Debian mirror for ARM repo
|
||||||
|
|
||||||
|
# ARM repo
|
||||||
|
deb [arch=arm64] http://deb.debian.org/debian stretch main contrib non-free
|
||||||
|
deb-src [arch=arm64] http://deb.debian.org/debian stretch main contrib non-free
|
||||||
|
deb [arch=arm64] http://security.debian.org stretch/updates main contrib non-free
|
||||||
|
deb-src [arch=arm64] http://security.debian.org stretch/updates main contrib non-free
|
7
dockers/docker-base-stretch/sources.list.armhf
Normal file
7
dockers/docker-base-stretch/sources.list.armhf
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
## Debian mirror for ARM repo
|
||||||
|
|
||||||
|
# ARM repo
|
||||||
|
deb [arch=armhf] http://deb.debian.org/debian stretch main contrib non-free
|
||||||
|
deb-src [arch=armhf] http://deb.debian.org/debian stretch main contrib non-free
|
||||||
|
deb [arch=armhf] http://security.debian.org stretch/updates main contrib non-free
|
||||||
|
deb-src [arch=armhf] http://security.debian.org stretch/updates main contrib non-free
|
@ -1,7 +1,13 @@
|
|||||||
|
{% if CONFIGURED_ARCH == "armhf" %}
|
||||||
|
FROM multiarch/debian-debootstrap:armhf-jessie
|
||||||
|
{% elif CONFIGURED_ARCH == "arm64" %}
|
||||||
|
FROM multiarch/debian-debootstrap:arm64-jessie
|
||||||
|
{% else %}
|
||||||
FROM debian:jessie
|
FROM debian:jessie
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
## Remove retired jessie-updates repo
|
## Remove retired jessie-updates repo
|
||||||
RUN sed -i '/deb http:\/\/deb.debian.org\/debian jessie-updates main/d' /etc/apt/sources.list
|
RUN sed -i '/http:\/\/deb.debian.org\/debian jessie-updates main/d' /etc/apt/sources.list
|
||||||
|
|
||||||
# Clean documentation in FROM image
|
# Clean documentation in FROM image
|
||||||
RUN find /usr/share/doc -depth \( -type f -o -type l \) ! -name copyright | xargs rm || true
|
RUN find /usr/share/doc -depth \( -type f -o -type l \) ! -name copyright | xargs rm || true
|
||||||
@ -22,7 +28,13 @@ ENV DEBIAN_FRONTEND=noninteractive
|
|||||||
|
|
||||||
# Configure data sources for apt/dpkg
|
# Configure data sources for apt/dpkg
|
||||||
COPY ["dpkg_01_drop", "/etc/dpkg/dpkg.cfg.d/01_drop"]
|
COPY ["dpkg_01_drop", "/etc/dpkg/dpkg.cfg.d/01_drop"]
|
||||||
|
{% if CONFIGURED_ARCH == "armhf" %}
|
||||||
|
COPY ["sources.list.armhf", "/etc/apt/sources.list"]
|
||||||
|
{% elif CONFIGURED_ARCH == "arm64" %}
|
||||||
|
COPY ["sources.list.arm64", "/etc/apt/sources.list"]
|
||||||
|
{% else %}
|
||||||
COPY ["sources.list", "/etc/apt/sources.list"]
|
COPY ["sources.list", "/etc/apt/sources.list"]
|
||||||
|
{% endif %}
|
||||||
COPY ["no_install_recommend_suggest", "/etc/apt/apt.conf.d"]
|
COPY ["no_install_recommend_suggest", "/etc/apt/apt.conf.d"]
|
||||||
RUN apt-get update
|
RUN apt-get update
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
## Debian mirror on Microsoft Azure
|
## Debian mirror on Microsoft Azure
|
||||||
## Ref: http://debian-archive.trafficmanager.net/
|
## Ref: http://debian-archive.trafficmanager.net/
|
||||||
|
|
||||||
deb http://debian-archive.trafficmanager.net/debian/ jessie main contrib non-free
|
deb [arch=amd64] http://debian-archive.trafficmanager.net/debian/ jessie main contrib non-free
|
||||||
deb-src http://debian-archive.trafficmanager.net/debian/ jessie main contrib non-free
|
deb-src [arch=amd64] http://debian-archive.trafficmanager.net/debian/ jessie main contrib non-free
|
||||||
deb http://debian-archive.trafficmanager.net/debian-security/ jessie/updates main contrib non-free
|
deb [arch=amd64] http://debian-archive.trafficmanager.net/debian-security/ jessie/updates main contrib non-free
|
||||||
deb-src http://debian-archive.trafficmanager.net/debian-security/ jessie/updates main contrib non-free
|
deb-src [arch=amd64] http://debian-archive.trafficmanager.net/debian-security/ jessie/updates main contrib non-free
|
||||||
|
7
dockers/docker-base/sources.list.arm64
Normal file
7
dockers/docker-base/sources.list.arm64
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
## Debian mirror for ARM repo
|
||||||
|
|
||||||
|
# ARM64 repo
|
||||||
|
deb [arch=arm64] http://archive.debian.org/debian jessie main contrib non-free
|
||||||
|
deb-src [arch=arm64] http://archive.debian.org/debian jessie main contrib non-free
|
||||||
|
deb-src [arch=arm64] http://archive.debian.org/debian jessie-backports main contrib non-free
|
||||||
|
deb [arch=arm64] http://archive.debian.org/debian jessie-backports main contrib non-free
|
7
dockers/docker-base/sources.list.armhf
Normal file
7
dockers/docker-base/sources.list.armhf
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
## Debian mirror for ARM repo
|
||||||
|
|
||||||
|
# ARMhf repo
|
||||||
|
deb [arch=armhf] http://deb.debian.org/debian jessie main contrib non-free
|
||||||
|
deb-src [arch=armhf] http://deb.debian.org/debian jessie main contrib non-free
|
||||||
|
deb [arch=armhf] http://security.debian.org jessie/updates main contrib non-free
|
||||||
|
deb-src [arch=armhf] http://security.debian.org jessie/updates main contrib non-free
|
@ -29,13 +29,26 @@ RUN apt-get update && \
|
|||||||
libmnl0 \
|
libmnl0 \
|
||||||
bridge-utils
|
bridge-utils
|
||||||
|
|
||||||
|
{% if CONFIGURED_ARCH == "armhf" %}
|
||||||
|
## Fix for gcc/python not found in arm docker
|
||||||
|
RUN apt-get install -y gcc-6
|
||||||
|
RUN ln -s -f /usr/bin/gcc-6 /usr/bin/arm-linux-gnueabihf-gcc
|
||||||
|
RUN apt-get install -f -y python2.7 python2.7-dev
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
RUN pip install \
|
RUN pip install \
|
||||||
scapy==2.4.2 \
|
scapy==2.4.2 \
|
||||||
setuptools \
|
setuptools \
|
||||||
pyroute2==0.5.3 \
|
pyroute2==0.5.3
|
||||||
|
RUN pip install \
|
||||||
netifaces==0.10.7 \
|
netifaces==0.10.7 \
|
||||||
monotonic==1.5
|
monotonic==1.5
|
||||||
|
|
||||||
|
{% if CONFIGURED_ARCH == "armhf" %}
|
||||||
|
# Remove installed gcc
|
||||||
|
RUN apt-get remove -y gcc-6
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
{% if docker_orchagent_debs.strip() -%}
|
{% if docker_orchagent_debs.strip() -%}
|
||||||
# Copy locally-built Debian package dependencies
|
# Copy locally-built Debian package dependencies
|
||||||
{{ copy_files("debs/", docker_orchagent_debs.split(' '), "/debs/") }}
|
{{ copy_files("debs/", docker_orchagent_debs.split(' '), "/debs/") }}
|
||||||
|
@ -29,6 +29,9 @@ elif [ "$platform" == "barefoot" ]; then
|
|||||||
ORCHAGENT_ARGS+="-m $MAC_ADDRESS"
|
ORCHAGENT_ARGS+="-m $MAC_ADDRESS"
|
||||||
elif [ "$platform" == "vs" ]; then
|
elif [ "$platform" == "vs" ]; then
|
||||||
ORCHAGENT_ARGS+="-m $MAC_ADDRESS"
|
ORCHAGENT_ARGS+="-m $MAC_ADDRESS"
|
||||||
|
else
|
||||||
|
MAC_ADDRESS=`sonic-cfggen -d -v 'DEVICE_METADATA.localhost.mac'`
|
||||||
|
ORCHAGENT_ARGS+="-m $MAC_ADDRESS"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
exec /usr/bin/orchagent ${ORCHAGENT_ARGS}
|
exec /usr/bin/orchagent ${ORCHAGENT_ARGS}
|
||||||
|
@ -1,4 +1,10 @@
|
|||||||
|
{% if CONFIGURED_ARCH == "armhf" %}
|
||||||
|
FROM multiarch/debian-debootstrap:armhf-stretch
|
||||||
|
{% elif CONFIGURED_ARCH == "arm64" %}
|
||||||
|
FROM multiarch/debian-debootstrap:arm64-stretch
|
||||||
|
{% else %}
|
||||||
FROM debian:stretch
|
FROM debian:stretch
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
MAINTAINER Pavel Shirshov
|
MAINTAINER Pavel Shirshov
|
||||||
|
|
||||||
|
@ -32,6 +32,17 @@ RUN apt-get update && \
|
|||||||
{{ install_debian_packages(docker_snmp_sv2_debs.split(' ')) }}
|
{{ install_debian_packages(docker_snmp_sv2_debs.split(' ')) }}
|
||||||
{%- endif %}
|
{%- endif %}
|
||||||
|
|
||||||
|
{%- if CONFIGURED_ARCH == "armhf" %}
|
||||||
|
# Fix for hiredis compilation issues for ARM
|
||||||
|
# python will throw for missing locale
|
||||||
|
RUN apt-get install -y locales
|
||||||
|
RUN locale-gen "en_US.UTF-8"
|
||||||
|
RUN dpkg-reconfigure --frontend noninteractive locales
|
||||||
|
ENV LC_CTYPE=en_US.UTF-8
|
||||||
|
RUN sed -i '/^#.* en_US.* /s/^#//' /etc/locale.gen
|
||||||
|
RUN locale-gen
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
# Install up-to-date version of pip
|
# Install up-to-date version of pip
|
||||||
RUN curl https://bootstrap.pypa.io/get-pip.py | python3.6
|
RUN curl https://bootstrap.pypa.io/get-pip.py | python3.6
|
||||||
|
|
||||||
|
@ -1,8 +0,0 @@
|
|||||||
## Debian mirror on Microsoft Azure
|
|
||||||
## Ref: http://debian-archive.trafficmanager.net/
|
|
||||||
|
|
||||||
deb http://debian-archive.trafficmanager.net/debian/ stretch main contrib non-free
|
|
||||||
deb-src http://debian-archive.trafficmanager.net/debian/ stretch main contrib non-free
|
|
||||||
deb http://debian-archive.trafficmanager.net/debian-security/ stretch/updates main contrib non-free
|
|
||||||
deb-src http://debian-archive.trafficmanager.net/debian-security/ stretch/updates main contrib non-free
|
|
||||||
deb http://debian-archive.trafficmanager.net/debian/ stretch-backports main contrib non-free
|
|
8
files/apt/sources.list.amd64
Normal file
8
files/apt/sources.list.amd64
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
## Debian mirror on Microsoft Azure
|
||||||
|
## Ref: http://debian-archive.trafficmanager.net/
|
||||||
|
|
||||||
|
deb [arch=amd64] http://debian-archive.trafficmanager.net/debian/ stretch main contrib non-free
|
||||||
|
deb-src [arch=amd64] http://debian-archive.trafficmanager.net/debian/ stretch main contrib non-free
|
||||||
|
deb [arch=amd64] http://debian-archive.trafficmanager.net/debian-security/ stretch/updates main contrib non-free
|
||||||
|
deb-src [arch=amd64] http://debian-archive.trafficmanager.net/debian-security/ stretch/updates main contrib non-free
|
||||||
|
deb [arch=amd64] http://debian-archive.trafficmanager.net/debian/ stretch-backports main contrib non-free
|
8
files/apt/sources.list.arm64
Normal file
8
files/apt/sources.list.arm64
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
## Debian mirror for ARM
|
||||||
|
## Not the repo mirror site can change in future, and needs to be updated to be in sync
|
||||||
|
|
||||||
|
deb [arch=arm64] http://deb.debian.org/debian stretch main contrib non-free
|
||||||
|
deb-src [arch=arm64] http://deb.debian.org/debian stretch main contrib non-free
|
||||||
|
deb [arch=arm64] http://deb.debian.org/debian stretch-updates main contrib non-free
|
||||||
|
deb-src [arch=arm64] http://deb.debian.org/debian stretch-updates main contrib non-free
|
||||||
|
deb [arch=arm64] http://ftp.debian.org/debian stretch-backports main
|
8
files/apt/sources.list.armhf
Normal file
8
files/apt/sources.list.armhf
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
## Debian mirror for ARM
|
||||||
|
## Not the repo mirror site can change in future, and needs to be updated to be in sync
|
||||||
|
|
||||||
|
deb [arch=armhf] http://deb.debian.org/debian stretch main contrib non-free
|
||||||
|
deb-src [arch=armhf] http://deb.debian.org/debian stretch main contrib non-free
|
||||||
|
deb [arch=armhf] http://deb.debian.org/debian stretch-updates main contrib non-free
|
||||||
|
deb-src [arch=armhf] http://deb.debian.org/debian stretch-updates main contrib non-free
|
||||||
|
deb [arch=armhf] http://ftp.debian.org/debian stretch-backports main
|
@ -24,6 +24,8 @@ PLATFORM_DIR=$2
|
|||||||
## Enable debug output for script
|
## Enable debug output for script
|
||||||
set -x -e
|
set -x -e
|
||||||
|
|
||||||
|
CONFIGURED_ARCH=$([ -f .arch ] && cat .arch || echo amd64)
|
||||||
|
|
||||||
. functions.sh
|
. functions.sh
|
||||||
BUILD_TEMPLATES=files/build_templates
|
BUILD_TEMPLATES=files/build_templates
|
||||||
IMAGE_CONFIGS=files/image_config
|
IMAGE_CONFIGS=files/image_config
|
||||||
@ -45,11 +47,17 @@ sudo LANG=C chroot $FILESYSTEM_ROOT mount sysfs /sys -t sysfs
|
|||||||
|
|
||||||
sudo bash -c "echo \"DOCKER_OPTS=\"--storage-driver=overlay2\"\" >> $FILESYSTEM_ROOT/etc/default/docker"
|
sudo bash -c "echo \"DOCKER_OPTS=\"--storage-driver=overlay2\"\" >> $FILESYSTEM_ROOT/etc/default/docker"
|
||||||
sudo cp files/docker/docker $FILESYSTEM_ROOT/etc/init.d/
|
sudo cp files/docker/docker $FILESYSTEM_ROOT/etc/init.d/
|
||||||
sudo chroot $FILESYSTEM_ROOT service docker start
|
if [[ $CONFIGURED_ARCH == armhf || $CONFIGURED_ARCH == arm64 ]]; then
|
||||||
|
SONIC_NATIVE_DOCKERD_FOR_DOCKERFS=" -H unix:///dockerfs/var/run/docker.sock "
|
||||||
|
SONIC_NATIVE_DOCKERD_FOR_DOCKERFS_PID="cat `pwd`/dockerfs/var/run/docker.pid"
|
||||||
|
else
|
||||||
|
sudo chroot $FILESYSTEM_ROOT service docker start
|
||||||
|
fi
|
||||||
|
|
||||||
# Apply apt configuration files
|
# Apply apt configuration files
|
||||||
sudo cp $IMAGE_CONFIGS/apt/sources.list $FILESYSTEM_ROOT/etc/apt/
|
sudo cp $IMAGE_CONFIGS/apt/sources.list $FILESYSTEM_ROOT/etc/apt/
|
||||||
sudo cp -R $IMAGE_CONFIGS/apt/sources.list.d/ $FILESYSTEM_ROOT/etc/apt/
|
sudo mkdir -p $FILESYSTEM_ROOT/etc/apt/sources.list.d/
|
||||||
|
sudo cp -R $IMAGE_CONFIGS/apt/sources.list.d/${CONFIGURED_ARCH}/* $FILESYSTEM_ROOT/etc/apt/sources.list.d/
|
||||||
cat $IMAGE_CONFIGS/apt/sonic-dev.gpg.key | sudo LANG=C chroot $FILESYSTEM_ROOT apt-key add -
|
cat $IMAGE_CONFIGS/apt/sonic-dev.gpg.key | sudo LANG=C chroot $FILESYSTEM_ROOT apt-key add -
|
||||||
|
|
||||||
# Update apt's snapshot of its repos
|
# Update apt's snapshot of its repos
|
||||||
@ -290,20 +298,32 @@ sudo cp $IMAGE_CONFIGS/platform/rc.local $FILESYSTEM_ROOT/etc/
|
|||||||
## copy blacklist file
|
## copy blacklist file
|
||||||
sudo cp $IMAGE_CONFIGS/platform/linux_kernel_bde.conf $FILESYSTEM_ROOT/etc/modprobe.d/
|
sudo cp $IMAGE_CONFIGS/platform/linux_kernel_bde.conf $FILESYSTEM_ROOT/etc/modprobe.d/
|
||||||
|
|
||||||
|
## Bind docker path
|
||||||
|
if [[ $CONFIGURED_ARCH == armhf || $CONFIGURED_ARCH == arm64 ]]; then
|
||||||
|
sudo mkdir -p $FILESYSTEM_ROOT/dockerfs
|
||||||
|
sudo mount --bind dockerfs $FILESYSTEM_ROOT/dockerfs
|
||||||
|
fi
|
||||||
|
|
||||||
{% if installer_images.strip() -%}
|
{% if installer_images.strip() -%}
|
||||||
sudo chroot $FILESYSTEM_ROOT docker info
|
sudo chroot $FILESYSTEM_ROOT docker $SONIC_NATIVE_DOCKERD_FOR_DOCKERFS info
|
||||||
{% for image in installer_images.strip().split(' ') -%}
|
{% for image in installer_images.strip().split(' ') -%}
|
||||||
{% set imagefilename = image.split('/')|last -%}
|
{% set imagefilename = image.split('/')|last -%}
|
||||||
{% set imagename = imagefilename.split('.')|first -%}
|
{% set imagename = imagefilename.split('.')|first -%}
|
||||||
sudo LANG=C chroot $FILESYSTEM_ROOT docker load < {{image}}
|
sudo LANG=C chroot $FILESYSTEM_ROOT docker $SONIC_NATIVE_DOCKERD_FOR_DOCKERFS load < {{image}}
|
||||||
sudo LANG=C chroot $FILESYSTEM_ROOT docker tag {{imagename}}:latest {{imagename}}:$(sonic_get_version)
|
sudo LANG=C chroot $FILESYSTEM_ROOT docker $SONIC_NATIVE_DOCKERD_FOR_DOCKERFS tag {{imagename}}:latest {{imagename}}:$(sonic_get_version)
|
||||||
{% if imagename.endswith('-dbg') %}
|
{% if imagename.endswith('-dbg') %}
|
||||||
{% set imagebasename = imagename.replace('-dbg', '') -%}
|
{% set imagebasename = imagename.replace('-dbg', '') -%}
|
||||||
sudo LANG=C chroot $FILESYSTEM_ROOT docker tag {{imagename}}:latest {{imagebasename}}:$(sonic_get_version)
|
sudo LANG=C chroot $FILESYSTEM_ROOT docker $SONIC_NATIVE_DOCKERD_FOR_DOCKERFS tag {{imagename}}:latest {{imagebasename}}:$(sonic_get_version)
|
||||||
sudo LANG=C chroot $FILESYSTEM_ROOT docker tag {{imagename}}:latest {{imagebasename}}:latest
|
sudo LANG=C chroot $FILESYSTEM_ROOT docker $SONIC_NATIVE_DOCKERD_FOR_DOCKERFS tag {{imagename}}:latest {{imagebasename}}:latest
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
sudo chroot $FILESYSTEM_ROOT service docker stop
|
if [[ $CONFIGURED_ARCH == armhf || $CONFIGURED_ARCH == arm64 ]]; then
|
||||||
|
sudo umount $FILESYSTEM_ROOT/dockerfs
|
||||||
|
sudo rm -fr $FILESYSTEM_ROOT/dockerfs
|
||||||
|
sudo kill -9 `sudo $SONIC_NATIVE_DOCKERD_FOR_DOCKERFS_PID` || true
|
||||||
|
else
|
||||||
|
sudo chroot $FILESYSTEM_ROOT service docker stop
|
||||||
|
fi
|
||||||
sudo rm $FILESYSTEM_ROOT/etc/init.d/docker
|
sudo rm $FILESYSTEM_ROOT/etc/init.d/docker
|
||||||
{% for script in installer_start_scripts.split(' ') -%}
|
{% for script in installer_start_scripts.split(' ') -%}
|
||||||
sudo cp {{script}} $FILESYSTEM_ROOT/usr/bin/
|
sudo cp {{script}} $FILESYSTEM_ROOT/usr/bin/
|
||||||
|
@ -0,0 +1,3 @@
|
|||||||
|
deb [arch=amd64] http://debian-archive.trafficmanager.net/debian/ stretch main contrib non-free
|
||||||
|
deb [arch=amd64] http://debian-archive.trafficmanager.net/debian-security/ stretch/updates main contrib non-free
|
||||||
|
deb [arch=amd64] http://debian-archive.trafficmanager.net/debian/ stretch-backports main contrib non-free
|
@ -0,0 +1,9 @@
|
|||||||
|
deb [arch=arm64] http://deb.debian.org/debian stretch main contrib non-free
|
||||||
|
deb-src [arch=arm64] http://deb.debian.org/debian stretch main contrib non-free
|
||||||
|
deb [arch=arm64] http://deb.debian.org/debian stretch-updates main contrib non-free
|
||||||
|
deb-src [arch=arm64] http://deb.debian.org/debian stretch-updates main contrib non-free
|
||||||
|
deb [arch=arm64] http://security.debian.org stretch/updates main contrib non-free
|
||||||
|
deb-src [arch=arm64] http://security.debian.org stretch/updates main contrib non-free
|
||||||
|
deb [arch=arm64] https://download.docker.com/linux/debian stretch stable
|
||||||
|
deb [arch=arm64] http://ftp.debian.org/debian stretch-backports main
|
||||||
|
|
@ -0,0 +1,9 @@
|
|||||||
|
deb [arch=armhf] http://deb.debian.org/debian stretch main contrib non-free
|
||||||
|
deb-src [arch=armhf] http://deb.debian.org/debian stretch main contrib non-free
|
||||||
|
deb [arch=armhf] http://deb.debian.org/debian stretch-updates main contrib non-free
|
||||||
|
deb-src [arch=armhf] http://deb.debian.org/debian stretch-updates main contrib non-free
|
||||||
|
deb [arch=armhf] http://security.debian.org stretch/updates main contrib non-free
|
||||||
|
deb-src [arch=armhf] http://security.debian.org stretch/updates main contrib non-free
|
||||||
|
deb [arch=armhf] https://download.docker.com/linux/debian stretch stable
|
||||||
|
deb [arch=armhf] http://ftp.debian.org/debian stretch-backports main
|
||||||
|
|
@ -1,3 +0,0 @@
|
|||||||
deb http://debian-archive.trafficmanager.net/debian/ stretch main contrib non-free
|
|
||||||
deb http://debian-archive.trafficmanager.net/debian-security/ stretch/updates main contrib non-free
|
|
||||||
deb http://debian-archive.trafficmanager.net/debian/ stretch-backports main contrib non-free
|
|
66
installer/arm64/install.sh
Normal file
66
installer/arm64/install.sh
Normal file
@ -0,0 +1,66 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# Copyright (C) 2014,2015 Curt Brune <curt@cumulusnetworks.com>
|
||||||
|
# Copyright (C) 2015 david_yang <david_yang@accton.com>
|
||||||
|
#
|
||||||
|
# SPDX-License-Identifier: GPL-2.0
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
if [ -d "/etc/sonic" ]; then
|
||||||
|
echo "Installing SONiC in SONiC"
|
||||||
|
install_env="sonic"
|
||||||
|
elif grep -Fxqs "DISTRIB_ID=onie" /etc/lsb-release > /dev/null
|
||||||
|
then
|
||||||
|
echo "Installing SONiC in ONIE"
|
||||||
|
install_env="onie"
|
||||||
|
else
|
||||||
|
echo "Installing SONiC in BUILD"
|
||||||
|
install_env="build"
|
||||||
|
fi
|
||||||
|
|
||||||
|
cd $(dirname $0)
|
||||||
|
if [ -r ./machine.conf ]; then
|
||||||
|
. ./machine.conf
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -r ./onie-image-arm64.conf ]; then
|
||||||
|
. ./onie-image-arm64.conf
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
echo "Installer: platform: $platform"
|
||||||
|
|
||||||
|
install_uimage() {
|
||||||
|
echo "Copying uImage to NOR flash:"
|
||||||
|
flashcp -v demo-${platform}.itb $mtd_dev
|
||||||
|
}
|
||||||
|
|
||||||
|
hw_load() {
|
||||||
|
echo "cp.b $img_start \$loadaddr $img_sz"
|
||||||
|
}
|
||||||
|
|
||||||
|
. ./platform.conf
|
||||||
|
|
||||||
|
install_uimage
|
||||||
|
|
||||||
|
hw_load_str="$(hw_load)"
|
||||||
|
|
||||||
|
echo "Updating U-Boot environment variables"
|
||||||
|
(cat <<EOF
|
||||||
|
hw_load $hw_load_str
|
||||||
|
copy_img echo "Loading Demo $platform image..." && run hw_load
|
||||||
|
nos_bootcmd run copy_img && setenv bootargs quiet console=\$consoledev,\$baudrate && bootm \$loadaddr
|
||||||
|
EOF
|
||||||
|
) > /tmp/env.txt
|
||||||
|
|
||||||
|
fw_setenv -f -s /tmp/env.txt
|
||||||
|
|
||||||
|
cd /
|
||||||
|
|
||||||
|
# Set NOS mode if available. For manufacturing diag installers, you
|
||||||
|
# probably want to skip this step so that the system remains in ONIE
|
||||||
|
# "installer" mode for installing a true NOS later.
|
||||||
|
if [ -x /bin/onie-nos-mode ] ; then
|
||||||
|
/bin/onie-nos-mode -s
|
||||||
|
fi
|
136
installer/armhf/install.sh
Normal file
136
installer/armhf/install.sh
Normal file
@ -0,0 +1,136 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# Copyright (C) 2014,2015 Curt Brune <curt@cumulusnetworks.com>
|
||||||
|
# Copyright (C) 2015 david_yang <david_yang@accton.com>
|
||||||
|
#
|
||||||
|
# SPDX-License-Identifier: GPL-2.0
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
if [ -d "/etc/sonic" ]; then
|
||||||
|
echo "Installing SONiC in SONiC"
|
||||||
|
install_env="sonic"
|
||||||
|
elif grep -Fxqs "DISTRIB_ID=onie" /etc/lsb-release > /dev/null
|
||||||
|
then
|
||||||
|
echo "Installing SONiC in ONIE"
|
||||||
|
install_env="onie"
|
||||||
|
else
|
||||||
|
echo "Installing SONiC in BUILD"
|
||||||
|
install_env="build"
|
||||||
|
fi
|
||||||
|
|
||||||
|
cd $(dirname $0)
|
||||||
|
if [ -r ./machine.conf ]; then
|
||||||
|
. ./machine.conf
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -r ./onie-image-armhf.conf ]; then
|
||||||
|
. ./onie-image-armhf.conf
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
echo "Installer: platform: $platform"
|
||||||
|
|
||||||
|
install_uimage() {
|
||||||
|
echo "Copying uImage to NOR flash:"
|
||||||
|
flashcp -v demo-${platform}.itb $mtd_dev
|
||||||
|
}
|
||||||
|
|
||||||
|
hw_load() {
|
||||||
|
echo "cp.b $img_start \$loadaddr $img_sz"
|
||||||
|
}
|
||||||
|
|
||||||
|
. ./platform.conf
|
||||||
|
|
||||||
|
#install_uimage
|
||||||
|
|
||||||
|
#hw_load_str="$(hw_load)"
|
||||||
|
|
||||||
|
echo "Copying uImage to NAND flash:"
|
||||||
|
# global mount defines
|
||||||
|
demo_dev=ubi0
|
||||||
|
mtd_dev=/dev/$(cat /proc/mtd | grep "SONIC" | grep -o "mtd[0-9]")
|
||||||
|
mtd_num=$(echo $mtd_dev | grep -o "[0-9]")
|
||||||
|
demo_mount=/tmp
|
||||||
|
onie_dev=$(blkid | grep ONIE-BOOT | head -n 1 | awk '{print $1}' | sed -e 's/:.*$//')
|
||||||
|
|
||||||
|
echo "Format mtd partition '$mtd_dev'"
|
||||||
|
ubiformat $mtd_dev
|
||||||
|
#attaches MTD devices (which describe raw flash) to UBI and creates corresponding UBI devices; ('-m 2' --> mtd2)
|
||||||
|
echo "ubiattach mtd '$mtd_num'"
|
||||||
|
ubiattach /dev/ubi_ctrl -m $mtd_num
|
||||||
|
#creates UBI volumes on UBI devices
|
||||||
|
ubimkvol /dev/$demo_dev -N $demo_dev -s 3700MiB
|
||||||
|
|
||||||
|
demo_mount=$(mktemp -d)
|
||||||
|
mkdir -p $demo_mount
|
||||||
|
echo "Mounting ubifs partition"
|
||||||
|
mount -t ubifs /dev/ubi0_0 $demo_mount
|
||||||
|
echo "Mounting $demo_dev on $demo_mount..."
|
||||||
|
echo "sonic extract image starts ..."
|
||||||
|
# Decompress the file for the file system directly to the partition
|
||||||
|
unzip -o $ONIE_INSTALLER_PAYLOAD -x "$FILESYSTEM_DOCKERFS" -d $demo_mount/
|
||||||
|
cd $demo_mount
|
||||||
|
if [ -f fs.cpio ]
|
||||||
|
then
|
||||||
|
cpio -id < fs.cpio
|
||||||
|
rm fs.cpio
|
||||||
|
elif [ -f fs.squashfs ]
|
||||||
|
then
|
||||||
|
unsquashfs -f -d $demo_mount fs.squashfs
|
||||||
|
rm -f fs.squashfs
|
||||||
|
fi
|
||||||
|
cd -
|
||||||
|
TAR_EXTRA_OPTION="--numeric-owner"
|
||||||
|
mkdir -p $demo_mount/var/lib/$DOCKERFS_DIR
|
||||||
|
unzip -op $ONIE_INSTALLER_PAYLOAD "$FILESYSTEM_DOCKERFS" | tar -xpz $TAR_EXTRA_OPTION -f - -C $demo_mount/var/lib/$DOCKERFS_DIR
|
||||||
|
|
||||||
|
echo "unmounting nand partition"
|
||||||
|
umount $demo_mount
|
||||||
|
|
||||||
|
echo "Updating U-Boot environment variables"
|
||||||
|
#global uboot enviroment settings
|
||||||
|
#FW_ENV='/dev/mtd0 \t\t 0x00500000 \t 0x80000 \t 0x100000 \t 8'
|
||||||
|
FW_ENV='/dev/mtd0 \t\t 0x00500000 \t 0x80000 \t 0x100000 \t 2'
|
||||||
|
|
||||||
|
kernel_addr=0x1100000
|
||||||
|
fdt_addr=0x1000000
|
||||||
|
|
||||||
|
image_name="/boot/zImage"
|
||||||
|
fdt_name="/boot/armada-385-ET6448M_4G_Nand.dtb"
|
||||||
|
|
||||||
|
#BOOTARGS='setenv bootargs root='$demo_dev' rw rootwait ubi.mtd='$mtd_num' rootfstype=ubifs debug panic=1 ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:${hostname}:${netdev}:off console=ttyS0,115200 ${othbootargs} ${mtdparts}'
|
||||||
|
BOOTARGS='setenv bootargs root='$demo_dev' rw rootwait ubi.mtd='$mtd_num' rootfstype=ubifs panic=1 console=ttyS0,115200 ${othbootargs} ${mtdparts}'
|
||||||
|
UBI_LOAD='run ubi_sonic_boot_mount_ubi; ubifsload $kernel_addr $image_name;ubifsload $fdt_addr $fdt_name'
|
||||||
|
UBIBOOTCMD='run ubi_sonic_boot_bootargs; run ubi_sonic_boot_load; bootz $kernel_addr - $fdt_addr'
|
||||||
|
|
||||||
|
|
||||||
|
echo -e $FW_ENV > /etc/fw_env.config
|
||||||
|
|
||||||
|
fw_setenv -f image_name $image_name > /dev/null
|
||||||
|
fw_setenv -f fdt_name $fdt_name > /dev/null
|
||||||
|
fw_setenv -f kernel_addr $kernel_addr > /dev/null
|
||||||
|
fw_setenv -f fdt_addr $fdt_addr > /dev/null
|
||||||
|
|
||||||
|
#make sure ubi number (0) and ubi volume name (ubi0) are set correctly in bootargs_root:
|
||||||
|
#For example, the below command creates an 3000MiB volume on UBI device 0:
|
||||||
|
#setenv bootargs_root root=ubi0:ubi0 rw ubi.mtd=2 rootfstype=ubifs
|
||||||
|
|
||||||
|
fw_setenv -f mtdids 'nand0=armada-nand' > /dev/null
|
||||||
|
fw_setenv -f mtdparts 'mtdparts=armada-nand:10m(U-Boot)ro,208m@10m(ONIE),-(SONIC)' > /dev/null
|
||||||
|
fw_setenv -f ubi_sonic_boot_mount_ubi 'ubi part SONIC; ubifsmount ubi0' > /dev/null
|
||||||
|
|
||||||
|
fw_setenv -f ubi_sonic_boot_bootargs $BOOTARGS > /dev/null
|
||||||
|
fw_setenv -f ubi_sonic_boot_load $UBI_LOAD > /dev/null
|
||||||
|
fw_setenv -f ubi_sonic_boot $UBIBOOTCMD > /dev/null
|
||||||
|
fw_setenv -f bootcmd 'usb start; run ubi_sonic_boot' > /dev/null
|
||||||
|
|
||||||
|
|
||||||
|
cd /
|
||||||
|
|
||||||
|
# Set NOS mode if available. For manufacturing diag installers, you
|
||||||
|
# probably want to skip this step so that the system remains in ONIE
|
||||||
|
# "installer" mode for installing a true NOS later.
|
||||||
|
if [ -x /bin/onie-nos-mode ] ; then
|
||||||
|
/bin/onie-nos-mode -s
|
||||||
|
fi
|
46
onie-image-arm64.conf
Normal file
46
onie-image-arm64.conf
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
## DESCRIPTION:
|
||||||
|
## config for ONIE image
|
||||||
|
##
|
||||||
|
|
||||||
|
## Partition size in MB
|
||||||
|
## The default size is 32GB
|
||||||
|
: ${ONIE_IMAGE_PART_SIZE:=32768}
|
||||||
|
|
||||||
|
## Target hardware information
|
||||||
|
: ${TARGET_PLATFORM:=arm64}
|
||||||
|
: ${TARGET_MACHINE:=generic}
|
||||||
|
|
||||||
|
ONIEIMAGE_VERSION=r0
|
||||||
|
|
||||||
|
## Filename for squashfs file system
|
||||||
|
FILESYSTEM_SQUASHFS=fs.squashfs
|
||||||
|
|
||||||
|
## Filename for onie installer payload, will be the main part of onie installer
|
||||||
|
ONIE_INSTALLER_PAYLOAD=fs.zip
|
||||||
|
|
||||||
|
## Filename for docker file system
|
||||||
|
FILESYSTEM_DOCKERFS=dockerfs.tar.gz
|
||||||
|
|
||||||
|
## docker directory on the root filesystem
|
||||||
|
DOCKERFS_DIR=docker
|
||||||
|
|
||||||
|
## Output file name for onie installer
|
||||||
|
OUTPUT_ONIE_IMAGE=target/sonic-$TARGET_MACHINE.bin
|
||||||
|
|
||||||
|
## Output file name for raw image
|
||||||
|
OUTPUT_RAW_IMAGE=target/sonic-$TARGET_MACHINE.raw
|
||||||
|
|
||||||
|
## Raw image size in MB
|
||||||
|
RAW_IMAGE_DISK_SIZE=1024
|
||||||
|
|
||||||
|
## Output file name for kvm image
|
||||||
|
OUTPUT_KVM_IMAGE=target/sonic-$TARGET_MACHINE.img
|
||||||
|
|
||||||
|
## Kvm image size in GB
|
||||||
|
KVM_IMAGE_DISK_SIZE=16
|
||||||
|
|
||||||
|
## Output file name for aboot installer
|
||||||
|
OUTPUT_ABOOT_IMAGE=target/sonic-aboot-$TARGET_MACHINE.swi
|
||||||
|
|
||||||
|
## Aboot boot image name
|
||||||
|
ABOOT_BOOT_IMAGE=.sonic-boot.swi
|
46
onie-image-armhf.conf
Normal file
46
onie-image-armhf.conf
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
## DESCRIPTION:
|
||||||
|
## config for ONIE image
|
||||||
|
##
|
||||||
|
|
||||||
|
## Partition size in MB
|
||||||
|
## The default size is 32GB
|
||||||
|
: ${ONIE_IMAGE_PART_SIZE:=32768}
|
||||||
|
|
||||||
|
## Target hardware information
|
||||||
|
: ${TARGET_PLATFORM:=armhf}
|
||||||
|
: ${TARGET_MACHINE:=generic}
|
||||||
|
|
||||||
|
ONIEIMAGE_VERSION=r0
|
||||||
|
|
||||||
|
## Filename for squashfs file system
|
||||||
|
FILESYSTEM_SQUASHFS=fs.squashfs
|
||||||
|
|
||||||
|
## Filename for onie installer payload, will be the main part of onie installer
|
||||||
|
ONIE_INSTALLER_PAYLOAD=fs.zip
|
||||||
|
|
||||||
|
## Filename for docker file system
|
||||||
|
FILESYSTEM_DOCKERFS=dockerfs.tar.gz
|
||||||
|
|
||||||
|
## docker directory on the root filesystem
|
||||||
|
DOCKERFS_DIR=docker
|
||||||
|
|
||||||
|
## Output file name for onie installer
|
||||||
|
OUTPUT_ONIE_IMAGE=target/sonic-$TARGET_MACHINE.bin
|
||||||
|
|
||||||
|
## Output file name for raw image
|
||||||
|
OUTPUT_RAW_IMAGE=target/sonic-$TARGET_MACHINE.raw
|
||||||
|
|
||||||
|
## Raw image size in MB
|
||||||
|
RAW_IMAGE_DISK_SIZE=1024
|
||||||
|
|
||||||
|
## Output file name for kvm image
|
||||||
|
OUTPUT_KVM_IMAGE=target/sonic-$TARGET_MACHINE.img
|
||||||
|
|
||||||
|
## Kvm image size in GB
|
||||||
|
KVM_IMAGE_DISK_SIZE=16
|
||||||
|
|
||||||
|
## Output file name for aboot installer
|
||||||
|
OUTPUT_ABOOT_IMAGE=target/sonic-aboot-$TARGET_MACHINE.swi
|
||||||
|
|
||||||
|
## Aboot boot image name
|
||||||
|
ABOOT_BOOT_IMAGE=.sonic-boot.swi
|
@ -78,6 +78,7 @@ mkdir $tmp_installdir || clean_up 1
|
|||||||
|
|
||||||
cp -r $installer_dir/$arch/* $tmp_installdir || clean_up 1
|
cp -r $installer_dir/$arch/* $tmp_installdir || clean_up 1
|
||||||
cp onie-image.conf $tmp_installdir
|
cp onie-image.conf $tmp_installdir
|
||||||
|
cp onie-image-*.conf $tmp_installdir
|
||||||
|
|
||||||
# Escape special chars in the user provide kernel cmdline string for use in
|
# Escape special chars in the user provide kernel cmdline string for use in
|
||||||
# sed. Special chars are: \ / &
|
# sed. Special chars are: \ / &
|
||||||
|
21
platform/marvell-arm64/docker-syncd-mrvl-rpc.mk
Normal file
21
platform/marvell-arm64/docker-syncd-mrvl-rpc.mk
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
# docker image for mrvl syncd with rpc
|
||||||
|
|
||||||
|
DOCKER_SYNCD_MRVL_RPC = docker-syncd-mrvl-rpc.gz
|
||||||
|
$(DOCKER_SYNCD_MRVL_RPC)_PATH = $(PLATFORM_PATH)/docker-syncd-mrvl-rpc
|
||||||
|
$(DOCKER_SYNCD_MRVL_RPC)_DEPENDS += $(SYNCD_RPC) $(LIBTHRIFT)
|
||||||
|
ifeq ($(INSTALL_DEBUG_TOOLS), y)
|
||||||
|
$(DOCKER_SYNCD_MRVL_RPC)_DEPENDS += $(SYNCD_RPC_DBG) \
|
||||||
|
$(LIBSWSSCOMMON_DBG) \
|
||||||
|
$(LIBSAIMETADATA_DBG) \
|
||||||
|
$(LIBSAIREDIS_DBG)
|
||||||
|
endif
|
||||||
|
$(DOCKER_SYNCD_MRVL_RPC)_LOAD_DOCKERS += $(DOCKER_SYNCD_MRVL)
|
||||||
|
SONIC_DOCKER_IMAGES += $(DOCKER_SYNCD_MRVL_RPC)
|
||||||
|
ifeq ($(ENABLE_SYNCD_RPC),y)
|
||||||
|
SONIC_INSTALL_DOCKER_IMAGES += $(DOCKER_SYNCD_MRVL_RPC)
|
||||||
|
endif
|
||||||
|
|
||||||
|
$(DOCKER_SYNCD_MRVL_RPC)_CONTAINER_NAME = syncd
|
||||||
|
$(DOCKER_SYNCD_MRVL_RPC)_RUN_OPT += --net=host --privileged -t
|
||||||
|
$(DOCKER_SYNCD_MRVL_RPC)_RUN_OPT += -v /host/machine.conf:/etc/machine.conf
|
||||||
|
$(DOCKER_SYNCD_MRVL_RPC)_RUN_OPT += -v /etc/sonic:/etc/sonic:ro
|
@ -0,0 +1 @@
|
|||||||
|
sysctl -w net.core.rmem_max=509430500
|
51
platform/marvell-arm64/docker-syncd-mrvl-rpc/Dockerfile.j2
Normal file
51
platform/marvell-arm64/docker-syncd-mrvl-rpc/Dockerfile.j2
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
FROM docker-syncd-mrvl
|
||||||
|
|
||||||
|
## Make apt-get non-interactive
|
||||||
|
ENV DEBIAN_FRONTEND=noninteractive
|
||||||
|
|
||||||
|
COPY \
|
||||||
|
{% for deb in docker_syncd_mrvl_rpc_debs.split(' ') -%}
|
||||||
|
debs/{{ deb }}{{' '}}
|
||||||
|
{%- endfor -%}
|
||||||
|
debs/
|
||||||
|
|
||||||
|
RUN apt-get purge -y syncd
|
||||||
|
|
||||||
|
RUN dpkg_apt() { [ -f $1 ] && { dpkg -i $1 || apt-get -y install -f; } || return 1; } ; \
|
||||||
|
{% for deb in docker_syncd_mrvl_rpc_debs.split(' ') -%}
|
||||||
|
dpkg_apt debs/{{ deb }}{{'; '}}
|
||||||
|
{%- endfor %}
|
||||||
|
|
||||||
|
## Pre-install the fundamental packages
|
||||||
|
RUN apt-get update \
|
||||||
|
&& apt-get -y install \
|
||||||
|
net-tools \
|
||||||
|
python-pip \
|
||||||
|
build-essential \
|
||||||
|
libssl-dev \
|
||||||
|
libffi-dev \
|
||||||
|
python-dev \
|
||||||
|
wget \
|
||||||
|
cmake \
|
||||||
|
&& wget https://github.com/nanomsg/nanomsg/archive/1.0.0.tar.gz \
|
||||||
|
&& tar xvfz 1.0.0.tar.gz \
|
||||||
|
&& cd nanomsg-1.0.0 \
|
||||||
|
&& mkdir -p build \
|
||||||
|
&& cmake . \
|
||||||
|
&& make install \
|
||||||
|
&& ldconfig \
|
||||||
|
&& cd .. \
|
||||||
|
&& rm -fr nanomsg-1.0.0 \
|
||||||
|
&& rm -f 1.0.0.tar.gz \
|
||||||
|
&& pip install cffi==1.7.0 \
|
||||||
|
&& pip install --upgrade cffi==1.7.0 \
|
||||||
|
&& pip install nnpy \
|
||||||
|
&& mkdir -p /opt \
|
||||||
|
&& cd /opt \
|
||||||
|
&& wget https://raw.githubusercontent.com/p4lang/ptf/master/ptf_nn/ptf_nn_agent.py \
|
||||||
|
&& apt-get clean -y; apt-get autoclean -y; apt-get autoremove -y \
|
||||||
|
&& rm -rf /root/deps
|
||||||
|
|
||||||
|
COPY ["ptf_nn_agent.conf", "/etc/supervisor/conf.d/"]
|
||||||
|
|
||||||
|
ENTRYPOINT ["/usr/bin/supervisord"]
|
@ -0,0 +1,10 @@
|
|||||||
|
[program:ptf_nn_agent]
|
||||||
|
command=/usr/bin/python /opt/ptf_nn_agent.py --device-socket 1@tcp://0.0.0.0:10900 -i 1-3@Ethernet12 --set-iface-rcv-buffer=109430400
|
||||||
|
process_name=ptf_nn_agent
|
||||||
|
stdout_logfile=/tmp/ptf_nn_agent.out.log
|
||||||
|
stderr_logfile=/tmp/ptf_nn_agent.err.log
|
||||||
|
redirect_stderr=false
|
||||||
|
autostart=true
|
||||||
|
autorestart=true
|
||||||
|
startsecs=1
|
||||||
|
numprocs=1
|
21
platform/marvell-arm64/docker-syncd-mrvl.mk
Normal file
21
platform/marvell-arm64/docker-syncd-mrvl.mk
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
# docker image for mrvl syncd
|
||||||
|
|
||||||
|
DOCKER_SYNCD_MRVL = docker-syncd-mrvl.gz
|
||||||
|
$(DOCKER_SYNCD_MRVL)_PATH = $(PLATFORM_PATH)/docker-syncd-mrvl
|
||||||
|
$(DOCKER_SYNCD_MRVL)_DEPENDS += $(SYNCD) $(MRVL_FPA) $(REDIS_TOOLS)
|
||||||
|
ifeq ($(INSTALL_DEBUG_TOOLS), y)
|
||||||
|
$(DOCKER_SYNCD_MRVL)_DEPENDS += $(SYNCD_DBG) \
|
||||||
|
$(LIBSWSSCOMMON_DBG) \
|
||||||
|
$(LIBSAIMETADATA_DBG) \
|
||||||
|
$(LIBSAIREDIS_DBG)
|
||||||
|
endif
|
||||||
|
$(DOCKER_SYNCD_MRVL)_LOAD_DOCKERS += $(DOCKER_CONFIG_ENGINE)
|
||||||
|
SONIC_DOCKER_IMAGES += $(DOCKER_SYNCD_MRVL)
|
||||||
|
ifneq ($(ENABLE_SYNCD_RPC),y)
|
||||||
|
SONIC_INSTALL_DOCKER_IMAGES += $(DOCKER_SYNCD_MRVL)
|
||||||
|
endif
|
||||||
|
|
||||||
|
$(DOCKER_SYNCD_MRVL)_CONTAINER_NAME = syncd
|
||||||
|
$(DOCKER_SYNCD_MRVL)_RUN_OPT += --net=host --privileged -t
|
||||||
|
$(DOCKER_SYNCD_MRVL)_RUN_OPT += -v /host/machine.conf:/etc/machine.conf
|
||||||
|
$(DOCKER_SYNCD_MRVL)_RUN_OPT += -v /etc/sonic:/etc/sonic:ro
|
37
platform/marvell-arm64/docker-syncd-mrvl/Dockerfile.j2
Executable file
37
platform/marvell-arm64/docker-syncd-mrvl/Dockerfile.j2
Executable file
@ -0,0 +1,37 @@
|
|||||||
|
FROM docker-config-engine-stretch
|
||||||
|
|
||||||
|
ARG docker_container_name
|
||||||
|
RUN [ -f /etc/rsyslog.conf ] && sed -ri "s/%syslogtag%/$docker_container_name#%syslogtag%/;" /etc/rsyslog.conf
|
||||||
|
|
||||||
|
## Make apt-get non-interactive
|
||||||
|
ENV DEBIAN_FRONTEND=noninteractive
|
||||||
|
|
||||||
|
RUN apt-get update
|
||||||
|
|
||||||
|
COPY \
|
||||||
|
{% for deb in docker_syncd_mrvl_debs.split(' ') -%}
|
||||||
|
debs/{{ deb }}{{' '}}
|
||||||
|
{%- endfor -%}
|
||||||
|
debs/
|
||||||
|
|
||||||
|
RUN apt-get update \
|
||||||
|
&& apt-get -y install \
|
||||||
|
net-tools \
|
||||||
|
iputils-ping
|
||||||
|
|
||||||
|
RUN apt-get -y install libpcap-dev libxml2-dev python-dev swig libsensors4-dev libjemalloc1 nfs-common
|
||||||
|
|
||||||
|
RUN dpkg -i \
|
||||||
|
{% for deb in docker_syncd_mrvl_debs.split(' ') -%}
|
||||||
|
debs/{{ deb }}{{' '}}
|
||||||
|
{%- endfor %}
|
||||||
|
|
||||||
|
COPY ["start.sh", "syncd.sh", "/usr/bin/"]
|
||||||
|
COPY ["supervisord.conf", "/etc/supervisor/conf.d/"]
|
||||||
|
|
||||||
|
## Clean up
|
||||||
|
RUN apt-get clean -y; apt-get autoclean -y; apt-get autoremove -y
|
||||||
|
RUN rm -rf /debs
|
||||||
|
|
||||||
|
ENTRYPOINT ["/usr/bin/supervisord"]
|
||||||
|
|
8
platform/marvell-arm64/docker-syncd-mrvl/start.sh
Executable file
8
platform/marvell-arm64/docker-syncd-mrvl/start.sh
Executable file
@ -0,0 +1,8 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
rm -f /var/run/rsyslogd.pid
|
||||||
|
|
||||||
|
supervisorctl start rsyslogd
|
||||||
|
|
||||||
|
supervisorctl start syncd
|
||||||
|
|
29
platform/marvell-arm64/docker-syncd-mrvl/supervisord.conf
Normal file
29
platform/marvell-arm64/docker-syncd-mrvl/supervisord.conf
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
[supervisord]
|
||||||
|
logfile_maxbytes=1MB
|
||||||
|
logfile_backups=2
|
||||||
|
nodaemon=true
|
||||||
|
|
||||||
|
[program:start.sh]
|
||||||
|
command=/usr/bin/start.sh
|
||||||
|
priority=1
|
||||||
|
autostart=true
|
||||||
|
autorestart=false
|
||||||
|
stdout_logfile=syslog
|
||||||
|
stderr_logfile=syslog
|
||||||
|
|
||||||
|
[program:rsyslogd]
|
||||||
|
command=/usr/sbin/rsyslogd -n
|
||||||
|
priority=2
|
||||||
|
autostart=false
|
||||||
|
autorestart=false
|
||||||
|
stdout_logfile=syslog
|
||||||
|
stderr_logfile=syslog
|
||||||
|
|
||||||
|
[program:syncd]
|
||||||
|
command=/usr/bin/syncd_start.sh
|
||||||
|
priority=3
|
||||||
|
autostart=false
|
||||||
|
autorestart=false
|
||||||
|
stdout_logfile=syslog
|
||||||
|
stderr_logfile=syslog
|
||||||
|
|
12
platform/marvell-arm64/docker-syncd-mrvl/syncd.sh
Executable file
12
platform/marvell-arm64/docker-syncd-mrvl/syncd.sh
Executable file
@ -0,0 +1,12 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
function clean_up {
|
||||||
|
service syncd stop
|
||||||
|
exit
|
||||||
|
}
|
||||||
|
|
||||||
|
trap clean_up SIGTERM SIGKILL
|
||||||
|
|
||||||
|
service syncd start
|
||||||
|
|
||||||
|
read
|
20
platform/marvell-arm64/libsaithrift-dev.mk
Normal file
20
platform/marvell-arm64/libsaithrift-dev.mk
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
# libsaithrift-dev package
|
||||||
|
|
||||||
|
SAI_VER = 0.9.4
|
||||||
|
|
||||||
|
LIBSAITHRIFT_DEV = libsaithrift-dev_$(SAI_VER)_$(CONFIGURED_ARCH).deb
|
||||||
|
$(LIBSAITHRIFT_DEV)_SRC_PATH = $(SRC_PATH)/sonic-sairedis/SAI
|
||||||
|
$(LIBSAITHRIFT_DEV)_DEPENDS += $(LIBTHRIFT) $(LIBTHRIFT_DEV) $(PYTHON_THRIFT) $(THRIFT_COMPILER) $(MRVL_FPA) $(MRVL_SAI)
|
||||||
|
$(LIBSAITHRIFT_DEV)_RDEPENDS += $(LIBTHRIFT) $(MRVL_SAI)
|
||||||
|
SONIC_DPKG_DEBS += $(LIBSAITHRIFT_DEV)
|
||||||
|
|
||||||
|
PYTHON_SAITHRIFT = python-saithrift_$(SAI_VER)_$(CONFIGURED_ARCH).deb
|
||||||
|
$(eval $(call add_extra_package,$(LIBSAITHRIFT_DEV),$(PYTHON_SAITHRIFT)))
|
||||||
|
|
||||||
|
SAISERVER = saiserver_$(SAI_VER)_$(CONFIGURED_ARCH).deb
|
||||||
|
$(SAISERVER)_RDEPENDS += $(LIBTHRIFT) $(BRCM_SAI)
|
||||||
|
$(eval $(call add_extra_package,$(LIBSAITHRIFT_DEV),$(SAISERVER)))
|
||||||
|
|
||||||
|
SAISERVER_DBG = saiserver-dbg_$(SAI_VER)_$(CONFIGURED_ARCH).deb
|
||||||
|
$(SAISERVER_DBG)_RDEPENDS += $(SAISERVER)
|
||||||
|
$(eval $(call add_extra_package,$(LIBSAITHRIFT_DEV),$(SAISERVER_DBG)))
|
8
platform/marvell-arm64/linux-kernel-arm64.mk
Normal file
8
platform/marvell-arm64/linux-kernel-arm64.mk
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
# linux kernel package for marvell arm64
|
||||||
|
|
||||||
|
KVERSION= 4.4.8
|
||||||
|
|
||||||
|
|
||||||
|
LINUX_KERNEL= linux-image-4.4.8_4.4.8-4_arm64.deb
|
||||||
|
$(LINUX_KERNEL)_PATH = /sonic
|
||||||
|
SONIC_COPY_DEBS += $(LINUX_KERNEL)
|
7
platform/marvell-arm64/one-image.mk
Normal file
7
platform/marvell-arm64/one-image.mk
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
# sonic marvell one image installer
|
||||||
|
|
||||||
|
SONIC_ONE_IMAGE = sonic-marvell.bin
|
||||||
|
$(SONIC_ONE_IMAGE)_MACHINE = marvell
|
||||||
|
$(SONIC_ONE_IMAGE)_IMAGE_TYPE = onie
|
||||||
|
$(SONIC_ONE_IMAGE)_DOCKERS += $(SONIC_INSTALL_DOCKER_IMAGES)
|
||||||
|
SONIC_INSTALLERS += $(SONIC_ONE_IMAGE)
|
0
platform/marvell-arm64/platform.conf
Normal file
0
platform/marvell-arm64/platform.conf
Normal file
17
platform/marvell-arm64/rules.mk
Normal file
17
platform/marvell-arm64/rules.mk
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
#include $(PLATFORM_PATH)/sdk.mk
|
||||||
|
include $(PLATFORM_PATH)/sai.mk
|
||||||
|
include $(PLATFORM_PATH)/docker-syncd-mrvl.mk
|
||||||
|
include $(PLATFORM_PATH)/docker-syncd-mrvl-rpc.mk
|
||||||
|
include $(PLATFORM_PATH)/libsaithrift-dev.mk
|
||||||
|
include $(PLATFORM_PATH)/one-image.mk
|
||||||
|
include $(PLATFORM_PATH)/linux-kernel-arm64.mk
|
||||||
|
|
||||||
|
SONIC_ALL += $(SONIC_ONE_IMAGE) \
|
||||||
|
$(DOCKER_FPM) \
|
||||||
|
$(DOCKER_SYNCD_MRVL_RPC)
|
||||||
|
|
||||||
|
# Inject mrvl sai into sairedis
|
||||||
|
$(LIBSAIREDIS)_DEPENDS += $(MRVL_FPA) $(MRVL_SAI) $(LIBSAITHRIFT_DEV_MRVL)
|
||||||
|
|
||||||
|
# Runtime dependency on mrvl sai is set only for syncd
|
||||||
|
$(SYNCD)_RDEPENDS += $(MRVL_SAI)
|
9
platform/marvell-arm64/sai.mk
Normal file
9
platform/marvell-arm64/sai.mk
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
# Marvell SAI
|
||||||
|
|
||||||
|
export MRVL_SAI_VERSION = 1.4.1
|
||||||
|
export MRVL_SAI_TAG = SONiC.201904
|
||||||
|
export MRVL_SAI = mrvllibsai_$(PLATFORM_ARCH)_$(MRVL_SAI_VERSION).deb
|
||||||
|
|
||||||
|
$(MRVL_SAI)_SRC_PATH = $(PLATFORM_PATH)/sai
|
||||||
|
#$(MRVL_SAI)_DEPENDS += $(MRVL_FPA)
|
||||||
|
SONIC_MAKE_DEBS += $(MRVL_SAI)
|
9
platform/marvell-arm64/sai/Makefile
Normal file
9
platform/marvell-arm64/sai/Makefile
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
.ONESHELL:
|
||||||
|
SHELL = /bin/bash
|
||||||
|
.SHELLFLAGS += -e
|
||||||
|
|
||||||
|
MRVL_SAI_URL = https://github.com/Marvell-switching/SAI-plugin/raw/$(MRVL_SAI_TAG)/sai_deb/$(MRVL_SAI)
|
||||||
|
|
||||||
|
$(addprefix $(DEST)/, $(MRVL_SAI)): $(DEST)/% :
|
||||||
|
# get deb package
|
||||||
|
wget -O $(DEST)/$(MRVL_SAI) $(MRVL_SAI_URL)
|
7
platform/marvell-armhf/docker-ptf-mrvl.mk
Normal file
7
platform/marvell-armhf/docker-ptf-mrvl.mk
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
# docker image for docker-ptf-mrvl
|
||||||
|
|
||||||
|
DOCKER_PTF_MRVL = docker-ptf-mrvl.gz
|
||||||
|
$(DOCKER_PTF_MRVL)_PATH = $(DOCKERS_PATH)/docker-ptf-saithrift
|
||||||
|
$(DOCKER_PTF_MRVL)_DEPENDS += $(PYTHON_SAITHRIFT)
|
||||||
|
$(DOCKER_PTF_MRVL)_LOAD_DOCKERS += $(DOCKER_PTF)
|
||||||
|
SONIC_DOCKER_IMAGES += $(DOCKER_PTF_MRVL)
|
15
platform/marvell-armhf/docker-saiserver-mrvl.mk
Normal file
15
platform/marvell-armhf/docker-saiserver-mrvl.mk
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
# docker image for mrvl saiserver
|
||||||
|
|
||||||
|
DOCKER_SAISERVER_MRVL = docker-saiserver-mrvl.gz
|
||||||
|
$(DOCKER_SAISERVER_MRVL)_PATH = $(PLATFORM_PATH)/docker-saiserver-mrvl
|
||||||
|
$(DOCKER_SAISERVER_MRVL)_DEPENDS += $(SAISERVER)
|
||||||
|
$(DOCKER_SAISERVER_MRVL)_FILES += $(DSSERVE) $(BCMCMD)
|
||||||
|
$(DOCKER_SAISERVER_MRVL)_LOAD_DOCKERS += $(DOCKER_CONFIG_ENGINE_STRETCH)
|
||||||
|
SONIC_DOCKER_IMAGES += $(DOCKER_SAISERVER_MRVL)
|
||||||
|
|
||||||
|
$(DOCKER_SAISERVER_MRVL)_CONTAINER_NAME = saiserver
|
||||||
|
$(DOCKER_SAISERVER_MRVL)_RUN_OPT += --net=host --privileged -t
|
||||||
|
$(DOCKER_SAISERVER_MRVL)_RUN_OPT += -v /host/machine.conf:/etc/machine.conf
|
||||||
|
$(DOCKER_SAISERVER_MRVL)_RUN_OPT += -v /var/run/docker-saiserver:/var/run/sswsyncd
|
||||||
|
$(DOCKER_SAISERVER_MRVL)_RUN_OPT += -v /etc/sonic:/etc/sonic:ro
|
||||||
|
$(DOCKER_SAISERVER_MRVL)_RUN_OPT += -v /host/warmboot:/var/warmboot
|
23
platform/marvell-armhf/docker-syncd-mrvl-rpc.mk
Normal file
23
platform/marvell-armhf/docker-syncd-mrvl-rpc.mk
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
# docker image for mrvl syncd with rpc
|
||||||
|
|
||||||
|
DOCKER_SYNCD_MRVL_RPC = docker-syncd-mrvl-rpc.gz
|
||||||
|
$(DOCKER_SYNCD_MRVL_RPC)_PATH = $(PLATFORM_PATH)/docker-syncd-mrvl-rpc
|
||||||
|
$(DOCKER_SYNCD_MRVL_RPC)_DEPENDS += $(SYNCD_RPC) $(LIBTHRIFT)
|
||||||
|
ifeq ($(INSTALL_DEBUG_TOOLS), y)
|
||||||
|
$(DOCKER_SYNCD_MRVL_RPC)_DEPENDS += $(SYNCD_RPC_DBG) \
|
||||||
|
$(LIBSWSSCOMMON_DBG) \
|
||||||
|
$(LIBSAIMETADATA_DBG) \
|
||||||
|
$(LIBSAIREDIS_DBG)
|
||||||
|
endif
|
||||||
|
$(DOCKER_SYNCD_MRVL_RPC)_LOAD_DOCKERS += $(DOCKER_SYNCD_BASE)
|
||||||
|
SONIC_DOCKER_IMAGES += $(DOCKER_SYNCD_MRVL_RPC)
|
||||||
|
SONIC_STRETCH_DOCKERS += $(DOCKER_SYNCD_MRVL_RPC)
|
||||||
|
ifeq ($(ENABLE_SYNCD_RPC),y)
|
||||||
|
SONIC_INSTALL_DOCKER_IMAGES += $(DOCKER_SYNCD_MRVL_RPC)
|
||||||
|
endif
|
||||||
|
|
||||||
|
$(DOCKER_SYNCD_MRVL_RPC)_CONTAINER_NAME = syncd
|
||||||
|
$(DOCKER_SYNCD_MRVL_RPC)_RUN_OPT += --net=host --privileged -t
|
||||||
|
$(DOCKER_SYNCD_MRVL_RPC)_RUN_OPT += -v /host/machine.conf:/etc/machine.conf
|
||||||
|
$(DOCKER_SYNCD_MRVL_RPC)_RUN_OPT += -v /etc/sonic:/etc/sonic:ro
|
||||||
|
$(DOCKER_SYNCD_MRVL_RPC)_RUN_OPT += -v /host/warmboot:/var/warmboot
|
@ -0,0 +1 @@
|
|||||||
|
sysctl -w net.core.rmem_max=509430500
|
51
platform/marvell-armhf/docker-syncd-mrvl-rpc/Dockerfile.j2
Normal file
51
platform/marvell-armhf/docker-syncd-mrvl-rpc/Dockerfile.j2
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
FROM docker-syncd-mrvl
|
||||||
|
|
||||||
|
## Make apt-get non-interactive
|
||||||
|
ENV DEBIAN_FRONTEND=noninteractive
|
||||||
|
|
||||||
|
COPY \
|
||||||
|
{% for deb in docker_syncd_mrvl_rpc_debs.split(' ') -%}
|
||||||
|
debs/{{ deb }}{{' '}}
|
||||||
|
{%- endfor -%}
|
||||||
|
debs/
|
||||||
|
|
||||||
|
RUN apt-get purge -y syncd
|
||||||
|
|
||||||
|
RUN dpkg_apt() { [ -f $1 ] && { dpkg -i $1 || apt-get -y install -f; } || return 1; } ; \
|
||||||
|
{% for deb in docker_syncd_mrvl_rpc_debs.split(' ') -%}
|
||||||
|
dpkg_apt debs/{{ deb }}{{'; '}}
|
||||||
|
{%- endfor %}
|
||||||
|
|
||||||
|
## Pre-install the fundamental packages
|
||||||
|
RUN apt-get update \
|
||||||
|
&& apt-get -y install \
|
||||||
|
net-tools \
|
||||||
|
python-pip \
|
||||||
|
build-essential \
|
||||||
|
libssl-dev \
|
||||||
|
libffi-dev \
|
||||||
|
python-dev \
|
||||||
|
wget \
|
||||||
|
cmake \
|
||||||
|
&& wget https://github.com/nanomsg/nanomsg/archive/1.0.0.tar.gz \
|
||||||
|
&& tar xvfz 1.0.0.tar.gz \
|
||||||
|
&& cd nanomsg-1.0.0 \
|
||||||
|
&& mkdir -p build \
|
||||||
|
&& cmake . \
|
||||||
|
&& make install \
|
||||||
|
&& ldconfig \
|
||||||
|
&& cd .. \
|
||||||
|
&& rm -fr nanomsg-1.0.0 \
|
||||||
|
&& rm -f 1.0.0.tar.gz \
|
||||||
|
&& pip install cffi==1.7.0 \
|
||||||
|
&& pip install --upgrade cffi==1.7.0 \
|
||||||
|
&& pip install nnpy \
|
||||||
|
&& mkdir -p /opt \
|
||||||
|
&& cd /opt \
|
||||||
|
&& wget https://raw.githubusercontent.com/p4lang/ptf/master/ptf_nn/ptf_nn_agent.py \
|
||||||
|
&& apt-get clean -y; apt-get autoclean -y; apt-get autoremove -y \
|
||||||
|
&& rm -rf /root/deps
|
||||||
|
|
||||||
|
COPY ["ptf_nn_agent.conf", "/etc/supervisor/conf.d/"]
|
||||||
|
|
||||||
|
ENTRYPOINT ["/usr/bin/supervisord"]
|
@ -0,0 +1,10 @@
|
|||||||
|
[program:ptf_nn_agent]
|
||||||
|
command=/usr/bin/python /opt/ptf_nn_agent.py --device-socket 1@tcp://0.0.0.0:10900 -i 1-3@Ethernet12 --set-iface-rcv-buffer=109430400
|
||||||
|
process_name=ptf_nn_agent
|
||||||
|
stdout_logfile=/tmp/ptf_nn_agent.out.log
|
||||||
|
stderr_logfile=/tmp/ptf_nn_agent.err.log
|
||||||
|
redirect_stderr=false
|
||||||
|
autostart=true
|
||||||
|
autorestart=true
|
||||||
|
startsecs=1
|
||||||
|
numprocs=1
|
13
platform/marvell-armhf/docker-syncd-mrvl.mk
Normal file
13
platform/marvell-armhf/docker-syncd-mrvl.mk
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
# docker image for mrvl syncd
|
||||||
|
|
||||||
|
DOCKER_SYNCD_PLATFORM_CODE = mrvl
|
||||||
|
include $(PLATFORM_PATH)/../template/docker-syncd-base.mk
|
||||||
|
|
||||||
|
$(DOCKER_SYNCD_BASE)_DEPENDS += $(SYNCD) $(PYTHON_SDK_API)
|
||||||
|
|
||||||
|
$(DOCKER_SYNCD_BASE)_DBG_DEPENDS += $(SYNCD_DBG) \
|
||||||
|
$(LIBSWSSCOMMON_DBG) \
|
||||||
|
$(LIBSAIMETADATA_DBG) \
|
||||||
|
$(LIBSAIREDIS_DBG)
|
||||||
|
|
||||||
|
$(DOCKER_SYNCD_BASE)_RUN_OPT += -v /host/warmboot:/var/warmboot
|
36
platform/marvell-armhf/docker-syncd-mrvl/Dockerfile.j2
Executable file
36
platform/marvell-armhf/docker-syncd-mrvl/Dockerfile.j2
Executable file
@ -0,0 +1,36 @@
|
|||||||
|
FROM docker-config-engine-stretch
|
||||||
|
|
||||||
|
ARG docker_container_name
|
||||||
|
RUN [ -f /etc/rsyslog.conf ] && sed -ri "s/%syslogtag%/$docker_container_name#%syslogtag%/;" /etc/rsyslog.conf
|
||||||
|
|
||||||
|
## Make apt-get non-interactive
|
||||||
|
ENV DEBIAN_FRONTEND=noninteractive
|
||||||
|
|
||||||
|
RUN apt-get update
|
||||||
|
|
||||||
|
COPY \
|
||||||
|
{% for deb in docker_syncd_mrvl_debs.split(' ') -%}
|
||||||
|
debs/{{ deb }}{{' '}}
|
||||||
|
{%- endfor -%}
|
||||||
|
debs/
|
||||||
|
|
||||||
|
RUN apt-get update \
|
||||||
|
&& apt-get -y install \
|
||||||
|
net-tools \
|
||||||
|
iputils-ping
|
||||||
|
|
||||||
|
RUN apt-get -y install libpcap-dev libxml2-dev python-dev swig libsensors4-dev libjemalloc1 nfs-common
|
||||||
|
|
||||||
|
RUN dpkg -i \
|
||||||
|
{% for deb in docker_syncd_mrvl_debs.split(' ') -%}
|
||||||
|
debs/{{ deb }}{{' '}}
|
||||||
|
{%- endfor %}
|
||||||
|
|
||||||
|
COPY ["start.sh", "syncd.sh", "/usr/bin/"]
|
||||||
|
COPY ["supervisord.conf", "/etc/supervisor/conf.d/"]
|
||||||
|
|
||||||
|
## Clean up
|
||||||
|
RUN apt-get clean -y; apt-get autoclean -y; apt-get autoremove -y
|
||||||
|
RUN rm -rf /debs
|
||||||
|
|
||||||
|
ENTRYPOINT ["/usr/bin/supervisord"]
|
7
platform/marvell-armhf/docker-syncd-mrvl/start.sh
Executable file
7
platform/marvell-armhf/docker-syncd-mrvl/start.sh
Executable file
@ -0,0 +1,7 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
rm -f /var/run/rsyslogd.pid
|
||||||
|
|
||||||
|
supervisorctl start rsyslogd
|
||||||
|
|
||||||
|
supervisorctl start syncd
|
28
platform/marvell-armhf/docker-syncd-mrvl/supervisord.conf
Normal file
28
platform/marvell-armhf/docker-syncd-mrvl/supervisord.conf
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
[supervisord]
|
||||||
|
logfile_maxbytes=1MB
|
||||||
|
logfile_backups=2
|
||||||
|
nodaemon=true
|
||||||
|
|
||||||
|
[program:start.sh]
|
||||||
|
command=/usr/bin/start.sh
|
||||||
|
priority=1
|
||||||
|
autostart=true
|
||||||
|
autorestart=false
|
||||||
|
stdout_logfile=syslog
|
||||||
|
stderr_logfile=syslog
|
||||||
|
|
||||||
|
[program:rsyslogd]
|
||||||
|
command=/usr/sbin/rsyslogd -n
|
||||||
|
priority=2
|
||||||
|
autostart=false
|
||||||
|
autorestart=false
|
||||||
|
stdout_logfile=syslog
|
||||||
|
stderr_logfile=syslog
|
||||||
|
|
||||||
|
[program:syncd]
|
||||||
|
command=/usr/bin/syncd_start.sh
|
||||||
|
priority=3
|
||||||
|
autostart=false
|
||||||
|
autorestart=false
|
||||||
|
stdout_logfile=syslog
|
||||||
|
stderr_logfile=syslog
|
20
platform/marvell-armhf/libsaithrift-dev.mk
Normal file
20
platform/marvell-armhf/libsaithrift-dev.mk
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
# libsaithrift-dev package
|
||||||
|
|
||||||
|
SAI_VER = 0.9.4
|
||||||
|
|
||||||
|
LIBSAITHRIFT_DEV = libsaithrift-dev_$(SAI_VER)_$(CONFIGURED_ARCH).deb
|
||||||
|
$(LIBSAITHRIFT_DEV)_SRC_PATH = $(SRC_PATH)/sonic-sairedis/SAI
|
||||||
|
$(LIBSAITHRIFT_DEV)_DEPENDS += $(LIBTHRIFT) $(LIBTHRIFT_DEV) $(PYTHON_THRIFT) $(THRIFT_COMPILER) $(MRVL_FPA) $(MRVL_SAI)
|
||||||
|
$(LIBSAITHRIFT_DEV)_RDEPENDS += $(LIBTHRIFT) $(MRVL_SAI)
|
||||||
|
SONIC_DPKG_DEBS += $(LIBSAITHRIFT_DEV)
|
||||||
|
|
||||||
|
PYTHON_SAITHRIFT = python-saithrift_$(SAI_VER)_$(CONFIGURED_ARCH).deb
|
||||||
|
$(eval $(call add_extra_package,$(LIBSAITHRIFT_DEV),$(PYTHON_SAITHRIFT)))
|
||||||
|
|
||||||
|
SAISERVER = saiserver_$(SAI_VER)_$(CONFIGURED_ARCH).deb
|
||||||
|
$(SAISERVER)_RDEPENDS += $(LIBTHRIFT) $(MRVL_SAI)
|
||||||
|
$(eval $(call add_extra_package,$(LIBSAITHRIFT_DEV),$(SAISERVER)))
|
||||||
|
|
||||||
|
SAISERVER_DBG = saiserver-dbg_$(SAI_VER)_$(CONFIGURED_ARCH).deb
|
||||||
|
$(SAISERVER_DBG)_RDEPENDS += $(SAISERVER)
|
||||||
|
$(eval $(call add_extra_package,$(LIBSAITHRIFT_DEV),$(SAISERVER_DBG)))
|
10
platform/marvell-armhf/linux-kernel-armhf.mk
Normal file
10
platform/marvell-armhf/linux-kernel-armhf.mk
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
# linux kernel package for marvell armhf
|
||||||
|
|
||||||
|
KVERSION = 4.9.168
|
||||||
|
|
||||||
|
|
||||||
|
LINUX_KERNEL = linux-image-4.9.168-armhf.deb
|
||||||
|
export LINUX_KERNEL
|
||||||
|
|
||||||
|
$(LINUX_KERNEL)_SRC_PATH = $(PLATFORM_PATH)/linux
|
||||||
|
SONIC_MAKE_DEBS += $(LINUX_KERNEL)
|
10
platform/marvell-armhf/linux/Makefile
Normal file
10
platform/marvell-armhf/linux/Makefile
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
.ONESHELL:
|
||||||
|
SHELL = /bin/bash
|
||||||
|
.SHELLFLAGS += -e
|
||||||
|
|
||||||
|
LINUX_KERNEL_MRVL_URL = https://github.com/antony-rheneus/sonic-marvell-binaries/raw/master/armhf/kernel/$(LINUX_KERNEL)
|
||||||
|
|
||||||
|
$(addprefix $(DEST)/, $(LINUX_KERNEL)): $(DEST)/% :
|
||||||
|
# get deb package
|
||||||
|
wget -O $(DEST)/$(LINUX_KERNEL) $(LINUX_KERNEL_MRVL_URL)
|
||||||
|
|
7
platform/marvell-armhf/one-image.mk
Normal file
7
platform/marvell-armhf/one-image.mk
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
# sonic marvell one image installer
|
||||||
|
|
||||||
|
SONIC_ONE_IMAGE = sonic-marvell.bin
|
||||||
|
$(SONIC_ONE_IMAGE)_MACHINE = marvell
|
||||||
|
$(SONIC_ONE_IMAGE)_IMAGE_TYPE = onie
|
||||||
|
$(SONIC_ONE_IMAGE)_DOCKERS += $(SONIC_INSTALL_DOCKER_IMAGES)
|
||||||
|
SONIC_INSTALLERS += $(SONIC_ONE_IMAGE)
|
0
platform/marvell-armhf/platform.conf
Normal file
0
platform/marvell-armhf/platform.conf
Normal file
22
platform/marvell-armhf/rules.mk
Normal file
22
platform/marvell-armhf/rules.mk
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
#include $(PLATFORM_PATH)/sdk.mk
|
||||||
|
include $(PLATFORM_PATH)/sai.mk
|
||||||
|
include $(PLATFORM_PATH)/docker-syncd-mrvl.mk
|
||||||
|
include $(PLATFORM_PATH)/docker-syncd-mrvl-rpc.mk
|
||||||
|
include $(PLATFORM_PATH)/docker-saiserver-mrvl.mk
|
||||||
|
include $(PLATFORM_PATH)/libsaithrift-dev.mk
|
||||||
|
include $(PLATFORM_PATH)/docker-ptf-mrvl.mk
|
||||||
|
include $(PLATFORM_PATH)/one-image.mk
|
||||||
|
include $(PLATFORM_PATH)/linux-kernel-armhf.mk
|
||||||
|
|
||||||
|
ENABLE_SYSTEM_TELEMETRY = ""
|
||||||
|
ENABLE_SYNCD_RPC = ""
|
||||||
|
|
||||||
|
SONIC_ALL += $(SONIC_ONE_IMAGE) \
|
||||||
|
$(DOCKER_FPM)
|
||||||
|
#$(DOCKER_SYNCD_MRVL_RPC)
|
||||||
|
|
||||||
|
# Inject mrvl sai into sairedis
|
||||||
|
$(LIBSAIREDIS)_DEPENDS += $(MRVL_SAI) $(LIBSAITHRIFT_DEV_MRVL)
|
||||||
|
|
||||||
|
# Runtime dependency on mrvl sai is set only for syncd
|
||||||
|
$(SYNCD)_RDEPENDS += $(MRVL_SAI)
|
9
platform/marvell-armhf/sai.mk
Normal file
9
platform/marvell-armhf/sai.mk
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
# Marvell SAI
|
||||||
|
|
||||||
|
export MRVL_SAI_VERSION = 1.4.1
|
||||||
|
export MRVL_SAI_TAG = SONiC.201904
|
||||||
|
export MRVL_SAI = mrvllibsai_$(PLATFORM_ARCH)_$(MRVL_SAI_VERSION).deb
|
||||||
|
|
||||||
|
$(MRVL_SAI)_SRC_PATH = $(PLATFORM_PATH)/sai
|
||||||
|
#$(MRVL_SAI)_DEPENDS += $(MRVL_FPA)
|
||||||
|
SONIC_MAKE_DEBS += $(MRVL_SAI)
|
9
platform/marvell-armhf/sai/Makefile
Normal file
9
platform/marvell-armhf/sai/Makefile
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
.ONESHELL:
|
||||||
|
SHELL = /bin/bash
|
||||||
|
.SHELLFLAGS += -e
|
||||||
|
|
||||||
|
MRVL_SAI_URL = https://github.com/antony-rheneus/sonic-marvell-binaries/raw/master/armhf/sai-plugin/$(MRVL_SAI)
|
||||||
|
|
||||||
|
$(addprefix $(DEST)/, $(MRVL_SAI)): $(DEST)/% :
|
||||||
|
# get deb package
|
||||||
|
wget -O $(DEST)/$(MRVL_SAI) $(MRVL_SAI_URL)
|
@ -12,6 +12,6 @@ BASH_VERSION_FULL = $(BASH_VERSION_MAJOR)-14
|
|||||||
|
|
||||||
export BASH_VERSION_MAJOR BASH_VERSION_FULL
|
export BASH_VERSION_MAJOR BASH_VERSION_FULL
|
||||||
|
|
||||||
BASH = bash_$(BASH_VERSION_FULL)_amd64.deb
|
BASH = bash_$(BASH_VERSION_FULL)_$(CONFIGURED_ARCH).deb
|
||||||
$(BASH)_SRC_PATH = $(SRC_PATH)/bash
|
$(BASH)_SRC_PATH = $(SRC_PATH)/bash
|
||||||
SONIC_MAKE_DEBS += $(BASH)
|
SONIC_MAKE_DEBS += $(BASH)
|
||||||
|
@ -5,7 +5,7 @@ FRR_SUBVERSION = 0
|
|||||||
export FRR_VERSION FRR_SUBVERSION
|
export FRR_VERSION FRR_SUBVERSION
|
||||||
|
|
||||||
|
|
||||||
FRR = frr_$(FRR_VERSION)-sonic-$(FRR_SUBVERSION)_amd64.deb
|
FRR = frr_$(FRR_VERSION)-sonic-$(FRR_SUBVERSION)_$(CONFIGURED_ARCH).deb
|
||||||
$(FRR)_DEPENDS += $(LIBSNMP_DEV) $(LIBYANG_DEV)
|
$(FRR)_DEPENDS += $(LIBSNMP_DEV) $(LIBYANG_DEV)
|
||||||
$(FRR)_RDEPENDS += $(LIBYANG)
|
$(FRR)_RDEPENDS += $(LIBYANG)
|
||||||
$(FRR)_SRC_PATH = $(SRC_PATH)/sonic-frr
|
$(FRR)_SRC_PATH = $(SRC_PATH)/sonic-frr
|
||||||
@ -15,7 +15,7 @@ SONIC_STRETCH_DEBS += $(FRR)
|
|||||||
FRR_PYTHONTOOLS = frr-pythontools_$(FRR_VERSION)-sonic-$(FRR_SUBVERSION)_all.deb
|
FRR_PYTHONTOOLS = frr-pythontools_$(FRR_VERSION)-sonic-$(FRR_SUBVERSION)_all.deb
|
||||||
$(eval $(call add_derived_package,$(FRR),$(FRR_PYTHONTOOLS)))
|
$(eval $(call add_derived_package,$(FRR),$(FRR_PYTHONTOOLS)))
|
||||||
|
|
||||||
FRR_DBG = frr-dbgsym_$(FRR_VERSION)-sonic-$(FRR_SUBVERSION)_amd64.deb
|
FRR_DBG = frr-dbgsym_$(FRR_VERSION)-sonic-$(FRR_SUBVERSION)_$(CONFIGURED_ARCH).deb
|
||||||
$(eval $(call add_derived_package,$(FRR),$(FRR_DBG)))
|
$(eval $(call add_derived_package,$(FRR),$(FRR_DBG)))
|
||||||
|
|
||||||
FRR_SNMP = frr-snmp_$(FRR_VERSION)-sonic-$(FRR_SUBVERSION)_amd64.deb
|
FRR_SNMP = frr-snmp_$(FRR_VERSION)-sonic-$(FRR_SUBVERSION)_amd64.deb
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
# gobgp package
|
# gobgp package
|
||||||
|
|
||||||
GOBGP = gobgp_1.16-01_amd64.deb
|
GOBGP = gobgp_1.16-01_$(CONFIGURED_ARCH).deb
|
||||||
$(GOBGP)_SRC_PATH = $(SRC_PATH)/gobgp
|
$(GOBGP)_SRC_PATH = $(SRC_PATH)/gobgp
|
||||||
SONIC_DPKG_DEBS += $(GOBGP)
|
SONIC_DPKG_DEBS += $(GOBGP)
|
||||||
|
@ -5,12 +5,13 @@ HIREDIS_VERSION_FULL = $(HIREDIS_VERSION)-3~bpo9+1
|
|||||||
|
|
||||||
export HIREDIS_VERSION HIREDIS_VERSION_FULL
|
export HIREDIS_VERSION HIREDIS_VERSION_FULL
|
||||||
|
|
||||||
LIBHIREDIS = libhiredis0.14_$(HIREDIS_VERSION_FULL)_amd64.deb
|
LIBHIREDIS = libhiredis0.14_$(HIREDIS_VERSION_FULL)_$(CONFIGURED_ARCH).deb
|
||||||
$(LIBHIREDIS)_SRC_PATH = $(SRC_PATH)/hiredis
|
$(LIBHIREDIS)_SRC_PATH = $(SRC_PATH)/hiredis
|
||||||
SONIC_MAKE_DEBS += $(LIBHIREDIS)
|
SONIC_MAKE_DEBS += $(LIBHIREDIS)
|
||||||
|
|
||||||
LIBHIREDIS_DEV = libhiredis-dev_$(HIREDIS_VERSION_FULL)_amd64.deb
|
LIBHIREDIS_DEV = libhiredis-dev_$(HIREDIS_VERSION_FULL)_$(CONFIGURED_ARCH).deb
|
||||||
$(eval $(call add_derived_package,$(LIBHIREDIS),$(LIBHIREDIS_DEV)))
|
$(eval $(call add_derived_package,$(LIBHIREDIS),$(LIBHIREDIS_DEV)))
|
||||||
|
|
||||||
LIBHIREDIS_DBG = libhiredis0.14-dbgsym_$(HIREDIS_VERSION_FULL)_amd64.deb
|
LIBHIREDIS_DBG = libhiredis-dbg_$(HIREDIS_VERSION_FULL)_$(CONFIGURED_ARCH).deb
|
||||||
|
LIBHIREDIS_DBG = libhiredis0.14-dbgsym_$(HIREDIS_VERSION_FULL)_$(CONFIGURED_ARCH).deb
|
||||||
$(eval $(call add_derived_package,$(LIBHIREDIS),$(LIBHIREDIS_DBG)))
|
$(eval $(call add_derived_package,$(LIBHIREDIS),$(LIBHIREDIS_DBG)))
|
||||||
|
@ -2,6 +2,6 @@
|
|||||||
|
|
||||||
IPROUTE2_VERSION = 4.9.0-1
|
IPROUTE2_VERSION = 4.9.0-1
|
||||||
|
|
||||||
IPROUTE2 = iproute2_$(IPROUTE2_VERSION)_amd64.deb
|
IPROUTE2 = iproute2_$(IPROUTE2_VERSION)_$(CONFIGURED_ARCH).deb
|
||||||
$(IPROUTE2)_SRC_PATH = $(SRC_PATH)/iproute2
|
$(IPROUTE2)_SRC_PATH = $(SRC_PATH)/iproute2
|
||||||
SONIC_MAKE_DEBS += $(IPROUTE2)
|
SONIC_MAKE_DEBS += $(IPROUTE2)
|
||||||
|
@ -4,7 +4,7 @@ ISC_DHCP_VERSION = 4.3.5-2
|
|||||||
|
|
||||||
export ISC_DHCP_VERSION
|
export ISC_DHCP_VERSION
|
||||||
|
|
||||||
ISC_DHCP_RELAY = isc-dhcp-relay_$(ISC_DHCP_VERSION)_amd64.deb
|
ISC_DHCP_RELAY = isc-dhcp-relay_$(ISC_DHCP_VERSION)_$(CONFIGURED_ARCH).deb
|
||||||
$(ISC_DHCP_RELAY)_SRC_PATH = $(SRC_PATH)/isc-dhcp
|
$(ISC_DHCP_RELAY)_SRC_PATH = $(SRC_PATH)/isc-dhcp
|
||||||
SONIC_MAKE_DEBS += $(ISC_DHCP_RELAY)
|
SONIC_MAKE_DEBS += $(ISC_DHCP_RELAY)
|
||||||
|
|
||||||
|
@ -6,44 +6,44 @@ LIBNL3_VERSION = $(LIBNL3_VERSION_BASE)-2
|
|||||||
export LIBNL3_VERSION_BASE
|
export LIBNL3_VERSION_BASE
|
||||||
export LIBNL3_VERSION
|
export LIBNL3_VERSION
|
||||||
|
|
||||||
LIBNL3 = libnl-3-200_$(LIBNL3_VERSION)_amd64.deb
|
LIBNL3 = libnl-3-200_$(LIBNL3_VERSION)_$(CONFIGURED_ARCH).deb
|
||||||
$(LIBNL3)_SRC_PATH = $(SRC_PATH)/libnl3
|
$(LIBNL3)_SRC_PATH = $(SRC_PATH)/libnl3
|
||||||
SONIC_MAKE_DEBS += $(LIBNL3)
|
SONIC_MAKE_DEBS += $(LIBNL3)
|
||||||
|
|
||||||
LIBNL3_DEV = libnl-3-dev_$(LIBNL3_VERSION)_amd64.deb
|
LIBNL3_DEV = libnl-3-dev_$(LIBNL3_VERSION)_$(CONFIGURED_ARCH).deb
|
||||||
$(eval $(call add_derived_package,$(LIBNL3),$(LIBNL3_DEV)))
|
$(eval $(call add_derived_package,$(LIBNL3),$(LIBNL3_DEV)))
|
||||||
|
|
||||||
LIBNL_GENL3 = libnl-genl-3-200_$(LIBNL3_VERSION)_amd64.deb
|
LIBNL_GENL3 = libnl-genl-3-200_$(LIBNL3_VERSION)_$(CONFIGURED_ARCH).deb
|
||||||
$(LIBNL_GENL3)_RDEPENDS += $(LIBNL3)
|
$(LIBNL_GENL3)_RDEPENDS += $(LIBNL3)
|
||||||
$(eval $(call add_derived_package,$(LIBNL3),$(LIBNL_GENL3)))
|
$(eval $(call add_derived_package,$(LIBNL3),$(LIBNL_GENL3)))
|
||||||
|
|
||||||
LIBNL_GENL3_DEV = libnl-genl-3-dev_$(LIBNL3_VERSION)_amd64.deb
|
LIBNL_GENL3_DEV = libnl-genl-3-dev_$(LIBNL3_VERSION)_$(CONFIGURED_ARCH).deb
|
||||||
$(LIBNL_GENL3_DEV)_DEPENDS += $(LIBNL_GENL3) $(LIBNL3_DEV)
|
$(LIBNL_GENL3_DEV)_DEPENDS += $(LIBNL_GENL3) $(LIBNL3_DEV)
|
||||||
$(eval $(call add_derived_package,$(LIBNL3),$(LIBNL_GENL3_DEV)))
|
$(eval $(call add_derived_package,$(LIBNL3),$(LIBNL_GENL3_DEV)))
|
||||||
|
|
||||||
LIBNL_ROUTE3 = libnl-route-3-200_$(LIBNL3_VERSION)_amd64.deb
|
LIBNL_ROUTE3 = libnl-route-3-200_$(LIBNL3_VERSION)_$(CONFIGURED_ARCH).deb
|
||||||
$(LIBNL_ROUTE3)_RDEPENDS += $(LIBNL3)
|
$(LIBNL_ROUTE3)_RDEPENDS += $(LIBNL3)
|
||||||
$(eval $(call add_derived_package,$(LIBNL3),$(LIBNL_ROUTE3)))
|
$(eval $(call add_derived_package,$(LIBNL3),$(LIBNL_ROUTE3)))
|
||||||
|
|
||||||
LIBNL_ROUTE3_DEV = libnl-route-3-dev_$(LIBNL3_VERSION)_amd64.deb
|
LIBNL_ROUTE3_DEV = libnl-route-3-dev_$(LIBNL3_VERSION)_$(CONFIGURED_ARCH).deb
|
||||||
$(LIBNL_ROUTE3_DEV)_DEPENDS += $(LIBNL_ROUTE3) $(LIBNL3_DEV)
|
$(LIBNL_ROUTE3_DEV)_DEPENDS += $(LIBNL_ROUTE3) $(LIBNL3_DEV)
|
||||||
$(eval $(call add_derived_package,$(LIBNL3),$(LIBNL_ROUTE3_DEV)))
|
$(eval $(call add_derived_package,$(LIBNL3),$(LIBNL_ROUTE3_DEV)))
|
||||||
|
|
||||||
LIBNL_NF3 = libnl-nf-3-200_$(LIBNL3_VERSION)_amd64.deb
|
LIBNL_NF3 = libnl-nf-3-200_$(LIBNL3_VERSION)_$(CONFIGURED_ARCH).deb
|
||||||
$(LIBNL_NF3)_DEPENDS += $(LIBNL_ROUTE3_DEV)
|
$(LIBNL_NF3)_DEPENDS += $(LIBNL_ROUTE3_DEV)
|
||||||
$(LIBNL_NF3)_RDEPENDS += $(LIBNL_ROUTE3)
|
$(LIBNL_NF3)_RDEPENDS += $(LIBNL_ROUTE3)
|
||||||
$(eval $(call add_derived_package,$(LIBNL3),$(LIBNL_NF3)))
|
$(eval $(call add_derived_package,$(LIBNL3),$(LIBNL_NF3)))
|
||||||
|
|
||||||
LIBNL_NF3_DEV = libnl-nf-3-dev_$(LIBNL3_VERSION)_amd64.deb
|
LIBNL_NF3_DEV = libnl-nf-3-dev_$(LIBNL3_VERSION)_$(CONFIGURED_ARCH).deb
|
||||||
$(LIBNL_NF3_DEV)_DEPENDS += $(LIBNL_NF3)
|
$(LIBNL_NF3_DEV)_DEPENDS += $(LIBNL_NF3)
|
||||||
$(eval $(call add_derived_package,$(LIBNL3),$(LIBNL_NF3_DEV)))
|
$(eval $(call add_derived_package,$(LIBNL3),$(LIBNL_NF3_DEV)))
|
||||||
|
|
||||||
LIBNL_CLI = libnl-cli-3-200_$(LIBNL3_VERSION)_amd64.deb
|
LIBNL_CLI = libnl-cli-3-200_$(LIBNL3_VERSION)_$(CONFIGURED_ARCH).deb
|
||||||
$(LIBNL_CLI)_DEPENDS += $(LIBNL_GENL3_DEV) $(LIBNL_NF3_DEV) $(LIBNL_ROUTE3_DEV)
|
$(LIBNL_CLI)_DEPENDS += $(LIBNL_GENL3_DEV) $(LIBNL_NF3_DEV) $(LIBNL_ROUTE3_DEV)
|
||||||
$(LIBNL_CLI)_RDEPENDS += $(LIBNL_GENL3) $(LIBNL_NF3) $(LIBNL_ROUTE3)
|
$(LIBNL_CLI)_RDEPENDS += $(LIBNL_GENL3) $(LIBNL_NF3) $(LIBNL_ROUTE3)
|
||||||
$(eval $(call add_derived_package,$(LIBNL3),$(LIBNL_CLI)))
|
$(eval $(call add_derived_package,$(LIBNL3),$(LIBNL_CLI)))
|
||||||
|
|
||||||
LIBNL_CLI_DEV = libnl-cli-3-dev_$(LIBNL3_VERSION)_amd64.deb
|
LIBNL_CLI_DEV = libnl-cli-3-dev_$(LIBNL3_VERSION)_$(CONFIGURED_ARCH).deb
|
||||||
$(LIBNL_CLI_DEV)_DEPENDS += $(LIBNL_CLI) $(LIBNL_GENL3_DEV) $(LIBNL_NF3_DEV) $(LIBNL_ROUTE3_DEV)
|
$(LIBNL_CLI_DEV)_DEPENDS += $(LIBNL_CLI) $(LIBNL_GENL3_DEV) $(LIBNL_NF3_DEV) $(LIBNL_ROUTE3_DEV)
|
||||||
$(eval $(call add_derived_package,$(LIBNL3),$(LIBNL_CLI_DEV)))
|
$(eval $(call add_derived_package,$(LIBNL3),$(LIBNL_CLI_DEV)))
|
||||||
|
|
||||||
|
@ -4,29 +4,29 @@ LIBTEAM_VERSION = 1.28-1
|
|||||||
|
|
||||||
export LIBTEAM_VERSION
|
export LIBTEAM_VERSION
|
||||||
|
|
||||||
LIBTEAM = libteam5_$(LIBTEAM_VERSION)_amd64.deb
|
LIBTEAM = libteam5_$(LIBTEAM_VERSION)_$(CONFIGURED_ARCH).deb
|
||||||
$(LIBTEAM)_SRC_PATH = $(SRC_PATH)/libteam
|
$(LIBTEAM)_SRC_PATH = $(SRC_PATH)/libteam
|
||||||
$(LIBTEAM)_DEPENDS += $(LIBNL_GENL3_DEV) $(LIBNL_CLI_DEV)
|
$(LIBTEAM)_DEPENDS += $(LIBNL_GENL3_DEV) $(LIBNL_CLI_DEV)
|
||||||
SONIC_MAKE_DEBS += $(LIBTEAM)
|
SONIC_MAKE_DEBS += $(LIBTEAM)
|
||||||
|
|
||||||
LIBTEAM_DBG = libteam5-dbgsym_$(LIBTEAM_VERSION)_amd64.deb
|
LIBTEAM_DBG = libteam5-dbgsym_$(LIBTEAM_VERSION)_$(CONFIGURED_ARCH).deb
|
||||||
$(eval $(call add_derived_package,$(LIBTEAM),$(LIBTEAM_DBG)))
|
$(eval $(call add_derived_package,$(LIBTEAM),$(LIBTEAM_DBG)))
|
||||||
|
|
||||||
LIBTEAM_DEV = libteam-dev_$(LIBTEAM_VERSION)_amd64.deb
|
LIBTEAM_DEV = libteam-dev_$(LIBTEAM_VERSION)_$(CONFIGURED_ARCH).deb
|
||||||
$(LIBTEAM_DEV)_DEPENDS += $(LIBTEAMDCT)
|
$(LIBTEAM_DEV)_DEPENDS += $(LIBTEAMDCT)
|
||||||
$(eval $(call add_derived_package,$(LIBTEAM),$(LIBTEAM_DEV)))
|
$(eval $(call add_derived_package,$(LIBTEAM),$(LIBTEAM_DEV)))
|
||||||
|
|
||||||
LIBTEAMDCT = libteamdctl0_$(LIBTEAM_VERSION)_amd64.deb
|
LIBTEAMDCT = libteamdctl0_$(LIBTEAM_VERSION)_$(CONFIGURED_ARCH).deb
|
||||||
$(eval $(call add_derived_package,$(LIBTEAM),$(LIBTEAMDCT)))
|
$(eval $(call add_derived_package,$(LIBTEAM),$(LIBTEAMDCT)))
|
||||||
|
|
||||||
LIBTEAMDCT_DBG = libteamdctl0-dbgsym_$(LIBTEAM_VERSION)_amd64.deb
|
LIBTEAMDCT_DBG = libteamdctl0-dbgsym_$(LIBTEAM_VERSION)_$(CONFIGURED_ARCH).deb
|
||||||
$(eval $(call add_derived_package,$(LIBTEAMDCT),$(LIBTEAMDCT_DBG)))
|
$(eval $(call add_derived_package,$(LIBTEAMDCT),$(LIBTEAMDCT_DBG)))
|
||||||
|
|
||||||
LIBTEAM_UTILS = libteam-utils_$(LIBTEAM_VERSION)_amd64.deb
|
LIBTEAM_UTILS = libteam-utils_$(LIBTEAM_VERSION)_$(CONFIGURED_ARCH).deb
|
||||||
$(LIBTEAM_UTILS)_DEPENDS += $(LIBTEAMDCT)
|
$(LIBTEAM_UTILS)_DEPENDS += $(LIBTEAMDCT)
|
||||||
$(eval $(call add_derived_package,$(LIBTEAM),$(LIBTEAM_UTILS)))
|
$(eval $(call add_derived_package,$(LIBTEAM),$(LIBTEAM_UTILS)))
|
||||||
|
|
||||||
LIBTEAM_UTILS_DBG = libteam-utils-dbgsym_$(LIBTEAM_VERSION)_amd64.deb
|
LIBTEAM_UTILS_DBG = libteam-utils-dbgsym_$(LIBTEAM_VERSION)_$(CONFIGURED_ARCH).deb
|
||||||
$(eval $(call add_derived_package,$(LIBTEAM_UTILS),$(LIBTEAM_UTILS_DBG)))
|
$(eval $(call add_derived_package,$(LIBTEAM_UTILS),$(LIBTEAM_UTILS_DBG)))
|
||||||
|
|
||||||
# The .c, .cpp, .h & .hpp files under src/{$DBG_SRC_ARCHIVE list}
|
# The .c, .cpp, .h & .hpp files under src/{$DBG_SRC_ARCHIVE list}
|
||||||
|
@ -8,13 +8,13 @@ export LIBYANG_VERSION_BASE
|
|||||||
export LIBYANG_VERSION
|
export LIBYANG_VERSION
|
||||||
export LIBYANG_SUBVERSION
|
export LIBYANG_SUBVERSION
|
||||||
|
|
||||||
LIBYANG = libyang$(LIBYANG_VERSION_BASE)_$(LIBYANG_VERSION)-$(LIBYANG_SUBVERSION)_amd64.deb
|
LIBYANG = libyang$(LIBYANG_VERSION_BASE)_$(LIBYANG_VERSION)-$(LIBYANG_SUBVERSION)_$(CONFIGURED_ARCH).deb
|
||||||
$(LIBYANG)_SRC_PATH = $(SRC_PATH)/libyang
|
$(LIBYANG)_SRC_PATH = $(SRC_PATH)/libyang
|
||||||
$(LIBYANG)_DEPENDS += $(SWIG_BASE) $(SWIG)
|
$(LIBYANG)_DEPENDS += $(SWIG_BASE) $(SWIG)
|
||||||
SONIC_MAKE_DEBS += $(LIBYANG)
|
SONIC_MAKE_DEBS += $(LIBYANG)
|
||||||
SONIC_STRETCH_DEBS += $(LIBYANG)
|
SONIC_STRETCH_DEBS += $(LIBYANG)
|
||||||
|
|
||||||
LIBYANG_DEV = libyang-dev_$(LIBYANG_VERSION)-$(LIBYANG_SUBVERSION)_amd64.deb
|
LIBYANG_DEV = libyang-dev_$(LIBYANG_VERSION)-$(LIBYANG_SUBVERSION)_$(CONFIGURED_ARCH).deb
|
||||||
$(eval $(call add_derived_package,$(LIBYANG),$(LIBYANG_DEV)))
|
$(eval $(call add_derived_package,$(LIBYANG),$(LIBYANG_DEV)))
|
||||||
|
|
||||||
LIBYANG_DBG = libyang$(LIBYANG_VERSION_BASE)-dbgsym_$(LIBYANG_VERSION)-$(LIBYANG_SUBVERSION)_amd64.deb
|
LIBYANG_DBG = libyang$(LIBYANG_VERSION_BASE)-dbgsym_$(LIBYANG_VERSION)-$(LIBYANG_SUBVERSION)_amd64.deb
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
# linux kernel package
|
# linux kernel package
|
||||||
|
|
||||||
KVERSION_SHORT = 4.9.0-9-2
|
KVERSION_SHORT = 4.9.0-9-2
|
||||||
KVERSION = $(KVERSION_SHORT)-amd64
|
KVERSION = $(KVERSION_SHORT)-$(CONFIGURED_ARCH)
|
||||||
KERNEL_VERSION = 4.9.168
|
KERNEL_VERSION = 4.9.168
|
||||||
KERNEL_SUBVERSION = 1+deb9u3
|
KERNEL_SUBVERSION = 1+deb9u3
|
||||||
|
|
||||||
@ -11,8 +11,8 @@ LINUX_HEADERS_COMMON = linux-headers-$(KVERSION_SHORT)-common_$(KERNEL_VERSION)-
|
|||||||
$(LINUX_HEADERS_COMMON)_SRC_PATH = $(SRC_PATH)/sonic-linux-kernel
|
$(LINUX_HEADERS_COMMON)_SRC_PATH = $(SRC_PATH)/sonic-linux-kernel
|
||||||
SONIC_MAKE_DEBS += $(LINUX_HEADERS_COMMON)
|
SONIC_MAKE_DEBS += $(LINUX_HEADERS_COMMON)
|
||||||
|
|
||||||
LINUX_HEADERS = linux-headers-$(KVERSION)_$(KERNEL_VERSION)-$(KERNEL_SUBVERSION)_amd64.deb
|
LINUX_HEADERS = linux-headers-$(KVERSION)_$(KERNEL_VERSION)-$(KERNEL_SUBVERSION)_$(CONFIGURED_ARCH).deb
|
||||||
$(eval $(call add_derived_package,$(LINUX_HEADERS_COMMON),$(LINUX_HEADERS)))
|
$(eval $(call add_derived_package,$(LINUX_HEADERS_COMMON),$(LINUX_HEADERS)))
|
||||||
|
|
||||||
LINUX_KERNEL = linux-image-$(KVERSION)_$(KERNEL_VERSION)-$(KERNEL_SUBVERSION)_amd64.deb
|
LINUX_KERNEL = linux-image-$(KVERSION)_$(KERNEL_VERSION)-$(KERNEL_SUBVERSION)_$(CONFIGURED_ARCH).deb
|
||||||
$(eval $(call add_derived_package,$(LINUX_HEADERS_COMMON),$(LINUX_KERNEL)))
|
$(eval $(call add_derived_package,$(LINUX_HEADERS_COMMON),$(LINUX_KERNEL)))
|
||||||
|
@ -4,13 +4,13 @@ LLDPD_VERSION = 0.9.6
|
|||||||
LLDPD_VERSION_SUFFIX = 1
|
LLDPD_VERSION_SUFFIX = 1
|
||||||
LLDPD_VERSION_FULL = $(LLDPD_VERSION)-$(LLDPD_VERSION_SUFFIX)
|
LLDPD_VERSION_FULL = $(LLDPD_VERSION)-$(LLDPD_VERSION_SUFFIX)
|
||||||
|
|
||||||
LLDPD = lldpd_$(LLDPD_VERSION_FULL)_amd64.deb
|
LLDPD = lldpd_$(LLDPD_VERSION_FULL)_$(CONFIGURED_ARCH).deb
|
||||||
$(LLDPD)_DEPENDS += $(LIBSNMP_DEV)
|
$(LLDPD)_DEPENDS += $(LIBSNMP_DEV)
|
||||||
$(LLDPD)_RDEPENDS += $(LIBSNMP)
|
$(LLDPD)_RDEPENDS += $(LIBSNMP)
|
||||||
$(LLDPD)_SRC_PATH = $(SRC_PATH)/lldpd
|
$(LLDPD)_SRC_PATH = $(SRC_PATH)/lldpd
|
||||||
SONIC_MAKE_DEBS += $(LLDPD)
|
SONIC_MAKE_DEBS += $(LLDPD)
|
||||||
|
|
||||||
LIBLLDPCTL = liblldpctl-dev_$(LLDPD_VERSION_FULL)_amd64.deb
|
LIBLLDPCTL = liblldpctl-dev_$(LLDPD_VERSION_FULL)_$(CONFIGURED_ARCH).deb
|
||||||
$(eval $(call add_derived_package,$(LLDPD),$(LIBLLDPCTL)))
|
$(eval $(call add_derived_package,$(LLDPD),$(LIBLLDPCTL)))
|
||||||
|
|
||||||
LLDPD_DBG = lldpd-dbgsym_$(LLDPD_VERSION_FULL)_amd64.deb
|
LLDPD_DBG = lldpd-dbgsym_$(LLDPD_VERSION_FULL)_amd64.deb
|
||||||
|
@ -3,26 +3,26 @@
|
|||||||
LM_SENSORS_VERSION=3.4.0
|
LM_SENSORS_VERSION=3.4.0
|
||||||
LM_SENSORS_VERSION_FULL=$(LM_SENSORS_VERSION)-4
|
LM_SENSORS_VERSION_FULL=$(LM_SENSORS_VERSION)-4
|
||||||
|
|
||||||
LM_SENSORS = lm-sensors_$(LM_SENSORS_VERSION_FULL)_amd64.deb
|
LM_SENSORS = lm-sensors_$(LM_SENSORS_VERSION_FULL)_$(CONFIGURED_ARCH).deb
|
||||||
$(LM_SENSORS)_SRC_PATH = $(SRC_PATH)/lm-sensors
|
$(LM_SENSORS)_SRC_PATH = $(SRC_PATH)/lm-sensors
|
||||||
|
|
||||||
LM_SENSORS_DBG = lm-sensors-dbgsym_$(LM_SENSORS_VERSION_FULL)_amd64.deb
|
LM_SENSORS_DBG = lm-sensors-dbgsym_$(LM_SENSORS_VERSION_FULL)_$(CONFIGURED_ARCH).deb
|
||||||
$(eval $(call add_derived_package,$(LM_SENSORS),$(LM_SENSORS_DBG)))
|
$(eval $(call add_derived_package,$(LM_SENSORS),$(LM_SENSORS_DBG)))
|
||||||
|
|
||||||
FANCONTROL = fancontrol_$(LM_SENSORS_VERSION_FULL)_all.deb
|
FANCONTROL = fancontrol_$(LM_SENSORS_VERSION_FULL)_all.deb
|
||||||
$(eval $(call add_derived_package,$(LM_SENSORS),$(FANCONTROL)))
|
$(eval $(call add_derived_package,$(LM_SENSORS),$(FANCONTROL)))
|
||||||
|
|
||||||
LIBSENSORS = libsensors4_$(LM_SENSORS_VERSION_FULL)_amd64.deb
|
LIBSENSORS = libsensors4_$(LM_SENSORS_VERSION_FULL)_$(CONFIGURED_ARCH).deb
|
||||||
$(eval $(call add_derived_package,$(LM_SENSORS),$(LIBSENSORS)))
|
$(eval $(call add_derived_package,$(LM_SENSORS),$(LIBSENSORS)))
|
||||||
|
|
||||||
LIBSENSORS_DBG = libsensors4-dbgsym_$(LM_SENSORS_VERSION_FULL)_amd64.deb
|
LIBSENSORS_DBG = libsensors4-dbgsym_$(LM_SENSORS_VERSION_FULL)_$(CONFIGURED_ARCH).deb
|
||||||
$(eval $(call add_derived_package,$(LIBSENSORS),$(LIBSENSORS_DBG)))
|
$(eval $(call add_derived_package,$(LIBSENSORS),$(LIBSENSORS_DBG)))
|
||||||
|
|
||||||
SENSORD = sensord_$(LM_SENSORS_VERSION_FULL)_amd64.deb
|
SENSORD = sensord_$(LM_SENSORS_VERSION_FULL)_$(CONFIGURED_ARCH).deb
|
||||||
$(eval $(call add_derived_package,$(LM_SENSORS),$(SENSORD)))
|
$(eval $(call add_derived_package,$(LM_SENSORS),$(SENSORD)))
|
||||||
$(SENSORD)_DEPENDS += $(LIBSENSORS) $(LM_SENSORS)
|
$(SENSORD)_DEPENDS += $(LIBSENSORS) $(LM_SENSORS)
|
||||||
|
|
||||||
SENSORD_DBG = sensord-dbgsym_$(LM_SENSORS_VERSION_FULL)_amd64.deb
|
SENSORD_DBG = sensord-dbgsym_$(LM_SENSORS_VERSION_FULL)_$(CONFIGURED_ARCH).deb
|
||||||
$(eval $(call add_derived_package,$(SENSORD),$(SENSORD_DBG)))
|
$(eval $(call add_derived_package,$(SENSORD),$(SENSORD_DBG)))
|
||||||
|
|
||||||
SONIC_MAKE_DEBS += $(LM_SENSORS)
|
SONIC_MAKE_DEBS += $(LM_SENSORS)
|
||||||
|
@ -5,9 +5,9 @@ MPDECIMAL_VERSION_FULL = $(MPDECIMAL_VERSION)-2
|
|||||||
|
|
||||||
export MPDECIMAL_VERSION MPDECIMAL_VERSION_FULL
|
export MPDECIMAL_VERSION MPDECIMAL_VERSION_FULL
|
||||||
|
|
||||||
LIBMPDECIMAL = libmpdec2_$(MPDECIMAL_VERSION_FULL)_amd64.deb
|
LIBMPDECIMAL = libmpdec2_$(MPDECIMAL_VERSION_FULL)_$(CONFIGURED_ARCH).deb
|
||||||
$(LIBMPDECIMAL)_SRC_PATH = $(SRC_PATH)/mpdecimal
|
$(LIBMPDECIMAL)_SRC_PATH = $(SRC_PATH)/mpdecimal
|
||||||
SONIC_MAKE_DEBS += $(LIBMPDECIMAL)
|
SONIC_MAKE_DEBS += $(LIBMPDECIMAL)
|
||||||
|
|
||||||
LIBMPDECIMAL_DEV = libmpdec-dev_$(MPDECIMAL_VERSION_FULL)_amd64.deb
|
LIBMPDECIMAL_DEV = libmpdec-dev_$(MPDECIMAL_VERSION_FULL)_$(CONFIGURED_ARCH).deb
|
||||||
$(eval $(call add_derived_package,$(LIBMPDECIMAL),$(LIBMPDECIMAL_DEV)))
|
$(eval $(call add_derived_package,$(LIBMPDECIMAL),$(LIBMPDECIMAL_DEV)))
|
||||||
|
@ -4,32 +4,32 @@ PYTHON_PNAME=python3.6
|
|||||||
export PYTHON_VER
|
export PYTHON_VER
|
||||||
export PYTHON_PNAME
|
export PYTHON_PNAME
|
||||||
|
|
||||||
LIBPY3_MIN = lib$(PYTHON_PNAME)-minimal_$(PYTHON_VER)_amd64.deb
|
LIBPY3_MIN = lib$(PYTHON_PNAME)-minimal_$(PYTHON_VER)_$(CONFIGURED_ARCH).deb
|
||||||
$(LIBPY3_MIN)_SRC_PATH = $(SRC_PATH)/python3
|
$(LIBPY3_MIN)_SRC_PATH = $(SRC_PATH)/python3
|
||||||
$(LIBPY3_MIN)_DEPENDS +=
|
$(LIBPY3_MIN)_DEPENDS +=
|
||||||
$(LIBPY3_MIN)_RDEPENDS +=
|
$(LIBPY3_MIN)_RDEPENDS +=
|
||||||
SONIC_MAKE_DEBS += $(LIBPY3_MIN)
|
SONIC_MAKE_DEBS += $(LIBPY3_MIN)
|
||||||
|
|
||||||
LIBPY3_STD = lib$(PYTHON_PNAME)-stdlib_$(PYTHON_VER)_amd64.deb
|
LIBPY3_STD = lib$(PYTHON_PNAME)-stdlib_$(PYTHON_VER)_$(CONFIGURED_ARCH).deb
|
||||||
$(eval $(call add_derived_package,$(LIBPY3_MIN),$(LIBPY3_STD)))
|
$(eval $(call add_derived_package,$(LIBPY3_MIN),$(LIBPY3_STD)))
|
||||||
$(LIBPY3_STD)_DEPENDS += $(LIBMPDECIMAL)
|
$(LIBPY3_STD)_DEPENDS += $(LIBMPDECIMAL)
|
||||||
$(LIBPY3_STD)_RDEPENDS += $(LIBPY3_MIN) $(LIBMPDECIMAL)
|
$(LIBPY3_STD)_RDEPENDS += $(LIBPY3_MIN) $(LIBMPDECIMAL)
|
||||||
|
|
||||||
LIBPY3 = lib$(PYTHON_PNAME)_$(PYTHON_VER)_amd64.deb
|
LIBPY3 = lib$(PYTHON_PNAME)_$(PYTHON_VER)_$(CONFIGURED_ARCH).deb
|
||||||
$(eval $(call add_derived_package,$(LIBPY3_MIN),$(LIBPY3)))
|
$(eval $(call add_derived_package,$(LIBPY3_MIN),$(LIBPY3)))
|
||||||
$(LIBPY3)_DEPENDS += $(LIBPY3_STD)
|
$(LIBPY3)_DEPENDS += $(LIBPY3_STD)
|
||||||
$(LIBPY3)_RDEPENDS += $(LIBPY3_MIN) $(LIBPY3_STD)
|
$(LIBPY3)_RDEPENDS += $(LIBPY3_MIN) $(LIBPY3_STD)
|
||||||
|
|
||||||
PY3_MIN = $(PYTHON_PNAME)-minimal_$(PYTHON_VER)_amd64.deb
|
PY3_MIN = $(PYTHON_PNAME)-minimal_$(PYTHON_VER)_$(CONFIGURED_ARCH).deb
|
||||||
$(eval $(call add_derived_package,$(LIBPY3_MIN),$(PY3_MIN)))
|
$(eval $(call add_derived_package,$(LIBPY3_MIN),$(PY3_MIN)))
|
||||||
$(PY3_MIN)_RDEPENDS += $(LIBPY3_MIN)
|
$(PY3_MIN)_RDEPENDS += $(LIBPY3_MIN)
|
||||||
|
|
||||||
PY3 = $(PYTHON_PNAME)_$(PYTHON_VER)_amd64.deb
|
PY3 = $(PYTHON_PNAME)_$(PYTHON_VER)_$(CONFIGURED_ARCH).deb
|
||||||
$(eval $(call add_derived_package,$(LIBPY3_MIN),$(PY3)))
|
$(eval $(call add_derived_package,$(LIBPY3_MIN),$(PY3)))
|
||||||
$(PY3)_DEPENDS += $(PY3_MIN) $(LIBPY3_STD)
|
$(PY3)_DEPENDS += $(PY3_MIN) $(LIBPY3_STD)
|
||||||
$(PY3)_RDEPENDS += $(PY3_MIN) $(LIBPY3_STD)
|
$(PY3)_RDEPENDS += $(PY3_MIN) $(LIBPY3_STD)
|
||||||
|
|
||||||
LIBPY3_DEV = lib$(PYTHON_PNAME)-dev_$(PYTHON_VER)_amd64.deb
|
LIBPY3_DEV = lib$(PYTHON_PNAME)-dev_$(PYTHON_VER)_$(CONFIGURED_ARCH).deb
|
||||||
$(eval $(call add_derived_package,$(LIBPY3_MIN),$(LIBPY3_DEV)))
|
$(eval $(call add_derived_package,$(LIBPY3_MIN),$(LIBPY3_DEV)))
|
||||||
$(LIBPY3_DEV)_DEPENDS += $(LIBPY3) $($(LIBPY3)_DEPENDS)
|
$(LIBPY3_DEV)_DEPENDS += $(LIBPY3) $($(LIBPY3)_DEPENDS)
|
||||||
$(LIBPY3_DEV)_RDEPENDS += $(LIBPY3) $($(LIBPY3)_RDEPENDS)
|
$(LIBPY3_DEV)_RDEPENDS += $(LIBPY3) $($(LIBPY3)_RDEPENDS)
|
||||||
|
@ -2,10 +2,10 @@
|
|||||||
|
|
||||||
QUAGGA_VERSION_FULL = 0.99.24.1-2.1
|
QUAGGA_VERSION_FULL = 0.99.24.1-2.1
|
||||||
|
|
||||||
QUAGGA = quagga_$(QUAGGA_VERSION_FULL)_amd64.deb
|
QUAGGA = quagga_$(QUAGGA_VERSION_FULL)_$(CONFIGURED_ARCH).deb
|
||||||
$(QUAGGA)_DEPENDS += $(LIBSNMP_DEV)
|
$(QUAGGA)_DEPENDS += $(LIBSNMP_DEV)
|
||||||
$(QUAGGA)_SRC_PATH = $(SRC_PATH)/sonic-quagga
|
$(QUAGGA)_SRC_PATH = $(SRC_PATH)/sonic-quagga
|
||||||
SONIC_DPKG_DEBS += $(QUAGGA)
|
SONIC_DPKG_DEBS += $(QUAGGA)
|
||||||
|
|
||||||
QUAGGA_DBG = quagga-dbg_$(QUAGGA_VERSION_FULL)_amd64.deb
|
QUAGGA_DBG = quagga-dbg_$(QUAGGA_VERSION_FULL)_$(CONFIGURED_ARCH).deb
|
||||||
$(eval $(call add_derived_package,$(QUAGGA),$(QUAGGA_DBG)))
|
$(eval $(call add_derived_package,$(QUAGGA),$(QUAGGA_DBG)))
|
||||||
|
@ -4,7 +4,7 @@ RADVD_VERSION = 2.17-2~bpo9+1
|
|||||||
|
|
||||||
export RADVD_VERSION
|
export RADVD_VERSION
|
||||||
|
|
||||||
RADVD = radvd_$(RADVD_VERSION)_amd64.deb
|
RADVD = radvd_$(RADVD_VERSION)_$(CONFIGURED_ARCH).deb
|
||||||
$(RADVD)_SRC_PATH = $(SRC_PATH)/radvd
|
$(RADVD)_SRC_PATH = $(SRC_PATH)/radvd
|
||||||
SONIC_MAKE_DEBS += $(RADVD)
|
SONIC_MAKE_DEBS += $(RADVD)
|
||||||
SONIC_STRETCH_DEBS += $(RADVD)
|
SONIC_STRETCH_DEBS += $(RADVD)
|
||||||
|
@ -2,19 +2,19 @@
|
|||||||
|
|
||||||
REDIS_VERSION = 5.0.3-3~bpo9+2
|
REDIS_VERSION = 5.0.3-3~bpo9+2
|
||||||
|
|
||||||
REDIS_TOOLS = redis-tools_$(REDIS_VERSION)_amd64.deb
|
REDIS_TOOLS = redis-tools_$(REDIS_VERSION)_$(CONFIGURED_ARCH).deb
|
||||||
$(REDIS_TOOLS)_SRC_PATH = $(SRC_PATH)/redis
|
$(REDIS_TOOLS)_SRC_PATH = $(SRC_PATH)/redis
|
||||||
$(REDIS_TOOLS)_DEPENDS += $(LIBHIREDIS_DEV)
|
$(REDIS_TOOLS)_DEPENDS += $(LIBHIREDIS_DEV)
|
||||||
$(REDIS_TOOLS)_RDEPENDS += $(LIBHIREDIS)
|
$(REDIS_TOOLS)_RDEPENDS += $(LIBHIREDIS)
|
||||||
SONIC_MAKE_DEBS += $(REDIS_TOOLS)
|
SONIC_MAKE_DEBS += $(REDIS_TOOLS)
|
||||||
|
|
||||||
REDIS_TOOLS_DBG = redis-tools-dbgsym_$(REDIS_VERSION)_amd64.deb
|
REDIS_TOOLS_DBG = redis-tools-dbgsym_$(REDIS_VERSION)_$(CONFIGURED_ARCH).deb
|
||||||
$(eval $(call add_derived_package,$(REDIS_TOOLS),$(REDIS_TOOLS_DBG)))
|
$(eval $(call add_derived_package,$(REDIS_TOOLS),$(REDIS_TOOLS_DBG)))
|
||||||
|
|
||||||
REDIS_SERVER = redis-server_$(REDIS_VERSION)_amd64.deb
|
REDIS_SERVER = redis-server_$(REDIS_VERSION)_$(CONFIGURED_ARCH).deb
|
||||||
$(eval $(call add_derived_package,$(REDIS_TOOLS),$(REDIS_SERVER)))
|
$(eval $(call add_derived_package,$(REDIS_TOOLS),$(REDIS_SERVER)))
|
||||||
|
|
||||||
REDIS_SENTINEL = redis-sentinel_$(REDIS_VERSION)_amd64.deb
|
REDIS_SENTINEL = redis-sentinel_$(REDIS_VERSION)_$(CONFIGURED_ARCH).deb
|
||||||
$(REDIS_SENTINEL)_DEPENDS += $(REDIS_SERVER)
|
$(REDIS_SENTINEL)_DEPENDS += $(REDIS_SERVER)
|
||||||
$(REDIS_SENTINEL)_RDEPENDS += $(REDIS_SERVER)
|
$(REDIS_SENTINEL)_RDEPENDS += $(REDIS_SERVER)
|
||||||
$(eval $(call add_derived_package,$(REDIS_TOOLS),$(REDIS_SENTINEL)))
|
$(eval $(call add_derived_package,$(REDIS_TOOLS),$(REDIS_SENTINEL)))
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
# sairedis package
|
# sairedis package
|
||||||
|
|
||||||
LIBSAIREDIS = libsairedis_1.0.0_amd64.deb
|
LIBSAIREDIS = libsairedis_1.0.0_$(CONFIGURED_ARCH).deb
|
||||||
$(LIBSAIREDIS)_SRC_PATH = $(SRC_PATH)/sonic-sairedis
|
$(LIBSAIREDIS)_SRC_PATH = $(SRC_PATH)/sonic-sairedis
|
||||||
$(LIBSAIREDIS)_DEPENDS += $(LIBSWSSCOMMON_DEV)
|
$(LIBSAIREDIS)_DEPENDS += $(LIBSWSSCOMMON_DEV)
|
||||||
$(LIBSAIREDIS)_RDEPENDS += $(LIBSWSSCOMMON)
|
$(LIBSAIREDIS)_RDEPENDS += $(LIBSWSSCOMMON)
|
||||||
@ -14,59 +14,59 @@ endif
|
|||||||
$(LIBSAIREDIS)_DEB_BUILD_OPTIONS = nocheck
|
$(LIBSAIREDIS)_DEB_BUILD_OPTIONS = nocheck
|
||||||
SONIC_DPKG_DEBS += $(LIBSAIREDIS)
|
SONIC_DPKG_DEBS += $(LIBSAIREDIS)
|
||||||
|
|
||||||
LIBSAIREDIS_DEV = libsairedis-dev_1.0.0_amd64.deb
|
LIBSAIREDIS_DEV = libsairedis-dev_1.0.0_$(CONFIGURED_ARCH).deb
|
||||||
$(eval $(call add_derived_package,$(LIBSAIREDIS),$(LIBSAIREDIS_DEV)))
|
$(eval $(call add_derived_package,$(LIBSAIREDIS),$(LIBSAIREDIS_DEV)))
|
||||||
|
|
||||||
LIBSAIVS = libsaivs_1.0.0_amd64.deb
|
LIBSAIVS = libsaivs_1.0.0_$(CONFIGURED_ARCH).deb
|
||||||
$(eval $(call add_derived_package,$(LIBSAIREDIS),$(LIBSAIVS)))
|
$(eval $(call add_derived_package,$(LIBSAIREDIS),$(LIBSAIVS)))
|
||||||
|
|
||||||
LIBSAIVS_DEV = libsaivs-dev_1.0.0_amd64.deb
|
LIBSAIVS_DEV = libsaivs-dev_1.0.0_$(CONFIGURED_ARCH).deb
|
||||||
$(eval $(call add_derived_package,$(LIBSAIREDIS),$(LIBSAIVS_DEV)))
|
$(eval $(call add_derived_package,$(LIBSAIREDIS),$(LIBSAIVS_DEV)))
|
||||||
|
|
||||||
ifneq ($(CONFIGURED_PLATFORM),vs)
|
ifneq ($(CONFIGURED_PLATFORM),vs)
|
||||||
SYNCD = syncd_1.0.0_amd64.deb
|
SYNCD = syncd_1.0.0_$(CONFIGURED_ARCH).deb
|
||||||
$(SYNCD)_RDEPENDS += $(LIBSAIREDIS) $(LIBSAIMETADATA)
|
$(SYNCD)_RDEPENDS += $(LIBSAIREDIS) $(LIBSAIMETADATA)
|
||||||
$(eval $(call add_derived_package,$(LIBSAIREDIS),$(SYNCD)))
|
$(eval $(call add_derived_package,$(LIBSAIREDIS),$(SYNCD)))
|
||||||
|
|
||||||
ifeq ($(ENABLE_SYNCD_RPC),y)
|
ifeq ($(ENABLE_SYNCD_RPC),y)
|
||||||
SYNCD_RPC = syncd-rpc_1.0.0_amd64.deb
|
SYNCD_RPC = syncd-rpc_1.0.0_$(CONFIGURED_ARCH).deb
|
||||||
$(SYNCD_RPC)_RDEPENDS += $(LIBSAIREDIS) $(LIBSAIMETADATA)
|
$(SYNCD_RPC)_RDEPENDS += $(LIBSAIREDIS) $(LIBSAIMETADATA)
|
||||||
$(eval $(call add_derived_package,$(LIBSAIREDIS),$(SYNCD_RPC)))
|
$(eval $(call add_derived_package,$(LIBSAIREDIS),$(SYNCD_RPC)))
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
LIBSAIMETADATA = libsaimetadata_1.0.0_amd64.deb
|
LIBSAIMETADATA = libsaimetadata_1.0.0_$(CONFIGURED_ARCH).deb
|
||||||
$(eval $(call add_derived_package,$(LIBSAIREDIS),$(LIBSAIMETADATA)))
|
$(eval $(call add_derived_package,$(LIBSAIREDIS),$(LIBSAIMETADATA)))
|
||||||
|
|
||||||
LIBSAIMETADATA_DEV = libsaimetadata-dev_1.0.0_amd64.deb
|
LIBSAIMETADATA_DEV = libsaimetadata-dev_1.0.0_$(CONFIGURED_ARCH).deb
|
||||||
$(LIBSAIMETADATA_DEV)_DEPENDS += $(LIBSAIMETADATA)
|
$(LIBSAIMETADATA_DEV)_DEPENDS += $(LIBSAIMETADATA)
|
||||||
$(eval $(call add_derived_package,$(LIBSAIREDIS),$(LIBSAIMETADATA_DEV)))
|
$(eval $(call add_derived_package,$(LIBSAIREDIS),$(LIBSAIMETADATA_DEV)))
|
||||||
|
|
||||||
LIBSAIREDIS_DBG = libsairedis-dbg_1.0.0_amd64.deb
|
LIBSAIREDIS_DBG = libsairedis-dbg_1.0.0_$(CONFIGURED_ARCH).deb
|
||||||
$(LIBSAIREDIS_DBG)_DEPENDS += $(LIBSAIREDIS)
|
$(LIBSAIREDIS_DBG)_DEPENDS += $(LIBSAIREDIS)
|
||||||
$(LIBSAIREDIS_DBG)_RDEPENDS += $(LIBSAIREDIS)
|
$(LIBSAIREDIS_DBG)_RDEPENDS += $(LIBSAIREDIS)
|
||||||
$(eval $(call add_derived_package,$(LIBSAIREDIS),$(LIBSAIREDIS_DBG)))
|
$(eval $(call add_derived_package,$(LIBSAIREDIS),$(LIBSAIREDIS_DBG)))
|
||||||
|
|
||||||
LIBSAIVS_DBG = libsaivs-dbg_1.0.0_amd64.deb
|
LIBSAIVS_DBG = libsaivs-dbg_1.0.0_$(CONFIGURED_ARCH).deb
|
||||||
$(LIBSAIVS_DBG)_DEPENDS += $(LIBSAIVS)
|
$(LIBSAIVS_DBG)_DEPENDS += $(LIBSAIVS)
|
||||||
$(LIBSAIVS_DBG)_RDEPENDS += $(LIBSAIVS)
|
$(LIBSAIVS_DBG)_RDEPENDS += $(LIBSAIVS)
|
||||||
$(eval $(call add_derived_package,$(LIBSAIREDIS),$(LIBSAIVS_DBG)))
|
$(eval $(call add_derived_package,$(LIBSAIREDIS),$(LIBSAIVS_DBG)))
|
||||||
|
|
||||||
ifneq ($(CONFIGURED_PLATFORM),vs)
|
ifneq ($(CONFIGURED_PLATFORM),vs)
|
||||||
SYNCD_DBG = syncd-dbg_1.0.0_amd64.deb
|
SYNCD_DBG = syncd-dbg_1.0.0_$(CONFIGURED_ARCH).deb
|
||||||
$(SYNCD_DBG)_DEPENDS += $(SYNCD)
|
$(SYNCD_DBG)_DEPENDS += $(SYNCD)
|
||||||
$(SYNCD_DBG)_RDEPENDS += $(SYNCD)
|
$(SYNCD_DBG)_RDEPENDS += $(SYNCD)
|
||||||
$(eval $(call add_derived_package,$(LIBSAIREDIS),$(SYNCD_DBG)))
|
$(eval $(call add_derived_package,$(LIBSAIREDIS),$(SYNCD_DBG)))
|
||||||
|
|
||||||
ifeq ($(ENABLE_SYNCD_RPC),y)
|
ifeq ($(ENABLE_SYNCD_RPC),y)
|
||||||
SYNCD_RPC_DBG = syncd-rpc-dbg_1.0.0_amd64.deb
|
SYNCD_RPC_DBG = syncd-rpc-dbg_1.0.0_$(CONFIGURED_ARCH).deb
|
||||||
$(SYNCD_RPC_DBG)_DEPENDS += $(SYNCD_RPC)
|
$(SYNCD_RPC_DBG)_DEPENDS += $(SYNCD_RPC)
|
||||||
$(SYNCD_RPC_DBG)_RDEPENDS += $(SYNCD_RPC)
|
$(SYNCD_RPC_DBG)_RDEPENDS += $(SYNCD_RPC)
|
||||||
$(eval $(call add_derived_package,$(LIBSAIREDIS),$(SYNCD_RPC_DBG)))
|
$(eval $(call add_derived_package,$(LIBSAIREDIS),$(SYNCD_RPC_DBG)))
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
LIBSAIMETADATA_DBG = libsaimetadata-dbg_1.0.0_amd64.deb
|
LIBSAIMETADATA_DBG = libsaimetadata-dbg_1.0.0_$(CONFIGURED_ARCH).deb
|
||||||
$(LIBSAIMETADATA_DBG)_DEPENDS += $(LIBSAIMETADATA)
|
$(LIBSAIMETADATA_DBG)_DEPENDS += $(LIBSAIMETADATA)
|
||||||
$(LIBSAIMETADATA_DBG)_RDEPENDS += $(LIBSAIMETADATA)
|
$(LIBSAIMETADATA_DBG)_RDEPENDS += $(LIBSAIMETADATA)
|
||||||
$(eval $(call add_derived_package,$(LIBSAIREDIS),$(LIBSAIMETADATA_DBG)))
|
$(eval $(call add_derived_package,$(LIBSAIREDIS),$(LIBSAIMETADATA_DBG)))
|
||||||
|
@ -6,7 +6,7 @@ SMARTMONTOOLS_VERSION_FULL = $(SMARTMONTOOLS_VERSION_MAJOR)-1
|
|||||||
|
|
||||||
export SMARTMONTOOLS_VERSION_MAJOR SMARTMONTOOLS_VERSION_FULL
|
export SMARTMONTOOLS_VERSION_MAJOR SMARTMONTOOLS_VERSION_FULL
|
||||||
|
|
||||||
SMARTMONTOOLS = smartmontools_$(SMARTMONTOOLS_VERSION_FULL)_amd64.deb
|
SMARTMONTOOLS = smartmontools_$(SMARTMONTOOLS_VERSION_FULL)_$(CONFIGURED_ARCH).deb
|
||||||
$(SMARTMONTOOLS)_SRC_PATH = $(SRC_PATH)/smartmontools
|
$(SMARTMONTOOLS)_SRC_PATH = $(SRC_PATH)/smartmontools
|
||||||
|
|
||||||
SONIC_STRETCH_DEBS += $(SMARTMONTOOLS)
|
SONIC_STRETCH_DEBS += $(SMARTMONTOOLS)
|
||||||
|
@ -11,46 +11,46 @@ $(LIBSNMP_BASE)_DEPENDS += $(LIBNL3_DEV)
|
|||||||
$(LIBSNMP_BASE)_RDEPENDS += $(LIBNL3)
|
$(LIBSNMP_BASE)_RDEPENDS += $(LIBNL3)
|
||||||
SONIC_MAKE_DEBS += $(LIBSNMP_BASE)
|
SONIC_MAKE_DEBS += $(LIBSNMP_BASE)
|
||||||
|
|
||||||
SNMPTRAPD = snmptrapd_$(SNMPD_VERSION_FULL)_amd64.deb
|
SNMPTRAPD = snmptrapd_$(SNMPD_VERSION_FULL)_$(CONFIGURED_ARCH).deb
|
||||||
$(SNMPTRAPD)_DEPENDS += $(LIBSNMP) $(SNMPD)
|
$(SNMPTRAPD)_DEPENDS += $(LIBSNMP) $(SNMPD)
|
||||||
$(SNMPTRAPD)_RDEPENDS += $(LIBSNMP) $(SNMPD)
|
$(SNMPTRAPD)_RDEPENDS += $(LIBSNMP) $(SNMPD)
|
||||||
$(eval $(call add_derived_package,$(LIBSNMP_BASE),$(SNMPTRAPD)))
|
$(eval $(call add_derived_package,$(LIBSNMP_BASE),$(SNMPTRAPD)))
|
||||||
|
|
||||||
SNMP = snmp_$(SNMPD_VERSION_FULL)_amd64.deb
|
SNMP = snmp_$(SNMPD_VERSION_FULL)_$(CONFIGURED_ARCH).deb
|
||||||
$(SNMP)_DEPENDS += $(LIBSNMP)
|
$(SNMP)_DEPENDS += $(LIBSNMP)
|
||||||
$(SNMP)_RDEPENDS += $(LIBSNMP)
|
$(SNMP)_RDEPENDS += $(LIBSNMP)
|
||||||
$(eval $(call add_derived_package,$(LIBSNMP_BASE),$(SNMP)))
|
$(eval $(call add_derived_package,$(LIBSNMP_BASE),$(SNMP)))
|
||||||
|
|
||||||
SNMPD = snmpd_$(SNMPD_VERSION_FULL)_amd64.deb
|
SNMPD = snmpd_$(SNMPD_VERSION_FULL)_$(CONFIGURED_ARCH).deb
|
||||||
$(SNMPD)_DEPENDS += $(LIBSNMP)
|
$(SNMPD)_DEPENDS += $(LIBSNMP)
|
||||||
$(SNMPD)_RDEPENDS += $(LIBSNMP)
|
$(SNMPD)_RDEPENDS += $(LIBSNMP)
|
||||||
$(eval $(call add_derived_package,$(LIBSNMP_BASE),$(SNMPD)))
|
$(eval $(call add_derived_package,$(LIBSNMP_BASE),$(SNMPD)))
|
||||||
|
|
||||||
SNMP_DBG = snmp-dbgsym_$(SNMPD_VERSION_FULL)_amd64.deb
|
SNMP_DBG = snmp-dbgsym_$(SNMPD_VERSION_FULL)_$(CONFIGURED_ARCH).deb
|
||||||
$(eval $(call add_derived_package,$(SNMP),$(SNMP_DBG)))
|
$(eval $(call add_derived_package,$(SNMP),$(SNMP_DBG)))
|
||||||
|
|
||||||
SNMPD_DBG = snmpd-dbgsym_$(SNMPD_VERSION_FULL)_amd64.deb
|
SNMPD_DBG = snmpd-dbgsym_$(SNMPD_VERSION_FULL)_$(CONFIGURED_ARCH).deb
|
||||||
$(eval $(call add_derived_package,$(SNMPD),$(SNMPD_DBG)))
|
$(eval $(call add_derived_package,$(SNMPD),$(SNMPD_DBG)))
|
||||||
|
|
||||||
LIBSNMP = libsnmp30_$(SNMPD_VERSION_FULL)_amd64.deb
|
LIBSNMP = libsnmp30_$(SNMPD_VERSION_FULL)_$(CONFIGURED_ARCH).deb
|
||||||
$(LIBSNMP)_RDEPENDS += $(LIBSNMP_BASE)
|
$(LIBSNMP)_RDEPENDS += $(LIBSNMP_BASE)
|
||||||
$(eval $(call add_derived_package,$(LIBSNMP_BASE),$(LIBSNMP)))
|
$(eval $(call add_derived_package,$(LIBSNMP_BASE),$(LIBSNMP)))
|
||||||
|
|
||||||
LIBSNMP_DBG = libsnmp30-dbg_$(SNMPD_VERSION_FULL)_amd64.deb
|
LIBSNMP_DBG = libsnmp30-dbg_$(SNMPD_VERSION_FULL)_$(CONFIGURED_ARCH).deb
|
||||||
$(LIBSNMP_DBG)_DEPENDS += $(LIBSNMP)
|
$(LIBSNMP_DBG)_DEPENDS += $(LIBSNMP)
|
||||||
$(LIBSNMP_DBG)_RDEPENDS += $(LIBSNMP)
|
$(LIBSNMP_DBG)_RDEPENDS += $(LIBSNMP)
|
||||||
$(eval $(call add_derived_package,$(LIBSNMP_BASE),$(LIBSNMP_DBG)))
|
$(eval $(call add_derived_package,$(LIBSNMP_BASE),$(LIBSNMP_DBG)))
|
||||||
|
|
||||||
LIBSNMP_DEV = libsnmp-dev_$(SNMPD_VERSION_FULL)_amd64.deb
|
LIBSNMP_DEV = libsnmp-dev_$(SNMPD_VERSION_FULL)_$(CONFIGURED_ARCH).deb
|
||||||
$(LIBSNMP_DEV)_DEPENDS += $(LIBSNMP)
|
$(LIBSNMP_DEV)_DEPENDS += $(LIBSNMP)
|
||||||
$(eval $(call add_derived_package,$(LIBSNMP_BASE),$(LIBSNMP_DEV)))
|
$(eval $(call add_derived_package,$(LIBSNMP_BASE),$(LIBSNMP_DEV)))
|
||||||
|
|
||||||
LIBSNMP_PERL = libsnmp-perl_$(SNMPD_VERSION_FULL)_amd64.deb
|
LIBSNMP_PERL = libsnmp-perl_$(SNMPD_VERSION_FULL)_$(CONFIGURED_ARCH).deb
|
||||||
$(LIBSNMP_PERL)_DEPENDS += $(LIBSNMP)
|
$(LIBSNMP_PERL)_DEPENDS += $(LIBSNMP)
|
||||||
$(LIBSNMP_PERL)_RDEPENDS += $(LIBSNMP)
|
$(LIBSNMP_PERL)_RDEPENDS += $(LIBSNMP)
|
||||||
$(eval $(call add_derived_package,$(LIBSNMP_BASE),$(LIBSNMP_PERL)))
|
$(eval $(call add_derived_package,$(LIBSNMP_BASE),$(LIBSNMP_PERL)))
|
||||||
|
|
||||||
PYTHON_NETSNMP = python-netsnmp_$(SNMPD_VERSION_FULL)_amd64.deb
|
PYTHON_NETSNMP = python-netsnmp_$(SNMPD_VERSION_FULL)_$(CONFIGURED_ARCH).deb
|
||||||
$(PYTHON_NETSNMP)_DEPENDS += $(LIBSNMP)
|
$(PYTHON_NETSNMP)_DEPENDS += $(LIBSNMP)
|
||||||
$(PYTHON_NETSNMP)_RDEPENDS += $(LIBSNMP)
|
$(PYTHON_NETSNMP)_RDEPENDS += $(LIBSNMP)
|
||||||
$(eval $(call add_derived_package,$(LIBSNMP_BASE),$(PYTHON_NETSNMP)))
|
$(eval $(call add_derived_package,$(LIBSNMP_BASE),$(PYTHON_NETSNMP)))
|
||||||
|
@ -4,6 +4,6 @@ SOCAT_VERSION = 1.7.3.1-2+deb9u1
|
|||||||
|
|
||||||
export SOCAT_VERSION
|
export SOCAT_VERSION
|
||||||
|
|
||||||
SOCAT = socat_$(SOCAT_VERSION)_amd64.deb
|
SOCAT = socat_$(SOCAT_VERSION)_$(CONFIGURED_ARCH).deb
|
||||||
$(SOCAT)_SRC_PATH = $(SRC_PATH)/socat
|
$(SOCAT)_SRC_PATH = $(SRC_PATH)/socat
|
||||||
SONIC_MAKE_DEBS += $(SOCAT)
|
SONIC_MAKE_DEBS += $(SOCAT)
|
||||||
|
@ -8,15 +8,15 @@ export SWIG_VERSION_BASE
|
|||||||
export SWIG_VERSION
|
export SWIG_VERSION
|
||||||
export SWIG_SUBVERSION
|
export SWIG_SUBVERSION
|
||||||
|
|
||||||
SWIG_BASE = swig$(SWIG_VERSION_BASE)_$(SWIG_VERSION)-$(SWIG_SUBVERSION)_amd64.deb
|
SWIG_BASE = swig$(SWIG_VERSION_BASE)_$(SWIG_VERSION)-$(SWIG_SUBVERSION)_$(CONFIGURED_ARCH).deb
|
||||||
$(SWIG_BASE)_SRC_PATH = $(SRC_PATH)/swig
|
$(SWIG_BASE)_SRC_PATH = $(SRC_PATH)/swig
|
||||||
SONIC_MAKE_DEBS += $(SWIG_BASE)
|
SONIC_MAKE_DEBS += $(SWIG_BASE)
|
||||||
SONIC_STRETCH_DEBS += $(SWIG_BASE)
|
SONIC_STRETCH_DEBS += $(SWIG_BASE)
|
||||||
|
|
||||||
SWIG = swig_$(SWIG_VERSION)-$(SWIG_SUBVERSION)_amd64.deb
|
SWIG = swig_$(SWIG_VERSION)-$(SWIG_SUBVERSION)_$(CONFIGURED_ARCH).deb
|
||||||
$(eval $(call add_derived_package,$(SWIG_BASE),$(SWIG)))
|
$(eval $(call add_derived_package,$(SWIG_BASE),$(SWIG)))
|
||||||
|
|
||||||
SWIG_DBG = swig$(SWIG_VERSION_BASE)-dbgsym_$(SWIG_VERSION)-$(SWIG_SUBVERSION)_amd64.deb
|
SWIG_DBG = swig$(SWIG_VERSION_BASE)-dbgsym_$(SWIG_VERSION)-$(SWIG_SUBVERSION)_$(CONFIGURED_ARCH).deb
|
||||||
$(eval $(call add_derived_package,$(SWIG_BASE),$(SWIG_DBG)))
|
$(eval $(call add_derived_package,$(SWIG_BASE),$(SWIG_DBG)))
|
||||||
|
|
||||||
export SWIG_BASE SWIG SWIG_DBG
|
export SWIG_BASE SWIG SWIG_DBG
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
# libswsscommon package
|
# libswsscommon package
|
||||||
|
|
||||||
LIBSWSSCOMMON = libswsscommon_1.0.0_amd64.deb
|
LIBSWSSCOMMON = libswsscommon_1.0.0_$(CONFIGURED_ARCH).deb
|
||||||
$(LIBSWSSCOMMON)_SRC_PATH = $(SRC_PATH)/sonic-swss-common
|
$(LIBSWSSCOMMON)_SRC_PATH = $(SRC_PATH)/sonic-swss-common
|
||||||
$(LIBSWSSCOMMON)_DEPENDS += $(LIBHIREDIS_DEV) $(LIBNL3_DEV) $(LIBNL_GENL3_DEV) \
|
$(LIBSWSSCOMMON)_DEPENDS += $(LIBHIREDIS_DEV) $(LIBNL3_DEV) $(LIBNL_GENL3_DEV) \
|
||||||
$(LIBNL_ROUTE3_DEV) $(LIBNL_NF3_DEV) \
|
$(LIBNL_ROUTE3_DEV) $(LIBNL_NF3_DEV) \
|
||||||
@ -9,13 +9,13 @@ $(LIBSWSSCOMMON)_RDEPENDS += $(LIBHIREDIS) $(LIBNL3) $(LIBNL_GENL3) \
|
|||||||
$(LIBNL_ROUTE3) $(LIBNL_NF3) $(LIBNL_CLI)
|
$(LIBNL_ROUTE3) $(LIBNL_NF3) $(LIBNL_CLI)
|
||||||
SONIC_DPKG_DEBS += $(LIBSWSSCOMMON)
|
SONIC_DPKG_DEBS += $(LIBSWSSCOMMON)
|
||||||
|
|
||||||
LIBSWSSCOMMON_DEV = libswsscommon-dev_1.0.0_amd64.deb
|
LIBSWSSCOMMON_DEV = libswsscommon-dev_1.0.0_$(CONFIGURED_ARCH).deb
|
||||||
$(eval $(call add_derived_package,$(LIBSWSSCOMMON),$(LIBSWSSCOMMON_DEV)))
|
$(eval $(call add_derived_package,$(LIBSWSSCOMMON),$(LIBSWSSCOMMON_DEV)))
|
||||||
|
|
||||||
PYTHON_SWSSCOMMON = python-swsscommon_1.0.0_amd64.deb
|
PYTHON_SWSSCOMMON = python-swsscommon_1.0.0_$(CONFIGURED_ARCH).deb
|
||||||
$(eval $(call add_derived_package,$(LIBSWSSCOMMON),$(PYTHON_SWSSCOMMON)))
|
$(eval $(call add_derived_package,$(LIBSWSSCOMMON),$(PYTHON_SWSSCOMMON)))
|
||||||
|
|
||||||
LIBSWSSCOMMON_DBG = libswsscommon-dbg_1.0.0_amd64.deb
|
LIBSWSSCOMMON_DBG = libswsscommon-dbg_1.0.0_$(CONFIGURED_ARCH).deb
|
||||||
$(LIBSWSSCOMMON_DBG)_DEPENDS += $(LIBSWSSCOMMON)
|
$(LIBSWSSCOMMON_DBG)_DEPENDS += $(LIBSWSSCOMMON)
|
||||||
$(LIBSWSSCOMMON_DBG)_RDEPENDS += $(LIBSWSSCOMMON)
|
$(LIBSWSSCOMMON_DBG)_RDEPENDS += $(LIBSWSSCOMMON)
|
||||||
$(eval $(call add_derived_package,$(LIBSWSSCOMMON),$(LIBSWSSCOMMON_DBG)))
|
$(eval $(call add_derived_package,$(LIBSWSSCOMMON),$(LIBSWSSCOMMON_DBG)))
|
||||||
|
@ -1,13 +1,13 @@
|
|||||||
# swss package
|
# swss package
|
||||||
|
|
||||||
SWSS = swss_1.0.0_amd64.deb
|
SWSS = swss_1.0.0_$(CONFIGURED_ARCH).deb
|
||||||
$(SWSS)_SRC_PATH = $(SRC_PATH)/sonic-swss
|
$(SWSS)_SRC_PATH = $(SRC_PATH)/sonic-swss
|
||||||
$(SWSS)_DEPENDS += $(LIBSAIREDIS_DEV) $(LIBSAIMETADATA_DEV) $(LIBTEAM_DEV) \
|
$(SWSS)_DEPENDS += $(LIBSAIREDIS_DEV) $(LIBSAIMETADATA_DEV) $(LIBTEAM_DEV) \
|
||||||
$(LIBTEAMDCT) $(LIBTEAM_UTILS) $(LIBSWSSCOMMON_DEV)
|
$(LIBTEAMDCT) $(LIBTEAM_UTILS) $(LIBSWSSCOMMON_DEV)
|
||||||
$(SWSS)_RDEPENDS += $(LIBSAIREDIS) $(LIBSAIMETADATA) $(LIBTEAM) $(LIBSWSSCOMMON) $(PYTHON_SWSSCOMMON)
|
$(SWSS)_RDEPENDS += $(LIBSAIREDIS) $(LIBSAIMETADATA) $(LIBTEAM) $(LIBSWSSCOMMON) $(PYTHON_SWSSCOMMON)
|
||||||
SONIC_DPKG_DEBS += $(SWSS)
|
SONIC_DPKG_DEBS += $(SWSS)
|
||||||
|
|
||||||
SWSS_DBG = swss-dbg_1.0.0_amd64.deb
|
SWSS_DBG = swss-dbg_1.0.0_$(CONFIGURED_ARCH).deb
|
||||||
$(SWSS_DBG)_DEPENDS += $(SWSS)
|
$(SWSS_DBG)_DEPENDS += $(SWSS)
|
||||||
$(SWSS_DBG)_RDEPENDS += $(SWSS)
|
$(SWSS_DBG)_RDEPENDS += $(SWSS)
|
||||||
$(eval $(call add_derived_package,$(SWSS),$(SWSS_DBG)))
|
$(eval $(call add_derived_package,$(SWSS),$(SWSS_DBG)))
|
||||||
|
@ -4,15 +4,15 @@ PAM_TACPLUS_VERSION = 1.4.1-1
|
|||||||
|
|
||||||
export PAM_TACPLUS_VERSION
|
export PAM_TACPLUS_VERSION
|
||||||
|
|
||||||
LIBTAC2 = libtac2_$(PAM_TACPLUS_VERSION)_amd64.deb
|
LIBTAC2 = libtac2_$(PAM_TACPLUS_VERSION)_$(CONFIGURED_ARCH).deb
|
||||||
$(LIBTAC2)_SRC_PATH = $(SRC_PATH)/tacacs/pam
|
$(LIBTAC2)_SRC_PATH = $(SRC_PATH)/tacacs/pam
|
||||||
SONIC_MAKE_DEBS += $(LIBTAC2)
|
SONIC_MAKE_DEBS += $(LIBTAC2)
|
||||||
|
|
||||||
LIBPAM_TACPLUS = libpam-tacplus_$(PAM_TACPLUS_VERSION)_amd64.deb
|
LIBPAM_TACPLUS = libpam-tacplus_$(PAM_TACPLUS_VERSION)_$(CONFIGURED_ARCH).deb
|
||||||
$(LIBPAM_TACPLUS)_RDEPENDS += $(LIBTAC2)
|
$(LIBPAM_TACPLUS)_RDEPENDS += $(LIBTAC2)
|
||||||
$(eval $(call add_extra_package,$(LIBTAC2),$(LIBPAM_TACPLUS)))
|
$(eval $(call add_extra_package,$(LIBTAC2),$(LIBPAM_TACPLUS)))
|
||||||
|
|
||||||
LIBTAC_DEV = libtac-dev_$(PAM_TACPLUS_VERSION)_amd64.deb
|
LIBTAC_DEV = libtac-dev_$(PAM_TACPLUS_VERSION)_$(CONFIGURED_ARCH).deb
|
||||||
$(LIBTAC_DEV)_DEPENDS += $(LIBTAC2)
|
$(LIBTAC_DEV)_DEPENDS += $(LIBTAC2)
|
||||||
$(eval $(call add_derived_package,$(LIBTAC2),$(LIBTAC_DEV)))
|
$(eval $(call add_derived_package,$(LIBTAC2),$(LIBTAC_DEV)))
|
||||||
|
|
||||||
@ -23,7 +23,7 @@ NSS_TACPLUS_VERSION = 1.0.4-1
|
|||||||
|
|
||||||
export NSS_TACPLUS_VERSION
|
export NSS_TACPLUS_VERSION
|
||||||
|
|
||||||
LIBNSS_TACPLUS = libnss-tacplus_$(NSS_TACPLUS_VERSION)_amd64.deb
|
LIBNSS_TACPLUS = libnss-tacplus_$(NSS_TACPLUS_VERSION)_$(CONFIGURED_ARCH).deb
|
||||||
$(LIBNSS_TACPLUS)_DEPENDS += $(LIBTAC_DEV)
|
$(LIBNSS_TACPLUS)_DEPENDS += $(LIBTAC_DEV)
|
||||||
$(LIBNSS_TACPLUS)_RDEPENDS += $(LIBTAC2)
|
$(LIBNSS_TACPLUS)_RDEPENDS += $(LIBTAC2)
|
||||||
$(LIBNSS_TACPLUS)_SRC_PATH = $(SRC_PATH)/tacacs/nss
|
$(LIBNSS_TACPLUS)_SRC_PATH = $(SRC_PATH)/tacacs/nss
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
# SONiC telemetry package
|
# SONiC telemetry package
|
||||||
|
|
||||||
SONIC_TELEMETRY = sonic-telemetry_0.1_amd64.deb
|
SONIC_TELEMETRY = sonic-telemetry_0.1_$(CONFIGURED_ARCH).deb
|
||||||
$(SONIC_TELEMETRY)_SRC_PATH = $(SRC_PATH)/telemetry
|
$(SONIC_TELEMETRY)_SRC_PATH = $(SRC_PATH)/telemetry
|
||||||
SONIC_DPKG_DEBS += $(SONIC_TELEMETRY)
|
SONIC_DPKG_DEBS += $(SONIC_TELEMETRY)
|
||||||
|
@ -3,15 +3,15 @@
|
|||||||
THRIFT_VERSION = 0.11.0
|
THRIFT_VERSION = 0.11.0
|
||||||
THRIFT_VERSION_FULL = $(THRIFT_VERSION)-4
|
THRIFT_VERSION_FULL = $(THRIFT_VERSION)-4
|
||||||
|
|
||||||
LIBTHRIFT = libthrift-$(THRIFT_VERSION)_$(THRIFT_VERSION_FULL)_amd64.deb
|
LIBTHRIFT = libthrift-$(THRIFT_VERSION)_$(THRIFT_VERSION_FULL)_$(CONFIGURED_ARCH).deb
|
||||||
$(LIBTHRIFT)_SRC_PATH = $(SRC_PATH)/thrift
|
$(LIBTHRIFT)_SRC_PATH = $(SRC_PATH)/thrift
|
||||||
SONIC_MAKE_DEBS += $(LIBTHRIFT)
|
SONIC_MAKE_DEBS += $(LIBTHRIFT)
|
||||||
|
|
||||||
LIBTHRIFT_DEV = libthrift-dev_$(THRIFT_VERSION_FULL)_amd64.deb
|
LIBTHRIFT_DEV = libthrift-dev_$(THRIFT_VERSION_FULL)_$(CONFIGURED_ARCH).deb
|
||||||
$(eval $(call add_derived_package,$(LIBTHRIFT),$(LIBTHRIFT_DEV)))
|
$(eval $(call add_derived_package,$(LIBTHRIFT),$(LIBTHRIFT_DEV)))
|
||||||
|
|
||||||
PYTHON_THRIFT = python-thrift_$(THRIFT_VERSION_FULL)_amd64.deb
|
PYTHON_THRIFT = python-thrift_$(THRIFT_VERSION_FULL)_$(CONFIGURED_ARCH).deb
|
||||||
$(eval $(call add_derived_package,$(LIBTHRIFT),$(PYTHON_THRIFT)))
|
$(eval $(call add_derived_package,$(LIBTHRIFT),$(PYTHON_THRIFT)))
|
||||||
|
|
||||||
THRIFT_COMPILER = thrift-compiler_$(THRIFT_VERSION_FULL)_amd64.deb
|
THRIFT_COMPILER = thrift-compiler_$(THRIFT_VERSION_FULL)_$(CONFIGURED_ARCH).deb
|
||||||
$(eval $(call add_derived_package,$(LIBTHRIFT),$(THRIFT_COMPILER)))
|
$(eval $(call add_derived_package,$(LIBTHRIFT),$(THRIFT_COMPILER)))
|
||||||
|
10
slave.mk
10
slave.mk
@ -40,9 +40,14 @@ DBG_IMAGE_MARK = dbg
|
|||||||
|
|
||||||
CONFIGURED_PLATFORM := $(shell [ -f .platform ] && cat .platform || echo generic)
|
CONFIGURED_PLATFORM := $(shell [ -f .platform ] && cat .platform || echo generic)
|
||||||
PLATFORM_PATH = platform/$(CONFIGURED_PLATFORM)
|
PLATFORM_PATH = platform/$(CONFIGURED_PLATFORM)
|
||||||
|
CONFIGURED_ARCH := $(shell [ -f .arch ] && cat .arch || echo amd64)
|
||||||
|
ifeq ($(PLATFORM_ARCH),)
|
||||||
|
override PLATFORM_ARCH = $(CONFIGURED_ARCH)
|
||||||
|
endif
|
||||||
export BUILD_NUMBER
|
export BUILD_NUMBER
|
||||||
export BUILD_TIMESTAMP
|
export BUILD_TIMESTAMP
|
||||||
export CONFIGURED_PLATFORM
|
export CONFIGURED_PLATFORM
|
||||||
|
export CONFIGURED_ARCH
|
||||||
|
|
||||||
###############################################################################
|
###############################################################################
|
||||||
## Utility rules
|
## Utility rules
|
||||||
@ -63,9 +68,11 @@ configure :
|
|||||||
@mkdir -p target/python-debs
|
@mkdir -p target/python-debs
|
||||||
@mkdir -p target/python-wheels
|
@mkdir -p target/python-wheels
|
||||||
@echo $(PLATFORM) > .platform
|
@echo $(PLATFORM) > .platform
|
||||||
|
@echo $(PLATFORM_ARCH) > .arch
|
||||||
|
|
||||||
distclean : .platform clean
|
distclean : .platform clean
|
||||||
@rm -f .platform
|
@rm -f .platform
|
||||||
|
@rm -f .arch
|
||||||
|
|
||||||
list :
|
list :
|
||||||
@$(foreach target,$(SONIC_TARGET_LIST),echo $(target);)
|
@$(foreach target,$(SONIC_TARGET_LIST),echo $(target);)
|
||||||
@ -148,6 +155,7 @@ $(info SONiC Build System)
|
|||||||
$(info )
|
$(info )
|
||||||
$(info Build Configuration)
|
$(info Build Configuration)
|
||||||
$(info "CONFIGURED_PLATFORM" : "$(if $(PLATFORM),$(PLATFORM),$(CONFIGURED_PLATFORM))")
|
$(info "CONFIGURED_PLATFORM" : "$(if $(PLATFORM),$(PLATFORM),$(CONFIGURED_PLATFORM))")
|
||||||
|
$(info "CONFIGURED_ARCH" : "$(if $(PLATFORM_ARCH),$(PLATFORM_ARCH),$(CONFIGURED_ARCH))")
|
||||||
$(info "SONIC_CONFIG_PRINT_DEPENDENCIES" : "$(SONIC_CONFIG_PRINT_DEPENDENCIES)")
|
$(info "SONIC_CONFIG_PRINT_DEPENDENCIES" : "$(SONIC_CONFIG_PRINT_DEPENDENCIES)")
|
||||||
$(info "SONIC_BUILD_JOBS" : "$(SONIC_BUILD_JOBS)")
|
$(info "SONIC_BUILD_JOBS" : "$(SONIC_BUILD_JOBS)")
|
||||||
$(info "SONIC_CONFIG_MAKE_JOBS" : "$(SONIC_CONFIG_MAKE_JOBS)")
|
$(info "SONIC_CONFIG_MAKE_JOBS" : "$(SONIC_CONFIG_MAKE_JOBS)")
|
||||||
@ -611,7 +619,7 @@ $(addprefix $(TARGET_PATH)/, $(SONIC_INSTALLERS)) : $(TARGET_PATH)/% : \
|
|||||||
export kversion="$(KVERSION)"
|
export kversion="$(KVERSION)"
|
||||||
export image_type="$($*_IMAGE_TYPE)"
|
export image_type="$($*_IMAGE_TYPE)"
|
||||||
export sonicadmin_user="$(USERNAME)"
|
export sonicadmin_user="$(USERNAME)"
|
||||||
export sonic_asic_platform="$(CONFIGURED_PLATFORM)"
|
export sonic_asic_platform="$(patsubst %-$(CONFIGURED_ARCH),%,$(CONFIGURED_PLATFORM))"
|
||||||
export enable_organization_extensions="$(ENABLE_ORGANIZATION_EXTENSIONS)"
|
export enable_organization_extensions="$(ENABLE_ORGANIZATION_EXTENSIONS)"
|
||||||
export enable_dhcp_graph_service="$(ENABLE_DHCP_GRAPH_SERVICE)"
|
export enable_dhcp_graph_service="$(ENABLE_DHCP_GRAPH_SERVICE)"
|
||||||
export shutdown_bgp_on_start="$(SHUTDOWN_BGP_ON_START)"
|
export shutdown_bgp_on_start="$(SHUTDOWN_BGP_ON_START)"
|
||||||
|
370
sonic-slave-stretch/Dockerfile.j2
Normal file
370
sonic-slave-stretch/Dockerfile.j2
Normal file
@ -0,0 +1,370 @@
|
|||||||
|
{% if CONFIGURED_ARCH == "armhf" %}
|
||||||
|
FROM multiarch/debian-debootstrap:armhf-stretch
|
||||||
|
{% elif CONFIGURED_ARCH == "arm64" %}
|
||||||
|
FROM multiarch/debian-debootstrap:arm64-stretch
|
||||||
|
{% else %}
|
||||||
|
FROM debian:stretch
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
MAINTAINER gulv@microsoft.com
|
||||||
|
|
||||||
|
RUN echo "deb [arch=amd64] http://debian-archive.trafficmanager.net/debian/ stretch main contrib non-free" >> /etc/apt/sources.list && \
|
||||||
|
echo "deb-src [arch=amd64] http://debian-archive.trafficmanager.net/debian/ stretch main contrib non-free" >> /etc/apt/sources.list && \
|
||||||
|
echo "deb [arch=amd64] http://debian-archive.trafficmanager.net/debian-security/ stretch/updates main contrib non-free" >> /etc/apt/sources.list && \
|
||||||
|
echo "deb-src [arch=amd64] http://debian-archive.trafficmanager.net/debian-security/ stretch/updates main contrib non-free" >> /etc/apt/sources.list && \
|
||||||
|
echo "deb [arch=amd64] http://debian-archive.trafficmanager.net/debian stretch-backports main" >> /etc/apt/sources.list
|
||||||
|
|
||||||
|
{% if CONFIGURED_ARCH == "armhf" %}
|
||||||
|
RUN echo "deb [arch=armhf] http://deb.debian.org/debian stretch main contrib non-free" > /etc/apt/sources.list && \
|
||||||
|
echo "deb-src [arch=armhf] http://deb.debian.org/debian stretch main contrib non-free" >> /etc/apt/sources.list && \
|
||||||
|
echo "deb [arch=armhf] http://deb.debian.org/debian stretch-updates main contrib non-free" >> /etc/apt/sources.list && \
|
||||||
|
echo "deb-src [arch=armhf] http://deb.debian.org/debian stretch-updates main contrib non-free" >> /etc/apt/sources.list && \
|
||||||
|
echo "deb [arch=armhf] http://security.debian.org stretch/updates main contrib non-free" >> /etc/apt/sources.list && \
|
||||||
|
echo "deb-src [arch=armhf] http://security.debian.org stretch/updates main contrib non-free" >> /etc/apt/sources.list && \
|
||||||
|
echo 'deb [arch=armhf] http://ftp.debian.org/debian stretch-backports main' >> /etc/apt/sources.list
|
||||||
|
{% elif CONFIGURED_ARCH == "arm64" %}
|
||||||
|
RUN echo "deb [arch=arm64] http://deb.debian.org/debian stretch main contrib non-free" > /etc/apt/sources.list && \
|
||||||
|
echo "deb-src [arch=arm64] http://deb.debian.org/debian stretch main contrib non-free" >> /etc/apt/sources.list && \
|
||||||
|
echo "deb [arch=arm64] http://deb.debian.org/debian stretch-updates main contrib non-free" >> /etc/apt/sources.list && \
|
||||||
|
echo "deb-src [arch=arm64] http://deb.debian.org/debian stretch-updates main contrib non-free" >> /etc/apt/sources.list && \
|
||||||
|
echo "deb [arch=arm64] http://security.debian.org stretch/updates main contrib non-free" >> /etc/apt/sources.list && \
|
||||||
|
echo "deb-src [arch=arm64] http://security.debian.org stretch/updates main contrib non-free" >> /etc/apt/sources.list && \
|
||||||
|
echo 'deb [arch=arm64] http://ftp.debian.org/debian stretch-backports main' >> /etc/apt/sources.list
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
## Make apt-get non-interactive
|
||||||
|
ENV DEBIAN_FRONTEND=noninteractive
|
||||||
|
|
||||||
|
RUN apt-get update && apt-get install -y \
|
||||||
|
apt-utils \
|
||||||
|
default-jre-headless \
|
||||||
|
openssh-server \
|
||||||
|
curl \
|
||||||
|
wget \
|
||||||
|
unzip \
|
||||||
|
git \
|
||||||
|
build-essential \
|
||||||
|
libtool \
|
||||||
|
lintian \
|
||||||
|
sudo \
|
||||||
|
dh-make \
|
||||||
|
dh-exec \
|
||||||
|
kmod \
|
||||||
|
libtinyxml2-4 \
|
||||||
|
libboost-program-options1.62-dev \
|
||||||
|
libtinyxml2-dev \
|
||||||
|
python \
|
||||||
|
python-pip \
|
||||||
|
libncurses5-dev \
|
||||||
|
texinfo \
|
||||||
|
dh-autoreconf \
|
||||||
|
python3-pip \
|
||||||
|
doxygen \
|
||||||
|
devscripts \
|
||||||
|
git-buildpackage \
|
||||||
|
perl-modules \
|
||||||
|
libswitch-perl \
|
||||||
|
dh-systemd \
|
||||||
|
# For quagga build
|
||||||
|
libreadline-dev \
|
||||||
|
texlive-latex-base \
|
||||||
|
texlive-generic-recommended \
|
||||||
|
texlive-fonts-recommended \
|
||||||
|
libpam0g-dev \
|
||||||
|
libpam-dev \
|
||||||
|
libcap-dev \
|
||||||
|
imagemagick \
|
||||||
|
ghostscript \
|
||||||
|
groff \
|
||||||
|
libpcre3-dev \
|
||||||
|
gawk \
|
||||||
|
chrpath \
|
||||||
|
# For frr build
|
||||||
|
libc-ares-dev \
|
||||||
|
libsnmp-dev \
|
||||||
|
libjson-c3 \
|
||||||
|
libjson-c-dev \
|
||||||
|
libsystemd-dev \
|
||||||
|
python-ipaddr \
|
||||||
|
libcmocka-dev \
|
||||||
|
python3-all-dev \
|
||||||
|
python3-all-dbg \
|
||||||
|
install-info \
|
||||||
|
logrotate \
|
||||||
|
# For libnl3 (local) build
|
||||||
|
cdbs \
|
||||||
|
# For SAI meta build
|
||||||
|
libxml-simple-perl \
|
||||||
|
graphviz \
|
||||||
|
aspell \
|
||||||
|
# For linux build
|
||||||
|
bc \
|
||||||
|
fakeroot \
|
||||||
|
build-essential \
|
||||||
|
devscripts \
|
||||||
|
quilt \
|
||||||
|
stgit \
|
||||||
|
# For platform-modules build
|
||||||
|
module-assistant \
|
||||||
|
# For thrift build\
|
||||||
|
gem2deb \
|
||||||
|
libboost-all-dev \
|
||||||
|
libevent-dev \
|
||||||
|
libglib2.0-dev \
|
||||||
|
libqt4-dev \
|
||||||
|
python-all-dev \
|
||||||
|
python-twisted \
|
||||||
|
phpunit \
|
||||||
|
libbit-vector-perl \
|
||||||
|
openjdk-8-jdk \
|
||||||
|
javahelper \
|
||||||
|
maven-debian-helper \
|
||||||
|
ant \
|
||||||
|
libmaven-ant-tasks-java \
|
||||||
|
libhttpclient-java \
|
||||||
|
libslf4j-java \
|
||||||
|
libservlet3.1-java \
|
||||||
|
qt5-default \
|
||||||
|
pkg-php-tools \
|
||||||
|
# For mellanox sdk build
|
||||||
|
libpcre3 \
|
||||||
|
libpcre3-dev \
|
||||||
|
byacc \
|
||||||
|
flex \
|
||||||
|
libglib2.0-dev \
|
||||||
|
bison \
|
||||||
|
expat \
|
||||||
|
libexpat1-dev \
|
||||||
|
dpatch \
|
||||||
|
libdb-dev \
|
||||||
|
iptables-dev \
|
||||||
|
ctags \
|
||||||
|
# For mellanox sai build
|
||||||
|
libtool-bin \
|
||||||
|
libxml2-dev \
|
||||||
|
# For BFN sdk build
|
||||||
|
libusb-1.0-0-dev \
|
||||||
|
libcurl3-nss-dev \
|
||||||
|
libunwind8-dev \
|
||||||
|
telnet \
|
||||||
|
libc-ares2 \
|
||||||
|
libgoogle-perftools4 \
|
||||||
|
# For build image
|
||||||
|
cpio \
|
||||||
|
squashfs-tools \
|
||||||
|
zip \
|
||||||
|
# For broadcom sdk build
|
||||||
|
{% if CONFIGURED_ARCH == "amd64" %}
|
||||||
|
linux-compiler-gcc-6-x86 \
|
||||||
|
{% endif %}
|
||||||
|
linux-kbuild-4.9 \
|
||||||
|
# teamd build
|
||||||
|
libdaemon-dev \
|
||||||
|
libdbus-1-dev \
|
||||||
|
libjansson-dev \
|
||||||
|
# For cavium sdk build
|
||||||
|
libpcap-dev \
|
||||||
|
dnsutils \
|
||||||
|
libusb-dev \
|
||||||
|
# For debian image reconfiguration
|
||||||
|
augeas-tools \
|
||||||
|
# For p4 build
|
||||||
|
libyaml-dev \
|
||||||
|
libevent-dev \
|
||||||
|
libjudy-dev \
|
||||||
|
libedit-dev \
|
||||||
|
libnanomsg-dev \
|
||||||
|
python-stdeb \
|
||||||
|
# For redis build
|
||||||
|
libjemalloc-dev \
|
||||||
|
# For mft kernel module build
|
||||||
|
dkms \
|
||||||
|
# For python3.5 build
|
||||||
|
sharutils \
|
||||||
|
libncursesw5-dev \
|
||||||
|
libbz2-dev \
|
||||||
|
liblzma-dev \
|
||||||
|
libgdbm-dev \
|
||||||
|
tk-dev \
|
||||||
|
blt-dev \
|
||||||
|
libmpdec-dev \
|
||||||
|
libbluetooth-dev \
|
||||||
|
locales \
|
||||||
|
libsqlite3-dev \
|
||||||
|
libgpm2 \
|
||||||
|
time \
|
||||||
|
net-tools \
|
||||||
|
xvfb \
|
||||||
|
python-sphinx \
|
||||||
|
python3-sphinx \
|
||||||
|
# For Jenkins static analysis, unit testing and code coverage
|
||||||
|
cppcheck \
|
||||||
|
clang \
|
||||||
|
pylint \
|
||||||
|
python-pytest \
|
||||||
|
gcovr \
|
||||||
|
python-pytest-cov \
|
||||||
|
python-parse \
|
||||||
|
# For snmpd
|
||||||
|
default-libmysqlclient-dev \
|
||||||
|
libssl1.0-dev \
|
||||||
|
libperl-dev \
|
||||||
|
libpci-dev \
|
||||||
|
libpci3 \
|
||||||
|
libsensors4 \
|
||||||
|
libsensors4-dev \
|
||||||
|
libwrap0-dev \
|
||||||
|
# For lldpd
|
||||||
|
debhelper \
|
||||||
|
autotools-dev \
|
||||||
|
libbsd-dev \
|
||||||
|
pkg-config \
|
||||||
|
check \
|
||||||
|
# For mpdecimal
|
||||||
|
docutils-common \
|
||||||
|
libjs-sphinxdoc \
|
||||||
|
libjs-underscore \
|
||||||
|
python-docutils \
|
||||||
|
python-jinja2 \
|
||||||
|
python-markupsafe \
|
||||||
|
python-pygments \
|
||||||
|
python-roman \
|
||||||
|
python-sphinx \
|
||||||
|
sphinx-common \
|
||||||
|
python3-sphinx \
|
||||||
|
# For sonic config engine testing
|
||||||
|
python-lxml \
|
||||||
|
python-jinja2 \
|
||||||
|
python-netaddr \
|
||||||
|
python-ipaddr \
|
||||||
|
python-yaml \
|
||||||
|
python3-yaml \
|
||||||
|
# For lockfile
|
||||||
|
procmail \
|
||||||
|
# For gtest
|
||||||
|
libgtest-dev \
|
||||||
|
cmake \
|
||||||
|
# For pam_tacplus build
|
||||||
|
autoconf-archive \
|
||||||
|
# For python-click build
|
||||||
|
python-sphinx \
|
||||||
|
python-docutils \
|
||||||
|
python3-all \
|
||||||
|
python3-setuptools \
|
||||||
|
python3-sphinx \
|
||||||
|
python3-docutils \
|
||||||
|
python3-requests \
|
||||||
|
python3-pytest \
|
||||||
|
python3-colorama \
|
||||||
|
# For initramfs
|
||||||
|
bash-completion \
|
||||||
|
{% if CONFIGURED_ARCH == "amd64" %}
|
||||||
|
# For sonic vs image build
|
||||||
|
dosfstools \
|
||||||
|
qemu-kvm \
|
||||||
|
libvirt-clients \
|
||||||
|
{% endif %}
|
||||||
|
# For lm-sensors
|
||||||
|
librrd8 \
|
||||||
|
librrd-dev \
|
||||||
|
rrdtool \
|
||||||
|
# For smartmontools 6.6-1
|
||||||
|
automake1.11 \
|
||||||
|
libselinux1-dev
|
||||||
|
|
||||||
|
# For smartmontools 6.6-1
|
||||||
|
RUN apt-get -t stretch-backports install -y debhelper
|
||||||
|
|
||||||
|
# For linux build
|
||||||
|
RUN apt-get -y build-dep linux
|
||||||
|
|
||||||
|
# For gobgp and telemetry build
|
||||||
|
RUN export VERSION=1.11.5 \
|
||||||
|
{% if CONFIGURED_ARCH == "armhf" %}
|
||||||
|
&& wget https://storage.googleapis.com/golang/go$VERSION.linux-armv6l.tar.gz \
|
||||||
|
&& tar -C /usr/local -xzf go$VERSION.linux-armv6l.tar.gz \
|
||||||
|
{% elif CONFIGURED_ARCH == "arm64" %}
|
||||||
|
&& wget https://storage.googleapis.com/golang/go$VERSION.linux-arm64.tar.gz \
|
||||||
|
&& tar -C /usr/local -xzf go$VERSION.linux-arm64.tar.gz \
|
||||||
|
{% else %}
|
||||||
|
&& wget https://storage.googleapis.com/golang/go$VERSION.linux-amd64.tar.gz \
|
||||||
|
&& tar -C /usr/local -xzf go$VERSION.linux-amd64.tar.gz \
|
||||||
|
{% endif %}
|
||||||
|
&& echo 'export GOROOT=/usr/local/go' >> /etc/bash.bashrc \
|
||||||
|
&& echo 'export PATH=$PATH:$GOROOT/bin' >> /etc/bash.bashrc
|
||||||
|
|
||||||
|
# For p4 build
|
||||||
|
RUN pip install \
|
||||||
|
ctypesgen \
|
||||||
|
crc16
|
||||||
|
|
||||||
|
# For sonic config engine testing
|
||||||
|
RUN pip install pyangbind==0.6.0
|
||||||
|
# Note: force upgrade debian packaged jinja2, if installed
|
||||||
|
RUN pip install --force-reinstall --upgrade jinja2>=2.10
|
||||||
|
|
||||||
|
# For templating
|
||||||
|
RUN pip install j2cli
|
||||||
|
|
||||||
|
# Remove python-click 6.6
|
||||||
|
RUN apt-get purge -y python-click
|
||||||
|
# For sonic utilities testing
|
||||||
|
RUN pip install click-default-group click natsort tabulate netifaces==0.10.7 fastentrypoints
|
||||||
|
|
||||||
|
# For sonic snmpagent mock testing
|
||||||
|
RUN pip3 install mockredispy==2.9.3
|
||||||
|
|
||||||
|
RUN pip3 install PyYAML>=5.1
|
||||||
|
|
||||||
|
# For sonic-platform-common testing
|
||||||
|
RUN pip3 install redis
|
||||||
|
|
||||||
|
# For supervisor build
|
||||||
|
RUN pip install meld3 mock
|
||||||
|
|
||||||
|
# For vs image build
|
||||||
|
RUN pip install pexpect==4.6.0
|
||||||
|
|
||||||
|
# For sonic-utilities build
|
||||||
|
RUN pip install mockredispy==2.9.3
|
||||||
|
RUN pip install pytest-runner==4.4
|
||||||
|
RUN pip install setuptools==40.8.0
|
||||||
|
|
||||||
|
# Install dependencies for isc-dhcp-relay build
|
||||||
|
RUN apt-get -y build-dep isc-dhcp
|
||||||
|
|
||||||
|
# Install vim
|
||||||
|
RUN apt-get install -y vim
|
||||||
|
|
||||||
|
# Install rsyslog
|
||||||
|
RUN apt-get install -y rsyslog
|
||||||
|
|
||||||
|
RUN cd /usr/src/gtest && cmake . && make -C /usr/src/gtest
|
||||||
|
|
||||||
|
RUN mkdir /var/run/sshd
|
||||||
|
EXPOSE 22
|
||||||
|
|
||||||
|
# Install depot-tools (for git-retry)
|
||||||
|
RUN git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git /usr/share/depot_tools
|
||||||
|
ENV PATH /usr/share/depot_tools:$PATH
|
||||||
|
|
||||||
|
# Install docker engine 17.03.2~ce-0 inside docker and enable experimental feature
|
||||||
|
RUN apt-get update
|
||||||
|
RUN apt-get install -y \
|
||||||
|
apt-transport-https \
|
||||||
|
ca-certificates \
|
||||||
|
curl \
|
||||||
|
gnupg2 \
|
||||||
|
software-properties-common
|
||||||
|
RUN curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
|
||||||
|
RUN add-apt-repository \
|
||||||
|
"deb [arch={{ CONFIGURED_ARCH }}] https://download.docker.com/linux/debian \
|
||||||
|
$(lsb_release -cs) \
|
||||||
|
stable"
|
||||||
|
RUN apt-get update
|
||||||
|
{% if CONFIGURED_ARCH == "amd64" %}
|
||||||
|
RUN apt-get install -y docker-ce=17.03.2~ce-0~debian-stretch
|
||||||
|
{% else %}
|
||||||
|
RUN apt-get install -y docker-ce=18.06.3~ce~3-0~debian
|
||||||
|
{% endif %}
|
||||||
|
RUN echo "DOCKER_OPTS=\"--experimental --storage-driver=vfs\"" >> /etc/default/docker
|
359
sonic-slave/Dockerfile.j2
Normal file
359
sonic-slave/Dockerfile.j2
Normal file
@ -0,0 +1,359 @@
|
|||||||
|
{% if CONFIGURED_ARCH == "armhf" %}
|
||||||
|
FROM multiarch/debian-debootstrap:armhf-jessie
|
||||||
|
{% elif CONFIGURED_ARCH == "arm64" %}
|
||||||
|
FROM multiarch/debian-debootstrap:arm64-jessie
|
||||||
|
{% else %}
|
||||||
|
FROM debian:jessie
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
MAINTAINER johnar@microsoft.com
|
||||||
|
|
||||||
|
## Remove retired jessie-updates repo
|
||||||
|
RUN sed -i '/http:\/\/deb.debian.org\/debian jessie-updates main/d' /etc/apt/sources.list
|
||||||
|
|
||||||
|
RUN echo "deb [arch=amd64] http://debian-archive.trafficmanager.net/debian/ jessie main contrib non-free" >> /etc/apt/sources.list && \
|
||||||
|
echo "deb-src [arch=amd64] http://debian-archive.trafficmanager.net/debian/ jessie main contrib non-free" >> /etc/apt/sources.list && \
|
||||||
|
echo "deb [arch=amd64] http://debian-archive.trafficmanager.net/debian-security/ jessie/updates main contrib non-free" >> /etc/apt/sources.list && \
|
||||||
|
echo "deb-src [arch=amd64] http://debian-archive.trafficmanager.net/debian-security/ jessie/updates main contrib non-free" >> /etc/apt/sources.list
|
||||||
|
|
||||||
|
{% if CONFIGURED_ARCH == "armhf" %}
|
||||||
|
RUN echo "deb [arch=armhf] http://deb.debian.org/debian jessie main contrib non-free" > /etc/apt/sources.list && \
|
||||||
|
echo "deb-src [arch=armhf] http://deb.debian.org/debian jessie main contrib non-free" >> /etc/apt/sources.list && \
|
||||||
|
echo "deb [arch=armhf] http://security.debian.org jessie/updates main contrib non-free" >> /etc/apt/sources.list && \
|
||||||
|
echo "deb-src [arch=armhf] http://security.debian.org jessie/updates main contrib non-free" >> /etc/apt/sources.list
|
||||||
|
{% elif CONFIGURED_ARCH == "arm64" %}
|
||||||
|
RUN echo "deb [arch=arm64] http://archive.debian.org/debian jessie main contrib non-free" > /etc/apt/sources.list && \
|
||||||
|
echo "deb-src [arch=arm64] http://archive.debian.org/debian jessie main contrib non-free" >> /etc/apt/sources.list && \
|
||||||
|
echo "deb-src [arch=arm64] http://archive.debian.org/debian jessie-backports main contrib non-free" >> /etc/apt/sources.list && \
|
||||||
|
echo "deb [arch=arm64] http://archive.debian.org/debian jessie-backports main contrib non-free" >> /etc/apt/sources.list
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
## Make apt-get non-interactive
|
||||||
|
ENV DEBIAN_FRONTEND=noninteractive
|
||||||
|
|
||||||
|
RUN apt-get update && apt-get install -y \
|
||||||
|
apt-utils \
|
||||||
|
default-jre-headless \
|
||||||
|
openssh-server \
|
||||||
|
curl \
|
||||||
|
wget \
|
||||||
|
unzip \
|
||||||
|
git \
|
||||||
|
build-essential \
|
||||||
|
libtool \
|
||||||
|
lintian \
|
||||||
|
sudo \
|
||||||
|
dh-make \
|
||||||
|
dh-exec \
|
||||||
|
kmod \
|
||||||
|
libtinyxml2-2 \
|
||||||
|
libboost-program-options1.55-dev \
|
||||||
|
libtinyxml2-dev \
|
||||||
|
python \
|
||||||
|
python-pip \
|
||||||
|
libncurses5-dev \
|
||||||
|
texinfo \
|
||||||
|
dh-autoreconf \
|
||||||
|
python3-pip \
|
||||||
|
doxygen \
|
||||||
|
devscripts \
|
||||||
|
git-buildpackage \
|
||||||
|
perl-modules \
|
||||||
|
libswitch-perl \
|
||||||
|
dh-systemd \
|
||||||
|
# For quagga build
|
||||||
|
libreadline-dev \
|
||||||
|
texlive-latex-base \
|
||||||
|
texlive-generic-recommended \
|
||||||
|
texlive-fonts-recommended \
|
||||||
|
libpam0g-dev \
|
||||||
|
libpam-dev \
|
||||||
|
libcap-dev \
|
||||||
|
imagemagick \
|
||||||
|
ghostscript \
|
||||||
|
groff \
|
||||||
|
libpcre3-dev \
|
||||||
|
gawk \
|
||||||
|
chrpath \
|
||||||
|
# For frr build
|
||||||
|
libc-ares-dev \
|
||||||
|
hardening-wrapper \
|
||||||
|
libsnmp-dev \
|
||||||
|
libjson0 \
|
||||||
|
libjson0-dev \
|
||||||
|
libsystemd-dev \
|
||||||
|
python-ipaddr \
|
||||||
|
install-info \
|
||||||
|
# For libnl3 (local) build
|
||||||
|
cdbs \
|
||||||
|
# For SAI meta build
|
||||||
|
libxml-simple-perl \
|
||||||
|
graphviz \
|
||||||
|
aspell \
|
||||||
|
# For linux build
|
||||||
|
bc \
|
||||||
|
fakeroot \
|
||||||
|
build-essential \
|
||||||
|
devscripts \
|
||||||
|
quilt \
|
||||||
|
stgit \
|
||||||
|
# For platform-modules build
|
||||||
|
module-assistant \
|
||||||
|
# For thrift build\
|
||||||
|
gem2deb \
|
||||||
|
libboost-all-dev \
|
||||||
|
libevent-dev \
|
||||||
|
libglib2.0-dev \
|
||||||
|
libqt4-dev \
|
||||||
|
python-all-dev \
|
||||||
|
python-twisted \
|
||||||
|
php5-dev \
|
||||||
|
phpunit \
|
||||||
|
libbit-vector-perl \
|
||||||
|
openjdk-7-jdk \
|
||||||
|
javahelper \
|
||||||
|
maven-debian-helper \
|
||||||
|
ant \
|
||||||
|
libmaven-ant-tasks-java \
|
||||||
|
libhttpclient-java \
|
||||||
|
libslf4j-java \
|
||||||
|
libservlet3.1-java \
|
||||||
|
qt5-default \
|
||||||
|
pkg-php-tools \
|
||||||
|
# For mellanox sdk build
|
||||||
|
libpcre3 \
|
||||||
|
libpcre3-dev \
|
||||||
|
byacc \
|
||||||
|
flex \
|
||||||
|
libglib2.0-dev \
|
||||||
|
bison \
|
||||||
|
expat \
|
||||||
|
libexpat1-dev \
|
||||||
|
dpatch \
|
||||||
|
libdb-dev \
|
||||||
|
iptables-dev \
|
||||||
|
swig \
|
||||||
|
ctags \
|
||||||
|
# For mellanox sai build
|
||||||
|
libtool-bin \
|
||||||
|
libxml2-dev \
|
||||||
|
# For BFN sdk build
|
||||||
|
libusb-1.0-0-dev \
|
||||||
|
libcurl3-nss-dev \
|
||||||
|
libunwind8-dev \
|
||||||
|
telnet \
|
||||||
|
libc-ares2 \
|
||||||
|
libgoogle-perftools4 \
|
||||||
|
# For build image
|
||||||
|
cpio \
|
||||||
|
squashfs-tools \
|
||||||
|
zip \
|
||||||
|
{% if CONFIGURED_ARCH == "amd64" %}
|
||||||
|
# For broadcom sdk build
|
||||||
|
linux-compiler-gcc-4.8-x86 \
|
||||||
|
{% endif %}
|
||||||
|
linux-kbuild-3.16 \
|
||||||
|
# teamd build
|
||||||
|
libdaemon-dev \
|
||||||
|
libdbus-1-dev \
|
||||||
|
libjansson-dev \
|
||||||
|
# For cavium sdk build
|
||||||
|
libpcap-dev \
|
||||||
|
dnsutils \
|
||||||
|
libusb-dev \
|
||||||
|
# For debian image reconfiguration
|
||||||
|
augeas-tools \
|
||||||
|
# For p4 build
|
||||||
|
libyaml-dev \
|
||||||
|
libevent-dev \
|
||||||
|
libjudy-dev \
|
||||||
|
libedit-dev \
|
||||||
|
libnanomsg-dev \
|
||||||
|
python-stdeb \
|
||||||
|
# For redis build
|
||||||
|
libjemalloc-dev \
|
||||||
|
# For mft kernel module build
|
||||||
|
dkms \
|
||||||
|
# For python3.5 build
|
||||||
|
sharutils \
|
||||||
|
libncursesw5-dev \
|
||||||
|
libbz2-dev \
|
||||||
|
liblzma-dev \
|
||||||
|
libgdbm-dev \
|
||||||
|
tk-dev \
|
||||||
|
blt-dev \
|
||||||
|
libmpdec-dev \
|
||||||
|
libbluetooth-dev \
|
||||||
|
locales \
|
||||||
|
libsqlite3-dev \
|
||||||
|
libgpm2 \
|
||||||
|
time \
|
||||||
|
net-tools \
|
||||||
|
xvfb \
|
||||||
|
python-sphinx \
|
||||||
|
python3-sphinx \
|
||||||
|
# For Jenkins static analysis, unit testing and code coverage
|
||||||
|
cppcheck \
|
||||||
|
clang \
|
||||||
|
pylint \
|
||||||
|
gcovr \
|
||||||
|
python-pytest=2.6.3* \
|
||||||
|
python3-pytest=2.6.3* \
|
||||||
|
python-pytest-cov \
|
||||||
|
python3-pytest-cov \
|
||||||
|
python-parse \
|
||||||
|
# For snmpd
|
||||||
|
libmysqlclient-dev \
|
||||||
|
libmysqld-dev \
|
||||||
|
libperl-dev \
|
||||||
|
libpci-dev \
|
||||||
|
libpci3 \
|
||||||
|
libsensors4 \
|
||||||
|
libsensors4-dev \
|
||||||
|
libwrap0-dev \
|
||||||
|
# For mpdecimal
|
||||||
|
docutils-common \
|
||||||
|
libjs-sphinxdoc \
|
||||||
|
libjs-underscore \
|
||||||
|
python-docutils \
|
||||||
|
python-markupsafe \
|
||||||
|
python-pygments \
|
||||||
|
python-roman \
|
||||||
|
sphinx-common \
|
||||||
|
# For sonic config engine testing
|
||||||
|
python-lxml \
|
||||||
|
python-netaddr \
|
||||||
|
python-ipaddr \
|
||||||
|
python-yaml \
|
||||||
|
# For lockfile
|
||||||
|
procmail \
|
||||||
|
# For gtest
|
||||||
|
libgtest-dev \
|
||||||
|
cmake \
|
||||||
|
# For pam_tacplus build
|
||||||
|
autoconf-archive \
|
||||||
|
# For python-based swsscommon
|
||||||
|
swig3.0 \
|
||||||
|
# For iproute2
|
||||||
|
cm-super-minimal \
|
||||||
|
libatm1-dev \
|
||||||
|
libelf-dev \
|
||||||
|
libmnl-dev \
|
||||||
|
libselinux1-dev \
|
||||||
|
linuxdoc-tools \
|
||||||
|
lynx \
|
||||||
|
texlive-latex-extra \
|
||||||
|
texlive-latex-recommended \
|
||||||
|
# For python-click build
|
||||||
|
python-sphinx \
|
||||||
|
python-docutils \
|
||||||
|
python3-all \
|
||||||
|
python3-setuptools \
|
||||||
|
python3-sphinx \
|
||||||
|
python3-docutils \
|
||||||
|
python3-requests \
|
||||||
|
python3-pytest \
|
||||||
|
python3-colorama \
|
||||||
|
# For bash
|
||||||
|
texi2html \
|
||||||
|
# For initramfs
|
||||||
|
bash-completion \
|
||||||
|
{% if CONFIGURED_ARCH == "amd64" %}
|
||||||
|
# For sonic vs image build
|
||||||
|
dosfstools \
|
||||||
|
qemu-kvm \
|
||||||
|
libvirt-bin
|
||||||
|
{% else %}
|
||||||
|
bash-completion
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
# For jenkins slave
|
||||||
|
# RUN apt-get -y install ca-certificates-java=20161107~bpo8+1 openjdk-8-jdk
|
||||||
|
|
||||||
|
# For linux build
|
||||||
|
RUN apt-get -y build-dep linux
|
||||||
|
|
||||||
|
# For gobgp and telemetry build
|
||||||
|
RUN export VERSION=1.11.5 \
|
||||||
|
{% if CONFIGURED_ARCH == "armhf" %}
|
||||||
|
&& wget https://storage.googleapis.com/golang/go$VERSION.linux-armv6l.tar.gz \
|
||||||
|
&& tar -C /usr/local -xzf go$VERSION.linux-armv6l.tar.gz \
|
||||||
|
{% elif CONFIGURED_ARCH == "arm64" %}
|
||||||
|
&& wget https://storage.googleapis.com/golang/go$VERSION.linux-arm64.tar.gz \
|
||||||
|
&& tar -C /usr/local -xzf go$VERSION.linux-arm64.tar.gz \
|
||||||
|
{% else %}
|
||||||
|
&& wget https://storage.googleapis.com/golang/go$VERSION.linux-amd64.tar.gz \
|
||||||
|
&& tar -C /usr/local -xzf go$VERSION.linux-amd64.tar.gz \
|
||||||
|
{% endif %}
|
||||||
|
&& echo 'export GOROOT=/usr/local/go' >> /etc/bash.bashrc \
|
||||||
|
&& echo 'export PATH=$PATH:$GOROOT/bin' >> /etc/bash.bashrc
|
||||||
|
|
||||||
|
# Upgrade pip2
|
||||||
|
# Note: use pip2 specific version so jinja2 2.10 will install
|
||||||
|
RUN python2 -m pip install -U pip==9.0.3
|
||||||
|
|
||||||
|
# For p4 build
|
||||||
|
RUN pip install \
|
||||||
|
ctypesgen \
|
||||||
|
crc16
|
||||||
|
|
||||||
|
# For sonic config engine testing
|
||||||
|
RUN pip install pyangbind==0.6.0
|
||||||
|
# Note: force upgrade debian packaged jinja2, if installed
|
||||||
|
RUN pip install --force-reinstall --upgrade jinja2>=2.10
|
||||||
|
|
||||||
|
# For templating (requiring jinja2)
|
||||||
|
RUN pip install j2cli
|
||||||
|
|
||||||
|
# For sonic utilities testing
|
||||||
|
RUN pip install click-default-group click natsort tabulate netifaces==0.10.7 fastentrypoints
|
||||||
|
|
||||||
|
# For supervisor build
|
||||||
|
RUN pip install meld3 mock
|
||||||
|
|
||||||
|
# For vs image build
|
||||||
|
RUN pip install pexpect==4.6.0
|
||||||
|
|
||||||
|
# For sonic-utilities build
|
||||||
|
RUN pip install mockredispy==2.9.3
|
||||||
|
RUN pip install pytest-runner==4.4
|
||||||
|
RUN pip install setuptools==40.8.0
|
||||||
|
|
||||||
|
# Install dependencies for isc-dhcp-relay build
|
||||||
|
RUN apt-get -y build-dep isc-dhcp
|
||||||
|
|
||||||
|
# Install vim
|
||||||
|
RUN apt-get install -y vim
|
||||||
|
|
||||||
|
# Install rsyslog
|
||||||
|
RUN apt-get install -y rsyslog
|
||||||
|
|
||||||
|
RUN cd /usr/src/gtest && cmake . && make -C /usr/src/gtest
|
||||||
|
|
||||||
|
RUN mkdir /var/run/sshd
|
||||||
|
EXPOSE 22
|
||||||
|
|
||||||
|
# Install depot-tools (for git-retry)
|
||||||
|
RUN git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git /usr/share/depot_tools
|
||||||
|
ENV PATH /usr/share/depot_tools:$PATH
|
||||||
|
|
||||||
|
# Install docker engine 17.03.2~ce-0 inside docker and enable experimental feature
|
||||||
|
RUN apt-get update
|
||||||
|
RUN apt-get install -y \
|
||||||
|
apt-transport-https \
|
||||||
|
ca-certificates \
|
||||||
|
curl \
|
||||||
|
gnupg2 \
|
||||||
|
software-properties-common
|
||||||
|
RUN curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
|
||||||
|
RUN add-apt-repository \
|
||||||
|
"deb [arch={{ CONFIGURED_ARCH }}] https://download.docker.com/linux/debian \
|
||||||
|
$(lsb_release -cs) \
|
||||||
|
stable"
|
||||||
|
RUN apt-get update
|
||||||
|
{% if CONFIGURED_ARCH == "amd64" %}
|
||||||
|
RUN apt-get install -y docker-ce=17.03.2~ce-0~debian-jessie
|
||||||
|
{% else %}
|
||||||
|
RUN apt-get install -y docker-ce=18.06.3~ce~3-0~debian
|
||||||
|
{% endif %}
|
||||||
|
RUN echo "DOCKER_OPTS=\"--experimental --storage-driver=vfs\"" >> /etc/default/docker
|
@ -2,7 +2,7 @@ SHELL = /bin/bash
|
|||||||
.ONESHELL:
|
.ONESHELL:
|
||||||
.SHELLFLAGS += -e
|
.SHELLFLAGS += -e
|
||||||
|
|
||||||
MAIN_TARGET = bash_$(BASH_VERSION_FULL)_amd64.deb
|
MAIN_TARGET = bash_$(BASH_VERSION_FULL)_$(CONFIGURED_ARCH).deb
|
||||||
|
|
||||||
$(addprefix $(DEST)/, $(MAIN_TARGET)): $(DEST)/% :
|
$(addprefix $(DEST)/, $(MAIN_TARGET)): $(DEST)/% :
|
||||||
rm -rf bash-$(BASH_VERSION_MAJOR)
|
rm -rf bash-$(BASH_VERSION_MAJOR)
|
||||||
|
@ -2,8 +2,8 @@
|
|||||||
SHELL = /bin/bash
|
SHELL = /bin/bash
|
||||||
.SHELLFLAGS += -e
|
.SHELLFLAGS += -e
|
||||||
|
|
||||||
MAIN_TARGET = libhiredis0.14_$(HIREDIS_VERSION_FULL)_amd64.deb
|
MAIN_TARGET = libhiredis0.14_$(HIREDIS_VERSION_FULL)_$(CONFIGURED_ARCH).deb
|
||||||
DERIVED_TARGETS = libhiredis0.14-dbgsym_$(HIREDIS_VERSION_FULL)_amd64.deb libhiredis-dev_$(HIREDIS_VERSION_FULL)_amd64.deb
|
DERIVED_TARGETS = libhiredis0.14-dbgsym_$(HIREDIS_VERSION_FULL)_$(CONFIGURED_ARCH).deb libhiredis-dev_$(HIREDIS_VERSION_FULL)_$(CONFIGURED_ARCH).deb
|
||||||
|
|
||||||
$(addprefix $(DEST)/, $(MAIN_TARGET)): $(DEST)/% :
|
$(addprefix $(DEST)/, $(MAIN_TARGET)): $(DEST)/% :
|
||||||
rm -rf hiredis-$(HIREDIS_VERSION)
|
rm -rf hiredis-$(HIREDIS_VERSION)
|
||||||
|
@ -5,7 +5,7 @@ SHELL = /bin/bash
|
|||||||
IPROUTE2_VERSION = 4.9.0
|
IPROUTE2_VERSION = 4.9.0
|
||||||
IPROUTE2_VERSION_FULL = $(IPROUTE2_VERSION)-1
|
IPROUTE2_VERSION_FULL = $(IPROUTE2_VERSION)-1
|
||||||
|
|
||||||
MAIN_TARGET = iproute2_$(IPROUTE2_VERSION_FULL)_amd64.deb
|
MAIN_TARGET = iproute2_$(IPROUTE2_VERSION_FULL)_$(CONFIGURED_ARCH).deb
|
||||||
|
|
||||||
$(addprefix $(DEST)/, $(MAIN_TARGET)): $(DEST)/% :
|
$(addprefix $(DEST)/, $(MAIN_TARGET)): $(DEST)/% :
|
||||||
# Remove any stale files
|
# Remove any stale files
|
||||||
|
@ -2,8 +2,8 @@
|
|||||||
SHELL = /bin/bash
|
SHELL = /bin/bash
|
||||||
.SHELLFLAGS += -e
|
.SHELLFLAGS += -e
|
||||||
|
|
||||||
MAIN_TARGET = isc-dhcp-relay_$(ISC_DHCP_VERSION)_amd64.deb
|
MAIN_TARGET = isc-dhcp-relay_$(ISC_DHCP_VERSION)_$(CONFIGURED_ARCH).deb
|
||||||
DERIVED_TARGETS = isc-dhcp-relay-dbgsym_$(ISC_DHCP_VERSION)_amd64.deb
|
DERIVED_TARGETS = isc-dhcp-relay-dbgsym_$(ISC_DHCP_VERSION)_$(CONFIGURED_ARCH).deb
|
||||||
|
|
||||||
$(addprefix $(DEST)/, $(MAIN_TARGET)): $(DEST)/% :
|
$(addprefix $(DEST)/, $(MAIN_TARGET)): $(DEST)/% :
|
||||||
# Remove any stale files
|
# Remove any stale files
|
||||||
|
13
src/isc-dhcp/patch/0008-interface-name-maxlen-crash.patch
Normal file
13
src/isc-dhcp/patch/0008-interface-name-maxlen-crash.patch
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
diff --git a/common/discover.c b/common/discover.c
|
||||||
|
index 3cd64a7..c85d18c 100644
|
||||||
|
--- a/common/discover.c
|
||||||
|
+++ b/common/discover.c
|
||||||
|
@@ -547,7 +547,7 @@ next_iface4(struct iface_info *info, int *err, struct iface_conf_list *ifaces) {
|
||||||
|
log_error("Interface name '%s' too long", name);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
- strncpy(info->name, name, sizeof(info->name) - 1);
|
||||||
|
+ strncpy(info->name, name, sizeof(info->name));
|
||||||
|
|
||||||
|
#ifdef ALIAS_NAMED_PERMUTED
|
||||||
|
/* interface aliases look like "eth0:1" or "wlan1:3" */
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user