The script won't even run with su at startup, but does also work if you run it from the cli after boot.
Are you running it through rc.local?
Here's what mine looks like:
su - pi -c "/usr/bin/screen -dmS miner /home/pi/git/vthoang/cgminer/cgminer --config /home/pi/.cgminer/cgminer.conf --gekko-2pac-freq 150 --suggest-diff 90"
(My user is named pi)
My startup is a bit more convoluted and has multiple instances of cgminer setup for different hardware.
/etc/init.d/startup.sh
#!/bin/bash
#debian
cd /home/miner
sudo ./loader.sh
##debian BBB### Don't use ###
#su - root /root/loader.sh
------------------
/home/miner/loader.sh
#!/bin/bash
DEFAULT_DELAY=0
sleep 10
screen -dmS vtg "./loadvtgkk.sh"
sleep 15
screen -dmS hfa "./loadhfa.sh"
#sleep 20
#screen -dmS gsb "./loadgsb.sh"
#sleep 35
#screen -dmS bxf "./loadbxf.sh"
sleep 40
screen -dmS gpd ./loadgpd.sh
Each one of these load scripts has its own cgminer path and is built for the specific chip/miner. I have been running this setup on BBB, PI, Odroid, Banana PI and full PC for some time and it has worked very well and not so well in certain circumstances.