#!/bin/bash ### BEGIN INIT INFO # Provides: setup-board # Required-Start: $portmap # Required-Stop: # Should-Start: # Should-Stop: # Default-Start: S # Default-Stop: 0 6 # Short-Description: Setup Haliburton board. ### END INIT INFO setup_swap () { SWAPFILE=/host/myswapfile if [ ! -f $SWAPFILE ]; then availspace=`df -h --output=avail /host | sed '1d;s/\s//g;s/[^0-9].*//g'` diff=$(( availspace - 2*$1 )) if [ $diff -gt 0 ]; then fallocate -l ${1}G $SWAPFILE chmod 600 $SWAPFILE echo "swap file created successfully" else echo "not enough disk space to turn on swap." return fi fi mkswap $SWAPFILE swapon $SWAPFILE echo "swap on successfully" } case "$1" in start) echo -n "Setting up board... " modprobe smc modprobe hlx_gpio_ich modprobe dps200 modprobe cp210x found=0 for devnum in 0 1; do devname=`cat /sys/bus/i2c/devices/i2c-${devnum}/name` # iSMT adapter can be at either dffd0000 or dfff0000 if [[ $devname == 'SMBus iSMT adapter at '* ]]; then found=1 break fi done [ $found -eq 0 ] && echo "cannot find iSMT" && exit 1 i2cset -y ${devnum} 0x73 0x10 0x00 0x01 i sleep 0.5 # Attach PCA9548 0x73 Channel Extender for CPU Board echo pca9548 0x73 > /sys/bus/i2c/devices/i2c-${devnum}/new_device sleep 1 # Attach PCA9541 Ox71 Master Selector chmod 755 /sys/bus/i2c/devices/i2c-${devnum}/new_device echo pca9548 0x71 > /sys/bus/i2c/devices/i2c-8/new_device sleep 1 # Attach PCA9548 0x72 Channel Extender for Main Board echo pca9548 0x72 > /sys/bus/i2c/devices/i2c-8/new_device sleep 1 # Attach syseeprom echo 24lc64t 0x50 > /sys/bus/i2c/devices/i2c-2/new_device echo max6699 0x1a > /sys/bus/i2c/devices/i2c-3/new_device echo max6699 0x1a > /sys/bus/i2c/devices/i2c-11/new_device # Attach PSUs echo dps200 0x5a > /sys/bus/i2c/devices/i2c-12/new_device echo 24c02 0x52 > /sys/bus/i2c/devices/i2c-12/new_device echo dps200 0x5b > /sys/bus/i2c/devices/i2c-13/new_device echo 24c02 0x53 > /sys/bus/i2c/devices/i2c-13/new_device # Attach fans echo emc2305 0x4d > /sys/bus/i2c/devices/i2c-23/new_device # Attach 4 SFP+ Uplink echo optoe2 0x50 > /sys/bus/i2c/devices/i2c-14/new_device echo optoe2 0x50 > /sys/bus/i2c/devices/i2c-15/new_device echo optoe2 0x50 > /sys/bus/i2c/devices/i2c-16/new_device echo optoe2 0x50 > /sys/bus/i2c/devices/i2c-17/new_device # Enable SFP module presence interrupt echo "both" > /sys/devices/platform/e1031.smc/SFP/modabs_trig echo 0 > /sys/devices/platform/e1031.smc/SFP/modabs_mask /bin/sh /usr/local/bin/platform_api_mgnt.sh init setup_swap 2 echo "done." ;; stop) echo "done." ;; force-reload|restart) echo "Not supported" ;; *) echo "Usage: /etc/init.d/platform-modules-haliburton.init {start|stop}" exit 1 ;; esac exit 0