Skip to content

Commit f8eb5b0

Browse files
authored
Flashrom refactoring for broadcom platforms (sonic-net#7693)
#### Why I did it - To build flashrom properly with dependency tracking. #### How I did it - Moved flashrom code from platform/broadcom/sonic-platform-modules-dell/tools directory to src/flashrom directory. - At the end, flashrom_0.9.7_amd64.deb package is build which will be installed in the devices. - Currently flashrom builds only for Dell S6100 platforms.
1 parent 3ad830e commit f8eb5b0

15 files changed

+139
-15
lines changed

build_debian.sh

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -325,7 +325,6 @@ sudo LANG=C DEBIAN_FRONTEND=noninteractive chroot $FILESYSTEM_ROOT apt-get -y in
325325
if [[ $CONFIGURED_ARCH == amd64 ]]; then
326326
## Pre-install the fundamental packages for amd64 (x86)
327327
sudo LANG=C DEBIAN_FRONTEND=noninteractive chroot $FILESYSTEM_ROOT apt-get -y install \
328-
flashrom \
329328
rasdaemon
330329
fi
331330

files/build_templates/sonic_debian_extension.j2

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -350,6 +350,11 @@ sudo chmod 755 $FILESYSTEM_ROOT/usr/bin/restart_service
350350
# Install custom-built openssh sshd
351351
sudo dpkg --root=$FILESYSTEM_ROOT -i $debs_path/openssh-server_*.deb
352352

353+
{% if sonic_asic_platform == 'broadcom' %}
354+
# Install custom-built flashrom
355+
sudo dpkg --root=$FILESYSTEM_ROOT -i $debs_path/flashrom_*.deb
356+
{% endif %}
357+
353358
# Copy crontabs
354359
sudo cp -f $IMAGE_CONFIGS/cron.d/* $FILESYSTEM_ROOT/etc/cron.d/
355360

platform/broadcom/one-aboot.mk

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ $(SONIC_ONE_ABOOT_IMAGE)_DEPENDENT_MACHINE = broadcom-dnx
66
$(SONIC_ONE_ABOOT_IMAGE)_IMAGE_TYPE = aboot
77
$(SONIC_ONE_ABOOT_IMAGE)_INSTALLS += $(ARISTA_PLATFORM_MODULE_DRIVERS) $(ARISTA_PLATFORM_MODULE_PYTHON2) $(ARISTA_PLATFORM_MODULE_PYTHON3) $(ARISTA_PLATFORM_MODULE)
88
$(SONIC_ONE_ABOOT_IMAGE)_INSTALLS += $(PHY_CREDO)
9+
$(SONIC_ONE_ABOOT_IMAGE)_INSTALLS += $(FLASHROM)
910
$(SONIC_ONE_ABOOT_IMAGE)_INSTALLS += $(SYSTEMD_SONIC_GENERATOR)
1011
$(SONIC_ONE_ABOOT_IMAGE)_LAZY_BUILD_INSTALLS = $(BRCM_OPENNSL_KERNEL) $(BRCM_DNX_OPENNSL_KERNEL)
1112
ifeq ($(INSTALL_DEBUG_TOOLS),y)

platform/broadcom/one-image.mk

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ $(SONIC_ONE_IMAGE)_DEPENDENT_MACHINE = broadcom-dnx
66
$(SONIC_ONE_IMAGE)_IMAGE_TYPE = onie
77
$(SONIC_ONE_IMAGE)_INSTALLS += $(PDDF_PLATFORM_MODULE)
88
$(SONIC_ONE_IMAGE)_INSTALLS += $(SYSTEMD_SONIC_GENERATOR)
9+
$(SONIC_ONE_IMAGE)_INSTALLS += $(FLASHROM)
910
$(SONIC_ONE_IMAGE)_LAZY_INSTALLS += $(DELL_S6000_PLATFORM_MODULE) \
1011
$(DELL_Z9264F_PLATFORM_MODULE) \
1112
$(DELL_S5232F_PLATFORM_MODULE) \

platform/broadcom/platform-modules-dell.mk

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,3 @@ $(eval $(call add_extra_package,$(DELL_Z9100_PLATFORM_MODULE),$(DELL_S5248F_PLAT
5252
DELL_S5296F_PLATFORM_MODULE = platform-modules-s5296f_$(DELL_S5296F_PLATFORM_MODULE_VERSION)_amd64.deb
5353
$(DELL_S5296F_PLATFORM_MODULE)_PLATFORM = x86_64-dellemc_s5296f_c3538-r0
5454
$(eval $(call add_extra_package,$(DELL_Z9100_PLATFORM_MODULE),$(DELL_S5296F_PLATFORM_MODULE)))
55-
56-
#flashrom tool
57-
$(shell ./$(PLATFORM_PATH)/sonic-platform-modules-dell/tools/flashrom.sh > /dev/null 2>&1)

platform/broadcom/raw-image.mk

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ $(SONIC_RAW_IMAGE)_MACHINE = broadcom
55
$(SONIC_RAW_IMAGE)_IMAGE_TYPE = raw
66
$(SONIC_RAW_IMAGE)_INSTALLS += $(BRCM_OPENNSL_KERNEL)
77
$(SONIC_RAW_IMAGE)_INSTALLS += $(SYSTEMD_SONIC_GENERATOR)
8+
$(SONIC_RAW_IMAGE)_INSTALLS += $(FLASHROM)
89
$(SONIC_RAW_IMAGE)_LAZY_INSTALLS += $($(SONIC_ONE_IMAGE)_LAZY_INSTALLS)
910
$(SONIC_RAW_IMAGE)_DOCKERS += $(SONIC_INSTALL_DOCKER_IMAGES)
1011
SONIC_INSTALLERS += $(SONIC_RAW_IMAGE)

platform/broadcom/sonic-platform-modules-dell/debian/platform-modules-s6100.install

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,5 @@ s6100/systemd/platform-modules-s6100.service etc/systemd/system
2525
s6100/systemd/s6100-lpc-monitor.service etc/systemd/system
2626
s6100/systemd/s6100-reboot-cause.service etc/systemd/system
2727
s6100/systemd/s6100-i2c-enumerate.service etc/systemd/system
28-
tools/flashrom/flashrom usr/local/bin/
2928
common/fw-updater usr/local/bin
3029
common/onie_mode_set usr/local/bin

platform/broadcom/sonic-platform-modules-dell/tools/flashrom.sh

Lines changed: 0 additions & 10 deletions
This file was deleted.

rules/flashrom.dep

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
SPATH := $($(FLASHROM)_SRC_PATH)
2+
DEP_FILES := $(SONIC_COMMON_FILES_LIST) rules/flashrom.mk rules/flashrom.dep
3+
DEP_FILES += $(SONIC_COMMON_BASE_FILES_LIST)
4+
DEP_FILES += $(shell git ls-files $(SPATH))
5+
6+
$(FLASHROM)_CACHE_MODE := GIT_CONTENT_SHA
7+
$(FLASHROM)_DEP_FLAGS := $(SONIC_COMMON_FLAGS_LIST)
8+
$(FLASHROM)_DEP_FILES := $(DEP_FILES)

rules/flashrom.mk

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
# flashrom package
2+
#
3+
4+
FLASHROM_VERSION_FULL = 0.9.7
5+
6+
export FLASHROM_VERSION_FULL
7+
8+
FLASHROM = flashrom_$(FLASHROM_VERSION_FULL)_amd64.deb
9+
$(FLASHROM)_SRC_PATH = $(SRC_PATH)/flashrom
10+
11+
SONIC_MAKE_DEBS += $(FLASHROM)
12+
13+
export FLASHROM

0 commit comments

Comments
 (0)