Граф коммитов

27 Коммитов

Автор SHA1 Сообщение Дата
rajendra-dendukuri eec594adf2 [sonic-ztp]: Build sonic-ztp package (#3299)
* Build sonic-ztp package

- Add changes in make rules to conditionally include sonic-ztp package

Signed-off-by: Rajendra Dendukuri <rajendra.dendukuri@broadcom.com>
2019-12-04 04:50:56 -08:00
Qi Luo 3470000e3a [sonic-slave]: Remove `base` from image name, rename folder to prevent user confliction (jessie) (#3790) 2019-11-21 16:14:32 -08:00
arheneus@marvell.com 4d29e611a1 [build]: Kill arm march docker service before every run to avoid stale entries (#3644)
[Makefile] Kill arm march docker service before every run to avoid stale entries
[Platform] Marvell - add dtb deb pkg

Signed-off-by: Antony Rheneus <arheneus@marvell.com>
2019-10-24 13:50:45 -07:00
arheneus@marvell.com 2694e66074 [build]: build ARM kernel support from sonic-linux-kernel (#3556)
* Makefile: ARM kernel support from sonic-linux-kernel
        * Fix for multiarch  build docker spawn
Platform: Install the DTB deb for the platform

Signed-off-by: Antony Rheneus <arheneus@marvell.com>
2019-10-10 15:11:26 -07:00
arheneus@marvell.com 11258e5db4 [build]: sonic arm64 changes (#3419)
Marvell arm64 changes over sonic

Signed-off-by: Antony Rheneus <arheneus@marvell.com>
2019-09-11 09:41:38 -07:00
arheneus@marvell.com bdce201467 [Makefile] Multiarch docker service cleanup at make reset (#3366)
* [Makefile] make reset target changed to ONESHELL and multiarch docker
stop has been added in reset

Signed-off-by: Antony Rheneus <arheneus@marvell.com>
2019-08-28 09:33:03 -07:00
arheneus@marvell.com e9d3858633 [build] Fixes for multi arch in Dockerfile (#3237)
Fix for rules/config as it is overridden by Make infra

Signed-off-by: Antony Rheneus <arheneus@marvell.com>
2019-07-31 15:26:00 -07:00
lguohan 1860dd5abe
[build]: use j2 template for sonic slave Dockerfile (#3223)
Generate sonic slave Dockerfile based on j2 template

Signed-off-by: Guohan Lu <gulv@microsoft.com>
2019-07-26 13:13:33 -07:00
arheneus@marvell.com 50fe458592 [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>
2019-07-25 22:06:41 -07:00
pavel-shirshov 39b641eb89 [build]: Fix comparing docker versions in build (#3205) 2019-07-23 07:01:21 -07:00
Greg Paussa 48c77f85a1 [build] Add option to avoid Docker base image :latest tag (#3124)
Define slave_base_tag_ref variable in Makefile.work containing
specific base image tag to use, rather than always defaulting
to :latest.

Add an ARG command before FROM statement in Dockerfile.user
for sonic-slave and sonic-slave-stretch. ARG variable defaults
to latest if slave_base_tag_ref not specified in Makefile.work.

The presumption to always refer to the :latest tagged Docker base
image when creating the user image causes problems in a shared
build server environment, where the most recently created base
image (i.e. the current :latest tag) may not be compatible with
the current build. For example, different users working in
different branches may all be sharing the same build server.

Signed-off-by: Greg Paussa greg.paussa@broadcom.com

- What I did
Added a DOCKER_AVOID_BASE_TAG_LATEST build option to rules/config that forces the Docker user image creation to refer to its base image by a specific tag rather than rely on the :latest tag. This is needed in a shared build server environment where builds from different developers and/or different SONiC branches all converge on the same Docker daemon instance running on the build server. The :latest tag is always assigned to the most recent base image built, which might not correspond to the base image needed for a particular build, thus causing various build errors that mostly manifest as missing Debian packages or package version mismatches.

NOTE TO REVIEWERS: This PR relies on Docker support of "ARG before FROM," which was first introduced in Docker version 17.05.1-ce. Although there is no mention of a minimum required Docker version for the build server in the SONiC Building Guide pages, please consider whether it is reasonable to assume that Docker 17.05.1-ce or later must be used for SONiC build hosts before approving this PR.

- How I did it
Added an ARG before the FROM statement at the top of the sonic-slave/Dockerfile.user and sonic-slave-stretch/Dockerfile.user files. The ARG variable defaults to latest, but can be overridden in Makefile.work to reference the SLAVE_BASE_TAG so that it refers to the specific, matching base image for the build. This override is activated by un-commenting the DOCKER_AVOID_BASE_TAG_LATEST = y line in rules/config.
2019-07-13 12:43:45 -07:00
Samuel Angebault e680892f39 [build] Improve overlay check in Makefile (#3050)
Some kernels are built with overlayfs as a builtin and not a module.
For these the check via lsmod currently fails.
This improvement now checks the kernel configuration for the
CONFIG_OVERLAY_FS entry. Depending on the OS and kernel version the
build configuration can be in multiple places.
2019-06-20 09:20:34 -07:00
Stepan Blyshchak 1bcd54d38c [build]: Upgrade docker to 18.09 in stretch slave (#3049)
Also add an option to use docker buildkit for image build

Signed-off-by: Stepan Blyschak <stepanb@mellanox.com>
2019-06-20 09:19:33 -07:00
lguohan 30b37ec6fb
[build]: make sonic-slave-stretch as the default build docker (#2921)
Signed-off-by: Guohan Lu <gulv@microsoft.com>
2019-05-27 15:50:51 -07:00
lguohan 8080695ecf
[docker-{sonic,syncd}-vs]: upgrade {sonic,syncd}-vs docker to stretch (#2865)
* [docker-{sonic,syncd}-vs]: upgrade sonic-vs and syncd-vs docker to stretch

* remove python-click 6.6

Signed-off-by: Guohan Lu <gulv@microsoft.com>
2019-05-06 07:19:36 -07:00
Ying Xie 9d6bac567b [build] force Linux to drop cache before calling kvm (#2717)
* [vm build] force Linux to drop cache before calling kvm

KVM need to allocate 2G memory for this build. The system memory might
be occupied by cache at the moment and doesn't have 2G chunk to give
out. Forcing Kernel to drop cache to boost the chance of getting 2G
memory.

Signed-off-by: Ying Xie <ying.xie@microsoft.com>

* [make] add option to enable/disable VS build memory preparation

Signed-off-by: Ying Xie <ying.xie@microsoft.com>
2019-03-29 15:25:17 -07:00
Stepan Blyshchak 0e01ff557b [mellanox] add makefiles to build Mellanox SDK from sources (#2701)
* [.gitignore] add missing directories to .gitignore

Signed-off-by: Stepan Blyschak <stepanb@mellanox.com>

* [buildsystem] add ability to override make variables from root Makefile

To override any make variable during build use SONIC_OVERRIDE_BUILD_VARS, e.g:
"make SONIC_OVERRIDE_BUILD_VARS="PARAM1=A PARAM2=B" all"

Signed-off-by: Stepan Blyschak <stepanb@mellanox.com>

* [mellanox] add SDK build from sources

Signed-off-by: Stepan Blyschak <stepanb@mellanox.com>

* [mellanox] pass -j$(SONIC_CONFIG_MAKE_JOBS) when building SDK

Signed-off-by: Stepan Blyschak <stepanb@mellanox.com>

* [mellanox] Add MLNX_SAI_REPO, MLNX_FW_BASE_URL variables

Signed-off-by: Stepan Blyschak <stepanb@mellanox.com>

* [mellanox] if MLNX_SDK_BASE_SOURCE_URL is not empty then build SDK from sources

Signed-off-by: Stepan Blyschak <stepanb@mellanox.com>
2019-03-27 18:32:25 -07:00
lguohan f20665008c
[build]: put stretch debian packages under target/debs/stretch/ (#2519)
* [build]: put stretch debian packages under target/debs/stretch/

* in stretch build phase, all debian packages built in that stage are placed under target/debs/stretch directory.
* for python-based debian packages, since they are really the same for jessie and stretch, they are placed under target/python-debs directory.

Signed-off-by: Guohan Lu <gulv@microsoft.com>
2019-02-04 22:06:37 -08:00
Joe LeVeque d1b72fdd28 [make reset] Also remove fsroot directory (#2489) 2019-01-25 17:02:54 -08:00
Wataru Ishida 4b21ff167f [build]: support specifying builder mount point and workdir (#2214)
This can be used when sonic-buildimage repo is a git submodule of other
repo.

e.g) if sonic-buildimage is a git submodule of "parent" repo and
sonic-buildimage is just under the top directory of "parent" repo, we
can build sonic-buildimage like below

$ cd parent/sonic-buildimage
$ DOCKER_BUILDER_MOUNT=`realpath ../`:`realpath ../` \
  DOCKER_BUILDER_WORKDIR=`pwd` make all

Signed-off-by: Wataru Ishida <ishida@nel-america.com>
2018-11-05 10:44:06 -08:00
Wataru Ishida 4db98b46e4 [build]: add build option to use native docker instead of dind for build (#2215)
using native docker is faster than dind dockerd with vfs storage driver

https://github.com/Azure/sonic-buildimage/pull/2016

https://github.com/Azure/draft/issues/181

Signed-off-by: Wataru Ishida <ishida@nel-america.com>
2018-11-01 18:00:00 -07:00
lguohan 9078377028
[build]: install debug symbols packages when INSTALL_DEBUG_TOOLS=y (#2175)
[build]: install debug symbols packages when INSTALL_DEBUG_TOOLS=y
2018-10-21 17:20:27 -07:00
lguohan a401ee7fa8
[build]: do not override ENABLE_SYNCD_RPC in rules/config (#2151)
Signed-off-by: Guohan Lu <gulv@microsoft.com>
2018-10-15 13:49:35 -07:00
lguohan 0a8e0c1238
[build]: generate build timestamp at the beginning and use it for the… (#2118)
* [build]: generate build timestamp at the beginning and use it for the rest of build

Signed-off-by: Guohan Lu <gulv@microsoft.com>
2018-10-04 21:20:01 -07:00
Ying Xie 5d23a43c4c [make file] add document for KEEP_SLAVE_ON with stretch builds (#2035)
* [make file] add document for KEEP_SLAVE_ON with stretch builds

Signed-off-by: Ying Xie <ying.xie@microsoft.com>

* Update Makefile.work
2018-09-12 00:23:00 -07:00
Joe LeVeque 35d93f0c3b [build] Remove sudo calls from build process (#2015)
* [build] Remove sudo calls from build process

* Make regex more strict
2018-09-04 22:32:46 -07:00
Ying Xie a8ccf589c9 [build]: Makefile: make new step "make stretch" optional (#1936)
* [makefile] Rename Makefile to Makefile.work

Signed-off-by: Ying Xie <ying.xie@microsoft.com>

* [makefile] Add new make file to avoid extra step

* avoiding calling "make stretch"

Signed-off-by: Ying Xie <ying.xie@microsoft.com>

* [makefile] allow skipping "make stretch"

Signed-off-by: Ying Xie <ying.xie@microsoft.com>

* [makefile] add all PHONY targets to pass through list

Signed-off-by: Ying Xie <ying.xie@microsoft.com>
2018-08-16 15:54:31 -07:00