[build_debian]: install deps in rootfs instead of just extracting the packages (#280)
packages contains post-install that needs to be performed
This commit is contained in:
parent
55acd9e9e3
commit
6119a58e4a
4
.gitmodules
vendored
4
.gitmodules
vendored
@ -50,6 +50,6 @@
|
||||
[submodule "platform/broadcom/sonic-platform-modules-s6000"]
|
||||
path = platform/broadcom/sonic-platform-modules-s6000
|
||||
url = https://github.com/Azure/sonic-platform-modules-s6000
|
||||
[submodule "sonic-platform-modules-arista"]
|
||||
[submodule "platform/broadcom/sonic-platform-modules-arista"]
|
||||
path = platform/broadcom/sonic-platform-modules-arista
|
||||
url = https://github.com/lguohan/sonic-1
|
||||
url = https://github.com/aristanetworks/sonic
|
||||
|
@ -58,7 +58,7 @@ DEFAULT_USERINFO="Default admin user,,,"
|
||||
|
||||
## Prepare the file system directory
|
||||
if [[ -d $FILESYSTEM_ROOT ]]; then
|
||||
sudo rm -r $FILESYSTEM_ROOT || die "Failed to clean chroot directory"
|
||||
sudo rm -rf $FILESYSTEM_ROOT || die "Failed to clean chroot directory"
|
||||
fi
|
||||
mkdir -p $FILESYSTEM_ROOT
|
||||
|
||||
@ -272,6 +272,3 @@ pushd $FILESYSTEM_ROOT && sudo tar czf $OLDPWD/$FILESYSTEM_DOCKERFS -C var/lib/d
|
||||
## Compress together with /boot and /var/lib/docker as an installer payload zip file
|
||||
pushd $FILESYSTEM_ROOT && sudo zip $OLDPWD/$ONIE_INSTALLER_PAYLOAD -r boot/; popd
|
||||
sudo zip -g $ONIE_INSTALLER_PAYLOAD $FILESYSTEM_SQUASHFS $FILESYSTEM_DOCKERFS
|
||||
|
||||
## Remove fsroot
|
||||
sudo rm -rf $FILESYSTEM_ROOT
|
||||
|
@ -95,9 +95,24 @@ sudo mv sonic_version.yml $FILESYSTEM_ROOT/etc/sonic/
|
||||
# Copy sudoers configuration file
|
||||
sudo cp $IMAGE_CONFIGS/sudoers/sudoers $FILESYSTEM_ROOT/etc/
|
||||
|
||||
## Install package without starting service
|
||||
## ref: https://wiki.debian.org/chroot
|
||||
sudo tee -a $FILESYSTEM_ROOT/usr/sbin/policy-rc.d > /dev/null <<EOF
|
||||
#!/bin/sh
|
||||
exit 101
|
||||
EOF
|
||||
sudo chmod a+x $FILESYSTEM_ROOT/usr/sbin/policy-rc.d
|
||||
|
||||
{% for deb in installer_debs.strip().split(' ') -%}
|
||||
if [ $sonic_asic_platform == "mellanox" ]; then
|
||||
sudo dpkg --extract {{deb}} $FILESYSTEM_ROOT
|
||||
else
|
||||
sudo dpkg --root=$FILESYSTEM_ROOT -i {{deb}} || sudo LANG=C DEBIAN_FRONTEND=noninteractive chroot $FILESYSTEM_ROOT apt-get -y install -f
|
||||
fi
|
||||
{% endfor %}
|
||||
|
||||
sudo rm -f $FILESYSTEM_ROOT/usr/sbin/policy-rc.d
|
||||
|
||||
## Run depmod command for target kernel modules
|
||||
sudo LANG=C chroot $FILESYSTEM_ROOT depmod -a {{kversion}}
|
||||
{% endif %}
|
||||
|
@ -11,5 +11,6 @@ SONIC_INSTALL_DOCKER_IMAGES += $(DOCKER_SYNCD_BRCM)
|
||||
$(DOCKER_SYNCD_BRCM)_CONTAINER_NAME = syncd
|
||||
$(DOCKER_SYNCD_BRCM)_RUN_OPT += --net=host --privileged -t
|
||||
$(DOCKER_SYNCD_BRCM)_RUN_OPT += -v /host/machine.conf:/etc/machine.conf
|
||||
$(DOCKER_SYNCD_BRCM)_RUN_OPT += -v /var/run/docker-syncd:/var/run/sswsyncd
|
||||
$(DOCKER_SYNCD_BRCM)_RUN_OPT += --volumes-from database
|
||||
$(DOCKER_SYNCD_BRCM)_RUN_OPT += -v /etc/sonic:/etc/sonic:ro
|
||||
|
@ -1 +1 @@
|
||||
Subproject commit 5a1871d8070b1fea0fbc30fcf91ff984ac6ec295
|
||||
Subproject commit db1bf4b8be53d612a98d9468bebc3b3704ae42b1
|
1
slave.mk
1
slave.mk
@ -297,6 +297,7 @@ $(addprefix $(TARGET_PATH)/, $(SONIC_INSTALLERS)) : $(TARGET_PATH)/% : .platform
|
||||
export image_type="$($*_IMAGE_TYPE)"
|
||||
export sonicadmin_user="$(USERNAME)"
|
||||
export sonic_hwsku="$(CONFIGURED_SKU)"
|
||||
export sonic_asic_platform="$(CONFIGURED_PLATFORM)"
|
||||
$(foreach docker, $($*_DOCKERS),\
|
||||
export docker_image="$(docker)"
|
||||
export docker_image_name="$(basename $(docker))"
|
||||
|
Loading…
Reference in New Issue
Block a user