60 lines
1.6 KiB
Bash
Executable File
60 lines
1.6 KiB
Bash
Executable File
#!/bin/bash -e
|
|
|
|
# generate configuration
|
|
|
|
[ -d /etc/sonic ] || mkdir -p /etc/sonic
|
|
|
|
SYSTEM_MAC_ADDRESS=$(ip link show eth0 | grep ether | awk '{print $2}')
|
|
sonic-cfggen -a '{"DEVICE_METADATA":{"localhost": {"mac": "'$SYSTEM_MAC_ADDRESS'"}}}' --print-data > /etc/sonic/init_cfg.json
|
|
|
|
if [ -f /etc/sonic/config_db.json ]; then
|
|
sonic-cfggen -j /etc/sonic/config_db.json -j /etc/sonic/init_cfg.json --print-data > /tmp/config_db.json
|
|
mv /tmp/config_db.json /etc/sonic/config_db.json
|
|
else
|
|
sonic-cfggen -j /etc/sonic/init_cfg.json --print-data > /etc/sonic/config_db.json
|
|
fi
|
|
|
|
mkdir -p /etc/swss/config.d/
|
|
|
|
# sonic-cfggen -m /etc/sonic/minigraph.xml -d -t /usr/share/sonic/templates/ipinip.json.j2 > /etc/swss/config.d/ipinip.json
|
|
# sonic-cfggen -m /etc/sonic/minigraph.xml -d -t /usr/share/sonic/templates/mirror.json.j2 > /etc/swss/config.d/mirror.json
|
|
# sonic-cfggen -m /etc/sonic/minigraph.xml -d -t /usr/share/sonic/templates/ports.json.j2 > /etc/swss/config.d/ports.json
|
|
|
|
# export platform=`sonic-cfggen -v platform`
|
|
|
|
rm -f /var/run/rsyslogd.pid
|
|
|
|
supervisorctl start rsyslogd
|
|
|
|
mkdir -p /var/run/redis
|
|
|
|
supervisorctl start redis-server
|
|
|
|
/usr/bin/configdb-load.sh
|
|
|
|
supervisorctl start syncd
|
|
|
|
supervisorctl start orchagent
|
|
|
|
supervisorctl start portsyncd
|
|
|
|
supervisorctl start intfsyncd
|
|
|
|
supervisorctl start neighsyncd
|
|
|
|
supervisorctl start teamsyncd
|
|
|
|
supervisorctl start fpmsyncd
|
|
|
|
supervisorctl start intfmgrd
|
|
|
|
supervisorctl start vlanmgrd
|
|
|
|
supervisorctl start zebra
|
|
|
|
# Start arp_update when VLAN exists
|
|
VLAN=`sonic-cfggen -d -v 'VLAN.keys() | join(" ") if VLAN'`
|
|
if [ "$VLAN" != "" ]; then
|
|
supervisorctl start arp_update
|
|
fi
|