|
May 14, 2013, 12:18:25 AM |
|
I have a tiny script to launch cgminer which works fine.
go:
#!/bin/sh set -x cd /x/y/z /x/y/z/cgminer ...
UNLESS I launch it from rc.local:
nohup /x/y/z/go > /dev/null 2>&1 &
in this case clGetDeviceIDs() fails, which causes clDevicesNum() in ocl.c to fail, which aborts everything.
[2013-05-13 19:56:01] Started cgminer 3.1.0 [2013-05-13 19:56:01] Started cgminer 3.1.0 No protocol specified [2013-05-13 19:56:02] CL Platform 0 vendor: Advanced Micro Devices, Inc. [2013-05-13 19:56:02] CL Platform 0 name: AMD Accelerated Parallel Processing [2013-05-13 19:56:02] CL Platform 0 version: OpenCL 1.2 AMD-APP (1124.2) [2013-05-13 19:56:02] Error -1: Getting Device IDs (num) [2013-05-13 19:56:02] clDevicesNum returned error, no GPUs usable [2013-05-13 19:56:02] CL Platform 0 vendor: Advanced Micro Devices, Inc. [2013-05-13 19:56:02] CL Platform 0 name: AMD Accelerated Parallel Processing [2013-05-13 19:56:02] CL Platform 0 version: OpenCL 1.2 AMD-APP (1124.2) [2013-05-13 19:56:02] Error -1: Getting Device IDs (num) [2013-05-13 19:56:02] clDevicesNum returned error, no GPUs usable [2013-05-13 19:56:02] All devices disabled, cannot mine! [2013-05-13 19:56:02] All devices disabled, cannot mine!
(I edited out the ASCII escape sequences used for screen display)
rc.local is launched as the final thing coming up into run level 3 - S99rc.local in rc3.d starts it up.
If I run rc.local directly, it also works, if I reboot it does not, and fails as above.
What's different between the two cases? I captured the environment for the working case:
env > xxx
then sourced it from go:
#!/bin/sh set -x cd /x/y/z . /x/y/z/xxx /x/y/z/cgminer ...
but that did not help either.
One side note is the "No protocol specified" error in the does-not-work case, which I don't think comes from cgminer source.
I thought I'd ask before digging deeper.
thanks
|