Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

modify delta platform #22

Closed
wants to merge 137 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
137 commits
Select commit Hold shift + click to select a range
6ccd160
Modify Arista service ACL solution to listen to ACL changes in Config…
jleveque Feb 12, 2018
d844acc
[install.sh] Don't treat failure to install image with same version a…
jleveque Feb 12, 2018
02e0fad
[Platform] Accton as7712 32x support oom (#1327)
roylee123 Feb 13, 2018
46ec35d
[device] Add a new platform ly1200 for MiTAC (#1369)
stanepc1 Feb 13, 2018
8f52845
[p4]: add libsaithrift in p4 build (#1391)
lguohan Feb 13, 2018
971be65
[docker-base]: Upgrade supervisord to 3.3.3 and fix supervisord.conf …
nikos-github Feb 14, 2018
f6deaa2
[fast-reboot]: Dump default routes before fast-reboot procedure (#1392)
pavel-shirshov Feb 15, 2018
5576c11
New model as7312 54x (#1339)
roylee123 Feb 15, 2018
9959898
[device/dell] Get Server ports from vlan config (#1386)
vharish02 Feb 15, 2018
6399818
[doc]: add build note to use normal user account to do the make (#1393)
lguohan Feb 16, 2018
dc7abaf
[slave.mk] Apply patches to dockers before building, if any exist (#1…
jleveque Feb 16, 2018
d64658b
Update py-swsssdk and utilities submodule to support config qos (#1396)
taoyl-ms Feb 16, 2018
843dcd5
[doc] fix typo in README.buildsystem.md (#1399)
Feb 17, 2018
f657df7
[baseimage]: enable auto logout for console (ttyS*) sessions (#1398)
lguohan Feb 20, 2018
04b6944
[sonic-cfggen] Remove machine.conf info and add get_system_mac suppor…
taoyl-ms Feb 20, 2018
07853aa
[sub module] update sonic-utility sub-module (#1402)
yxieca Feb 21, 2018
9ce87f8
[Platform] Update switch configuration files for S9130-32X/S9230-64X …
kaiyu22 Feb 21, 2018
7d24417
[build]: install vim and rsyslog in sonic-slave (#1406)
lguohan Feb 21, 2018
a920e75
[sonic-py-swsssdk][sonic-dbsyncd] Update submodules in order to add a…
jleveque Feb 22, 2018
98bfaf2
[QUANTA]: Add psuutil support for IX1B (#1409)
jonathantsai-qci Feb 23, 2018
3ed2cd6
[Marvel] Marvell's updates for SAI v1.0 (#1410)
ziverlichson Feb 23, 2018
1989c43
[Arista7260cx3] Update port map to match production layout (#1411)
yxieca Feb 23, 2018
5a0e423
[baseimage]: Suppress sonic WARNING rsyslogd-2007: action 'action 6' …
nikos-github Feb 23, 2018
005a59f
[image]: Upgrade SONiC stack to use SAI version to v1.2 (#1336)
lguohan Feb 23, 2018
e18bffd
[s9230-64x] fix switch port led issue (#1413)
cytsai0409 Feb 23, 2018
ec537be
[Submodule update]: Update submodule sonic-utilities (#1407)
pavel-shirshov Feb 26, 2018
e171d1c
[sonic-swss-common] Update submodule (#1417)
jleveque Feb 26, 2018
43a9839
Error fix: The function can't have empty body in bash (#1420)
pavel-shirshov Feb 27, 2018
62d67e6
[submodule]: sonic-utilities submodule update (#1418)
pavel-shirshov Feb 27, 2018
ce07021
[submodule] update swss submodule (#1415)
yxieca Feb 27, 2018
59cbfc3
src/sonic-platform-daemons: Submodule bump (#1419)
zzhiyuan Feb 27, 2018
720c713
Improve: buffer configuration infrastructure (#1403)
yxieca Feb 27, 2018
652bc48
[Arista7260CX3] add port speed information to port_config.ini (#1412)
yxieca Feb 27, 2018
f5090d2
[device]: Add a new supported device AS7816-64X (#1426)
pollyhsu2git Feb 27, 2018
09b9bd8
[Delta ag9032v1]: Add attributes for cpupld and swpld. (#1422)
StanleyCi Feb 27, 2018
4cac329
[SAI] upgrade to Broadcom SAI 3.1.3.4-2 (#1427)
yxieca Feb 28, 2018
4f3a356
[Mellanox] Add sensors config for MSN2740 (#1432)
andriymoroz-mlnx Feb 28, 2018
c19daf2
[devices]: Change the alias name for ports on Celestica platforms (#1…
zhenggen-xu Feb 28, 2018
33d5a9c
Add qos.json for Arista-7050-QX-32S (#1388)
wendani Mar 1, 2018
837e964
[devices]: add the delta ag9064 platform (#1435)
Mar 1, 2018
9f1f95f
Fix LED activity behavior (#1436)
cpchangtw Mar 1, 2018
a0e68bf
Update sonic-utilities pointer (#1438)
taoyl-ms Mar 1, 2018
1e6576c
[devices]: Update qos and buffer configuration for Dell S6000 (#1441)
sihuihan88 Mar 2, 2018
571a18a
[Delta ag9032v1]Add attributes for cpupld and swpld. (#1437)
StanleyCi Mar 2, 2018
cbdcdcd
[submodule]: Update sonic-sairedis submodule pointer (#1446)
Mar 2, 2018
eaea792
[libnl3] Fix runtime dependencies for libnl-genl-3 and libnl-route-3 …
jleveque Mar 2, 2018
c689253
[LLDP] Add lldpmgrd Daemon to Manage LLDP Configuration (#1428)
jleveque Mar 3, 2018
a9d2e13
[image]: prevent password related command into syslog (#1450)
lguohan Mar 3, 2018
b9f4aa9
[bcm sai] upgrade to sai version 3.1.3.4-3 (#1451)
yxieca Mar 3, 2018
d9aa42e
[tacacs]: Obfuscate key before printing to syslog (#1453)
taoyl-ms Mar 3, 2018
09f2385
[hostcfgd/tacacs] obfuscate tacacs credentials in syslog (#1444)
taoyl-ms Mar 3, 2018
2b44942
[device/dell] Code supports New Buffer mgmt infra (#1449)
vharish02 Mar 3, 2018
20ab99b
[qos]: Apply ECN configuration on lossless queue for 7050-QX-32S and …
wendani Mar 3, 2018
126d08d
[devices]: Updating SFPUtil plugin for Acton AS7212 and Marvell SLM54…
ziverlichson Mar 5, 2018
4c1419c
[sonic-utilities]: update submodule (#1458)
sihuihan88 Mar 5, 2018
b2518c8
[swss/sairedis]: update submodules (#1459)
sihuihan88 Mar 6, 2018
7639cc1
[pfcwd]: add flag to enable pfc wd on start (#1429)
sihuihan88 Mar 6, 2018
f250fe7
[minigraph.py] Convert ipv6 addresses into lower case parsing cpg (#1…
taoyl-ms Mar 6, 2018
763461e
[devices]: As7816 64x validate sfputil psuutil (#1466)
roylee123 Mar 7, 2018
ef68384
[devices]: A7050 qx32 mmuconfig (#1463)
wendani Mar 7, 2018
667ca32
[device]: add platform_reboot for dell s6000 (#1465)
lguohan Mar 7, 2018
e18e15f
[Aboot] refactor boot0.j2 for Aboot bootloader (#1445)
Staphylo Mar 7, 2018
c161de4
[lldpmgrd] Fix potential race condition when interfaces are created (…
jleveque Mar 8, 2018
e4a02cb
[SAI] upgrade to Broadcom SAI 3.1.3.4-4 (#1475)
yxieca Mar 8, 2018
2d4c8a2
[Platform] Update switch config files for Ingrasys platforms. (#1474)
wadelnn Mar 8, 2018
02b62ac
[fast-reboot]: Support OS9 -> SONiC fast-reboot migration (#1414)
padmanarayana Mar 9, 2018
4141872
[isc-dhcp] Add patch to fix bug which caused log messages to also pri…
jleveque Mar 9, 2018
16f81af
[devices]: Add as7716-32xb device code (#1472)
jostar-yang Mar 9, 2018
e84e093
Move all minigraph-related action from rc.local to updategraph (#1452)
taoyl-ms Mar 10, 2018
e6278c1
[radv] Rename service unit file Jinja template to radv.service.j2 (#1…
jleveque Mar 10, 2018
913a62c
[configdb]: Sorting all json config-elements residing in config_db.js…
rodnymolina Mar 10, 2018
f88734b
Fix sfp cli commands (#1482)
Mar 12, 2018
1f4ce09
Buffers config (#1476)
wendani Mar 12, 2018
75c6f19
[docker] Refine docker tag for build number (#1484)
qiluo-msft Mar 12, 2018
6839e70
Update sonic-quagga submodule. Fix IPv6 ECMP behavior (#1490)
pavel-shirshov Mar 13, 2018
243a87d
[devices]: remove Dell S6100 qos config via swssconfig (#1483)
sihuihan88 Mar 13, 2018
6194a81
[device/dell] Workaround for sai.profile (#1491)
vharish02 Mar 14, 2018
9065e09
[baseimage] Added net.core.wmem_max value required by Copp test (#1489)
Mar 14, 2018
dd48995
[submodule]: update sonic linux kernel (#1495)
lguohan Mar 14, 2018
2beb78f
[Nephos] Upgrade SAI to v1.2.3 (#1494)
kaiyu22 Mar 14, 2018
aa845b7
[submodules]: Update sonic-swss pointer (#1498)
Mar 14, 2018
33252a4
[devices]: As7312 54x add sfp rest and fan policy (#1464)
roylee123 Mar 14, 2018
f306dd3
[BCM SAI] update Broadcom SDK and SAI (#1485)
yxieca Mar 14, 2018
3bb24a9
[debian]: Add fstrim service files to systemd (#1500)
padmanarayana Mar 15, 2018
23e7981
[platform]: Update sonic-platform-modules-dell submodule (#1502)
Mar 15, 2018
f00bac7
[submodule]: Update sonic-sairedis submodule (#1501)
pavel-shirshov Mar 15, 2018
871161e
[build_debian]: Add quote to specify values as string (#1503)
Mar 16, 2018
ad5f871
[devices]: Consolidate to one egress lossless buffer configuration (#…
wendani Mar 16, 2018
066137e
[swss]:update swss submodule (#1499)
sihuihan88 Mar 17, 2018
e1cb2ac
[base image files] All 'docker exec' wrapper scripts now dynamically …
jleveque Mar 17, 2018
de5e533
[mmu]: reduce headroom size and remove queue min for lossless traffic…
wendani Mar 17, 2018
93f38de
[devices]: modify platform-modules-ag9064.init (#1504)
JohnsonYJLu Mar 17, 2018
15cd34f
[installer]: support new onie machine.conf format (#1468)
lguohan Mar 18, 2018
3ba84ec
[SAI]: Update sonic to use SAI v1.2.4 (#1509)
lguohan Mar 18, 2018
5034d69
[doc]: add build badge for 201712 release (#1510)
lguohan Mar 18, 2018
56efb41
[image]: remove quote for build_version in /etc/sonic/sonic_version.y…
lguohan Mar 19, 2018
7eb6c1f
[baseimage]: update base image from jessie to stretch
lguohan Sep 5, 2017
267a4fc
[baseimage]: use debian 4.9.0-3 kernel
lguohan Sep 1, 2017
b1bbe66
[baseimage]: upgrade initramfs to 0.130
lguohan Sep 1, 2017
57b91d9
[baseimage]: install systemd-sysv in the base image
lguohan Sep 2, 2017
ced686e
[baseimage]: build root filesystem via overlay fs instead of aufs
lguohan Sep 2, 2017
f50d0da
[baseimage]: Disable consistent network device naming
lguohan Sep 3, 2017
bccfc14
[baseimage]: let docker in base image use overlay fs instead of aufs
lguohan Sep 5, 2017
69a5c4c
[baseimage]: update igb driver to 5.3.5.10
lguohan Sep 3, 2017
0bf623f
[libnl]: upgrade libnl3 from 3.2.27-1 to 3.2.27-2
lguohan Sep 3, 2017
2bbb647
[docker-syncd]: install kmod in docker-syncd-brcm without prompt
lguohan Sep 5, 2017
0698812
[sonic-slave]: add deps for build initramfs 0.130
lguohan Sep 9, 2017
d699de4
[build]: insert overlay kmod for base image build
lguohan Sep 13, 2017
2ce68db
[build]: build stretch-based sonic slave docker
lguohan Sep 23, 2017
0fc94da
[build]: sonic-slave-stretch- sha both Dockerfile and Dockerfile.user
lguohan Sep 26, 2017
9811e8f
[opennsl]: use opennsl kernel module based on kernel 4.9.0-3
lguohan Sep 5, 2017
e19ca3f
[temp]: disable building platform drivers tempoerarily
lguohan Sep 3, 2017
157d7b2
[kernel]: fix linux-headers common deb file name
lguohan Nov 6, 2017
d21a506
update build instructions
lguohan Nov 6, 2017
cfdb1e3
[kernel]: update kernel submodule and remove standalone igb driver
lguohan Dec 6, 2017
764ef9c
[baseimage]: install acl package
lguohan Dec 11, 2017
2a1d61a
[baseimage]: install tacacs dependencies
lguohan Dec 11, 2017
7cfba1d
[Mellanox]: Upgrade MFT package to 4.8.26 (#3)
marian-pritsak Dec 27, 2017
1e89b68
[Mellanox]: Update recipe for hw-management (#4)
marian-pritsak Dec 30, 2017
6f1f773
[platform]: enable platform driver for dell s6000 (#5)
lguohan Jan 3, 2018
9cf6ae2
[kernel]: upgrade linux kernel to 4.9.0-5 (4.9.65-3+deb9u2) (#8)
lguohan Jan 10, 2018
fbb5604
[ixgbe]: compile and install ixgbe to 4.9.0-5 kernel
lguohan Jan 10, 2018
7969d25
[mellanox]: Use KVERSION variable in mft recipe (#11)
marian-pritsak Jan 25, 2018
924416c
[mellanox]: Adapt to new hw-management package (#12)
marian-pritsak Jan 26, 2018
d753941
[devices]: enable platform modules for various platforms
lguohan Feb 12, 2018
3b4033f
[dell]: update to stretch-kernel based dell modules
lguohan Feb 13, 2018
c121973
[platform]: incorporate sonic-platform-modules-cel into sonic buildim…
lguohan Feb 16, 2018
bc0521f
[devices]: enable sonic-platform-modules-cel
lguohan Feb 16, 2018
2999dcf
[celestica] change to use lm75 standard driver (#19)
pwisutti Feb 28, 2018
ffd3797
[Delta]: Modify delta-ag9032v1 driver for kernel 4.9 (#20)
nealtai Mar 1, 2018
7ddba28
[build]: add stretch target to build in stretch docker
lguohan Mar 1, 2018
b1c7b37
[build]: build initramfs, libwrap, tacacs packages under stretch docker
lguohan Mar 1, 2018
76527ad
[broadcom]: update opennsl module to 3.4.1.11-1
lguohan Mar 3, 2018
08f7f71
[bug fix]: fix delta ag9032v1 driver compilation. disable ag9064
lguohan Mar 3, 2018
7fe9f28
[baseimage]: move update initramfs to later stage
lguohan Mar 5, 2018
8a7c56e
[kernel]: update sonic linux kernel
lguohan Mar 20, 2018
95f2c33
1. add the new platform ag9064
hanstseng Mar 23, 2018
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,9 @@ src/libnl3/*
!src/libnl3/Makefile
src/libteam/*
!src/libteam/Makefile
src/lldpd/*
!src/lldpd/Makefile
!src/lldpd/patch/
src/mpdecimal/*
!src/mpdecimal/Makefile
src/python3/*
Expand Down
22 changes: 12 additions & 10 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,8 @@
url = https://github.com/Azure/sonic-swss-common
[submodule "sonic-linux-kernel"]
path = src/sonic-linux-kernel
url = https://github.com/Azure/sonic-linux-kernel
url = https://github.com/lguohan/sonic-linux-kernel
branch = stretch
[submodule "sonic-sairedis"]
path = src/sonic-sairedis
url = https://github.com/Azure/sonic-sairedis
Expand All @@ -26,9 +27,6 @@
[submodule "src/sonic-py-swsssdk"]
path = src/sonic-py-swsssdk
url = https://github.com/Azure/sonic-py-swsssdk.git
[submodule "src/lldpd"]
path = src/lldpd
url = https://github.com/vincentbernat/lldpd.git
[submodule "src/sonic-snmpagent"]
path = src/sonic-snmpagent
url = https://github.com/Azure/sonic-snmpagent
Expand All @@ -40,13 +38,15 @@
url = https://github.com/Azure/sonic-utilities
[submodule "platform/broadcom/sonic-platform-modules-s6000"]
path = platform/broadcom/sonic-platform-modules-s6000
url = https://github.com/Azure/sonic-platform-modules-s6000
url = https://github.com/lguohan/sonic-platform-modules-s6000
branch = stretch
[submodule "platform/broadcom/sonic-platform-modules-arista"]
path = platform/broadcom/sonic-platform-modules-arista
url = https://github.com/aristanetworks/sonic
[submodule "platform/broadcom/sonic-platform-modules-dell"]
path = platform/broadcom/sonic-platform-modules-dell
url = https://github.com/Azure/sonic-platform-modules-dell
url = https://github.com/lguohan/sonic-platform-modules-dell
branch = stretch
[submodule "platform/broadcom/sonic-platform-modules-ingrasys"]
path = platform/broadcom/sonic-platform-modules-ingrasys
url = https://github.com/Ingrasys-sonic/sonic-platform-modules-ingrasys
Expand All @@ -59,9 +59,6 @@
[submodule "platform/broadcom/sonic-platform-modules-accton"]
path = platform/broadcom/sonic-platform-modules-accton
url = https://github.com/edge-core/sonic-platform-modules-accton.git
[submodule "platform/broadcom/sonic-platform-modules-cel"]
path = platform/broadcom/sonic-platform-modules-cel
url = https://github.com/celestica-Inc/sonic-platform-modules-cel.git
[submodule "src/sonic-frr/frr"]
path = src/sonic-frr/frr
url = https://github.com/FRRouting/frr.git
Expand All @@ -77,4 +74,9 @@
[submodule "platform/broadcom/sonic-platform-modules-quanta"]
path = platform/broadcom/sonic-platform-modules-quanta
url = https://github.com/QuantaSwitchONIE/sonic-platform-modules-quanta.git

[submodule "platform/broadcom/sonic-platform-modules-mitac"]
path = platform/broadcom/sonic-platform-modules-mitac
url = https://github.com/MiTAC-EBU/sonic-platform-modules-mitac.git
[submodule "platform/mellanox/hw-management"]
path = platform/mellanox/hw-management
url = https://github.com/Mellanox/hw-mgmt/
21 changes: 18 additions & 3 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@
# * ENABLE_DHCP_GRAPH_SERVICE: Enables get-graph service to fetch minigraph files
# through http.
# * SHUTDOWN_BGP_ON_START: Sets admin-down state for all bgp peerings after restart.
# * ENABLE_PFCWD_ON_START: Enable PFC Watchdog (PFCWD) on server-facing ports
# * by default for TOR switch.
# * SONIC_ENABLE_SYNCD_RPC: Enables rpc-based syncd builds.
# * USERNAME: Desired username -- default at rules/config
# * PASSWORD: Desired password -- default at rules/config
Expand All @@ -27,11 +29,21 @@ $(shell rm -f .screen)

MAKEFLAGS += -B

ifeq ($(BLDENV), stretch)
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_BASE_IMAGE = sonic-slave-stretch-base
SLAVE_IMAGE = sonic-slave-stretch-$(USER)
SLAVE_DIR = sonic-slave-stretch
else
SLAVE_BASE_TAG = $(shell sha1sum sonic-slave/Dockerfile | awk '{print substr($$1,0,11);}')
SLAVE_TAG = $(shell cat sonic-slave/Dockerfile.user sonic-slave/Dockerfile | sha1sum | awk '{print substr($$1,0,11);}')
SLAVE_BASE_IMAGE = sonic-slave-base
SLAVE_IMAGE = sonic-slave-$(USER)
SLAVE_DIR = sonic-slave
endif

INSMOD_OVERLAY := sudo modprobe overlay
DOCKER_RUN := docker run --rm=true --privileged \
-v $(PWD):/sonic \
-w /sonic \
Expand All @@ -43,7 +55,7 @@ DOCKER_BASE_BUILD = docker build --no-cache \
-t $(SLAVE_BASE_IMAGE) \
--build-arg http_proxy=$(http_proxy) \
--build-arg https_proxy=$(https_proxy) \
sonic-slave && \
$(SLAVE_DIR) && \
docker tag $(SLAVE_BASE_IMAGE):latest $(SLAVE_BASE_IMAGE):$(SLAVE_BASE_TAG)

DOCKER_BUILD = docker build --no-cache \
Expand All @@ -52,8 +64,8 @@ DOCKER_BUILD = docker build --no-cache \
--build-arg guid=$(shell id -g) \
--build-arg hostname=$(shell echo $$HOSTNAME) \
-t $(SLAVE_IMAGE) \
-f sonic-slave/Dockerfile.user \
sonic-slave && \
-f $(SLAVE_DIR)/Dockerfile.user \
$(SLAVE_DIR) && \
docker tag $(SLAVE_IMAGE):latest $(SLAVE_IMAGE):$(SLAVE_TAG)

SONIC_BUILD_INSTRUCTION := make \
Expand All @@ -62,6 +74,7 @@ SONIC_BUILD_INSTRUCTION := make \
BUILD_NUMBER=$(BUILD_NUMBER) \
ENABLE_DHCP_GRAPH_SERVICE=$(ENABLE_DHCP_GRAPH_SERVICE) \
SHUTDOWN_BGP_ON_START=$(SHUTDOWN_BGP_ON_START) \
SONIC_ENABLE_PFCWD_ON_START=$(ENABLE_PFCWD_ON_START) \
ENABLE_SYNCD_RPC=$(ENABLE_SYNCD_RPC) \
PASSWORD=$(PASSWORD) \
USERNAME=$(USERNAME) \
Expand All @@ -80,6 +93,7 @@ SONIC_BUILD_INSTRUCTION := make \
@docker inspect --type image $(SLAVE_IMAGE):$(SLAVE_TAG) &> /dev/null || \
{ echo Image $(SLAVE_IMAGE):$(SLAVE_TAG) not found. Building... ; \
$(DOCKER_BUILD) ; }
@$(INSMOD_OVERLAY)
ifeq "$(KEEP_SLAVE_ON)" "yes"
ifdef SOURCE_FOLDER
@$(DOCKER_RUN) -v $(SOURCE_FOLDER):/var/src $(SLAVE_IMAGE):$(SLAVE_TAG) bash -c "$(SONIC_BUILD_INSTRUCTION) $@; /bin/bash"
Expand All @@ -101,6 +115,7 @@ sonic-slave-bash :
@docker inspect --type image $(SLAVE_IMAGE):$(SLAVE_TAG) &> /dev/null || \
{ echo Image $(SLAVE_IMAGE):$(SLAVE_TAG) not found. Building... ; \
$(DOCKER_BUILD) ; }
@$(INSMOD_OVERLAY)
@$(DOCKER_RUN) -t $(SLAVE_IMAGE):$(SLAVE_TAG) bash

init :
Expand Down
8 changes: 4 additions & 4 deletions README.buildsystem.md
Original file line number Diff line number Diff line change
Expand Up @@ -60,13 +60,13 @@ and directories with more complcated components, that provide their own Makefile
Every **platform/[VENDOR]/** directory is a derived part of buildimage frontend, that defines rules and targets for a concrete vendor.

### Build output
**target/** is basically a build output. You can find all biuld artifacts there.
**target/** is basically a build output. You can find all build artifacts there.

## Recipes and target groups
Now let's go over a definition of recipes and target groups.
**Recipe** is a small makefile that defines a target and set of variables for building it.
If you want to add a new target to buildimage (.deb package or docker image), you have to create a recipe for this target.
**Target group** is a set of targets that are built according to the same rulels.
**Target group** is a set of targets that are built according to the same rules.
Every recipe sets a target group to which this target belongs.

### Recipe example
Expand Down Expand Up @@ -119,7 +119,7 @@ SONIC_PYTHON_STDEB_DEBS += $(SOME_NEW_DEB) # add package to this target group

**SONIC_MAKE_DEBS**
This is a bit more flexible case.
If you have to do some specific type of build or apply pathes prior to build, just define your owm Makefile and add it to buildomage.
If you have to do some specific type of build or apply pathes prior to build, just define your own Makefile and add it to buildimage.
Define:
```make
SOME_NEW_DEB = some_new_deb.deb # name of your package
Expand Down Expand Up @@ -194,7 +194,7 @@ Although every target is built inside a sonic-slave container, which exits at th
```
$ make sonic-slave-bash
```
It is very useful for debugging when you add a new target and facing some trubles.
It is very useful for debugging when you add a new target and facing some troubles.

sonic-slave environment is built only once, but if sonic-slave/Dockerfile was updated, you can rebuild it with this command:
```
Expand Down
22 changes: 15 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,20 @@ Nephos: [![Nephos](https://sonic-jenkins.westus2.cloudapp.azure.com/job/nephos/j
P4: [![P4](https://sonic-jenkins.westus2.cloudapp.azure.com/job/p4/job/buildimage-p4-all/badge/icon)](https://sonic-jenkins.westus2.cloudapp.azure.com/job/p4/job/buildimage-p4-all)
VS: [![VS](https://sonic-jenkins.westus2.cloudapp.azure.com/job/vs/job/buildimage-vs-all/badge/icon)](https://sonic-jenkins.westus2.cloudapp.azure.com/job/vs/job/buildimage-vs-all)

*201712*:
Broadcom: [![Broadcom](https://sonic-jenkins.westus2.cloudapp.azure.com/job/broadcom/job/buildimage-brcm-201712/badge/icon)](https://sonic-jenkins.westus2.cloudapp.azure.com/job/broadcom/job/buildimage-brcm-201712/)
Barefoot: [![Mellanox](https://sonic-jenkins.westus2.cloudapp.azure.com/job/barefoot/job/buildimage-bf-201712/badge/icon)](https://sonic-jenkins.westus2.cloudapp.azure.com/job/barefoot/job/buildimage-bf-201712/)
Centec: [![Centec](https://sonic-jenkins.westus2.cloudapp.azure.com/job/centec/job/buildimage-centec-201712/badge/icon)](https://sonic-jenkins.westus2.cloudapp.azure.com/job/centec/job/buildimage-centec-201712/)
Nephos: [![Nephos](https://sonic-jenkins.westus2.cloudapp.azure.com/job/nephos/job/buildimage-nephos-201712/badge/icon)](https://sonic-jenkins.westus2.cloudapp.azure.com/job/nephos/job/buildimage-nephos-201712/)
Marvell: [![Marvell](https://sonic-jenkins.westus2.cloudapp.azure.com/job/marvell/job/buildimage-mrvl-201712/badge/icon)](https://sonic-jenkins.westus2.cloudapp.azure.com/job/marvell/job/buildimage-mrvl-201712/)
Mellanox: [![Mellanox](https://sonic-jenkins.westus2.cloudapp.azure.com/job/mellanox/job/buildimage-mlnx-201712/badge/icon)](https://sonic-jenkins.westus2.cloudapp.azure.com/job/mellanox/job/buildimage-mlnx-201712/)

*201709*:
Broadcom: [![Broadcom](https://sonic-jenkins.westus2.cloudapp.azure.com/job/broadcom/job/buildimage-brcm-201709/badge/icon)](https://sonic-jenkins.westus2.cloudapp.azure.com/job/broadcom/job/buildimage-brcm-201709/)
Cavium: [![Cavium](https://sonic-jenkins.westus2.cloudapp.azure.com/job/cavium/job/buildimage-cavm-all/badge/icon)](https://sonic-jenkins.westus2.cloudapp.azure.com/job/cavium/job/buildimage-cavm-all/)
Centec: [![Centec](https://sonic-jenkins.westus2.cloudapp.azure.com/job/centec/job/buildimage-centec-all/badge/icon)](https://sonic-jenkins.westus2.cloudapp.azure.com/job/centec/job/buildimage-centec-all/)
Cavium: [![Cavium](https://sonic-jenkins.westus2.cloudapp.azure.com/job/cavium/job/buildimage-cavm-201709/badge/icon)](https://sonic-jenkins.westus2.cloudapp.azure.com/job/cavium/job/buildimage-cavm-201709/)
Centec: [![Centec](https://sonic-jenkins.westus2.cloudapp.azure.com/job/centec/job/buildimage-centec-201709/badge/icon)](https://sonic-jenkins.westus2.cloudapp.azure.com/job/centec/job/buildimage-centec-201709/)
Nephos: [![Nephos](https://sonic-jenkins.westus2.cloudapp.azure.com/job/nephos/job/buildimage-nephos-201709/badge/icon)](https://sonic-jenkins.westus2.cloudapp.azure.com/job/nephos/job/buildimage-nephos-201709/)
Marvell: [![Marvell](https://sonic-jenkins.westus2.cloudapp.azure.com/job/marvell/job/buildimage-mrvl-all/badge/icon)](https://sonic-jenkins.westus2.cloudapp.azure.com/job/marvell/job/buildimage-mrvl-all/)
Marvell: [![Marvell](https://sonic-jenkins.westus2.cloudapp.azure.com/job/marvell/job/buildimage-mrvl-201709/badge/icon)](https://sonic-jenkins.westus2.cloudapp.azure.com/job/marvell/job/buildimage-mrvl-201709/)
Mellanox: [![Mellanox](https://sonic-jenkins.westus2.cloudapp.azure.com/job/mellanox/job/buildimage-mlnx-201709/badge/icon)](https://sonic-jenkins.westus2.cloudapp.azure.com/job/mellanox/job/buildimage-mlnx-201709/)

# sonic-buildimage
Expand Down Expand Up @@ -52,8 +60,9 @@ To build SONiC installer image and docker images, run the following commands:

**NOTE**:

- We recommend reserving 50G free space to build one platform.
- Use ```http_proxy=[your_proxy] https_proxy=[your_proxy] make``` to enable http(s) proxy in the build process.
- Recommend reserving 50G free space to build one platform.
- Use `http_proxy=[your_proxy] https_proxy=[your_proxy] make` to enable http(s) proxy in the build process.
- Add your user account to `docker` group and use your user account to make. `root` or `sudo` are not supported.

The SONiC installer contains all docker images needed. SONiC uses one image for all devices of a same ASIC vendor. The supported ASIC vendors are:

Expand All @@ -69,10 +78,9 @@ The SONiC installer contains all docker images needed. SONiC uses one image for
For Broadcom ASIC, we build ONIE and EOS image. EOS image is used for Arista devices, ONIE image is used for all other Broadcom ASIC based devices.

make configure PLATFORM=broadcom
BLDENV=stretch make stretch
# build ONIE image
make target/sonic-broadcom.bin
# build EOS image
make target/sonic-aboot-broadcom.swi

You may find the rules/config file useful. It contains configuration options for the build process, like adding more verbosity or showing dependencies, username and password for base image etc.

Expand Down
42 changes: 27 additions & 15 deletions build_debian.sh
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,8 @@ PASSWORD_ENCRYPTED=$2
set -x -e

## docker engine version (with platform)
DOCKER_VERSION=1.11.1-0~jessie_amd64
DOCKER_VERSION=1.11.1-0~stretch_amd64
LINUX_KERNEL_VERSION=4.9.0-5

## Working directory to prepare the file system
FILESYSTEM_ROOT=./fsroot
Expand Down Expand Up @@ -68,7 +69,7 @@ touch $FILESYSTEM_ROOT/$PLATFORM_DIR/firsttime

## Build a basic Debian system by debootstrap
echo '[INFO] Debootstrap...'
sudo http_proxy=$http_proxy debootstrap --variant=minbase --arch amd64 jessie $FILESYSTEM_ROOT http://debian-archive.trafficmanager.net/debian
sudo http_proxy=$http_proxy debootstrap --variant=minbase --arch amd64 stretch $FILESYSTEM_ROOT http://debian-archive.trafficmanager.net/debian

## 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"
Expand Down Expand Up @@ -98,7 +99,7 @@ sudo LANG=C chroot $FILESYSTEM_ROOT bash -c 'apt-mark auto `apt-mark showmanual`
sudo LANG=C chroot $FILESYSTEM_ROOT apt-get -y update
sudo LANG=C chroot $FILESYSTEM_ROOT apt-get -y upgrade
echo '[INFO] Install packages for building image'
sudo LANG=C chroot $FILESYSTEM_ROOT apt-get -y install makedev psmisc
sudo LANG=C chroot $FILESYSTEM_ROOT apt-get -y install makedev psmisc systemd-sysv

## Create device files
echo '[INFO] MAKEDEV'
Expand All @@ -112,12 +113,15 @@ sudo LANG=C chroot $FILESYSTEM_ROOT /bin/bash -c 'cd /dev && MAKEDEV generic'
sudo LANG=C chroot $FILESYSTEM_ROOT apt-get -y install busybox
echo '[INFO] Install SONiC linux kernel image'
## Note: duplicate apt-get command to ensure every line return zero
sudo dpkg --root=$FILESYSTEM_ROOT -i target/debs/initramfs-tools-core_*.deb || \
sudo LANG=C DEBIAN_FRONTEND=noninteractive chroot $FILESYSTEM_ROOT apt-get -y install -f
sudo dpkg --root=$FILESYSTEM_ROOT -i target/debs/initramfs-tools_*.deb || \
sudo LANG=C DEBIAN_FRONTEND=noninteractive chroot $FILESYSTEM_ROOT apt-get -y install -f
sudo dpkg --root=$FILESYSTEM_ROOT -i target/debs/linux-image-3.16.0-5-amd64_*.deb || \
sudo dpkg --root=$FILESYSTEM_ROOT -i target/debs/linux-image-${LINUX_KERNEL_VERSION}-amd64_*.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 acl

## Update initramfs for booting with squashfs+aufs
## Update initramfs for booting with squashfs+overlay
cat files/initramfs-tools/modules | sudo tee -a $FILESYSTEM_ROOT/etc/initramfs-tools/modules > /dev/null

## Hook into initramfs: change fs type from vfat to ext4 on arista switches
Expand All @@ -144,15 +148,15 @@ sudo cp files/initramfs-tools/union-mount $FILESYSTEM_ROOT/etc/initramfs-tools/s
sudo chmod +x $FILESYSTEM_ROOT/etc/initramfs-tools/scripts/init-bottom/union-mount
sudo cp files/initramfs-tools/varlog $FILESYSTEM_ROOT/etc/initramfs-tools/scripts/init-bottom/varlog
sudo chmod +x $FILESYSTEM_ROOT/etc/initramfs-tools/scripts/init-bottom/varlog
# Management interface (eth0) dhcp can be optionally turned off (during a migration from another NOS to SONiC)
sudo cp files/initramfs-tools/mgmt-intf-dhcp $FILESYSTEM_ROOT/etc/initramfs-tools/scripts/init-bottom/mgmt-intf-dhcp
sudo chmod +x $FILESYSTEM_ROOT/etc/initramfs-tools/scripts/init-bottom/mgmt-intf-dhcp
sudo cp files/initramfs-tools/union-fsck $FILESYSTEM_ROOT/etc/initramfs-tools/hooks/union-fsck
sudo chmod +x $FILESYSTEM_ROOT/etc/initramfs-tools/hooks/union-fsck
sudo chroot $FILESYSTEM_ROOT update-initramfs -u

## Install latest intel igb driver
sudo cp target/debs/igb.ko $FILESYSTEM_ROOT/lib/modules/3.16.0-5-amd64/kernel/drivers/net/ethernet/intel/igb/igb.ko
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
sudo cp target/debs/ixgbe.ko $FILESYSTEM_ROOT/lib/modules/3.16.0-5-amd64/kernel/drivers/net/ethernet/intel/ixgbe/ixgbe.ko
sudo cp target/debs/ixgbe.ko $FILESYSTEM_ROOT/lib/modules/${LINUX_KERNEL_VERSION}-amd64/kernel/drivers/net/ethernet/intel/ixgbe/ixgbe.ko

## Install docker
echo '[INFO] Install docker'
Expand Down Expand Up @@ -221,7 +225,8 @@ sudo LANG=C DEBIAN_FRONTEND=noninteractive chroot $FILESYSTEM_ROOT apt-get -y in
unzip \
gdisk \
sysfsutils \
grub2-common
grub2-common \
ethtool

sudo LANG=C DEBIAN_FRONTEND=noninteractive chroot $FILESYSTEM_ROOT apt-get -y download \
grub-pc-bin
Expand All @@ -243,6 +248,9 @@ sudo augtool --autosave "set /files/etc/ssh/sshd_config/UseDNS no" -r $FILESYSTE
sudo sed -i 's/^ListenAddress ::/#ListenAddress ::/' $FILESYSTEM_ROOT/etc/ssh/sshd_config
sudo sed -i 's/^#ListenAddress 0.0.0.0/ListenAddress 0.0.0.0/' $FILESYSTEM_ROOT/etc/ssh/sshd_config

## Copy fstrim service
sudo cp $FILESYSTEM_ROOT/usr/share/doc/util-linux/examples/fstrim.{service,timer} $FILESYSTEM_ROOT/etc/systemd/system

## Config monit
sudo sed -i '
s/^# set logfile syslog/set logfile syslog/;
Expand All @@ -256,7 +264,7 @@ sudo sed -i '
' $FILESYSTEM_ROOT/etc/monit/monitrc

sudo tee -a $FILESYSTEM_ROOT/etc/monit/monitrc > /dev/null <<'EOF'
check filesystem root-aufs with path /
check filesystem root-overlay with path /
if space usage > 90% for 5 times within 10 cycles then alert
check system $HOST
if memory usage > 90% for 5 times within 10 cycles then alert
Expand Down Expand Up @@ -300,6 +308,7 @@ set /files/etc/sysctl.conf/net.ipv6.conf.all.accept_dad 0
set /files/etc/sysctl.conf/net.ipv6.conf.eth0.accept_ra_defrtr 0

set /files/etc/sysctl.conf/net.core.rmem_max 2097152
set /files/etc/sysctl.conf/net.core.wmem_max 2097152
" -r $FILESYSTEM_ROOT

## docker-py is needed by Ansible docker module
Expand Down Expand Up @@ -327,11 +336,11 @@ sudo cp files/dhcp/dhclient.conf $FILESYSTEM_ROOT/etc/dhcp/
## Version file
sudo mkdir -p $FILESYSTEM_ROOT/etc/sonic
sudo tee $FILESYSTEM_ROOT/etc/sonic/sonic_version.yml > /dev/null <<EOF
build_version: $(sonic_get_version)
build_version: '$(sonic_get_version)'
debian_version: '$(cat $FILESYSTEM_ROOT/etc/debian_version)'
kernel_version: $kversion
kernel_version: '$kversion'
asic_type: $sonic_asic_platform
commit_id: $(git rev-parse --short HEAD)
commit_id: '$(git rev-parse --short HEAD)'
build_date: $(date -u)
build_number: ${BUILD_NUMBER:-0}
built_by: $USER@$BUILD_HOSTNAME
Expand All @@ -349,6 +358,9 @@ if [ "${enable_organization_extensions}" = "y" ]; then
fi
fi

## Update initramfs
sudo chroot $FILESYSTEM_ROOT update-initramfs -u

## Clean up apt
sudo LANG=C chroot $FILESYSTEM_ROOT apt-get autoremove
sudo LANG=C chroot $FILESYSTEM_ROOT apt-get autoclean
Expand Down
Loading