Crashplan not starting automatically after reboot

Crashplan has been working flawlessly for a while, but recently I noticed that it wont start automatically after a reboot.

This started after the I upgraded from Fedora 10 linux emulation to emulators/linux_base-c6.

I updated my sysctl.conf to include:
compat.linux.osrelease=2.6.18

my rc.conf includes:
linux_enable="YES"
crashplan_enable="YES"


I can start crashplan manually by typing:
service crashplan start
And it runs perfectly.

But I would like it to start automatically after a reboot like it did before updating to emulators/linux_base-c6.

Thanks in advance
 
After some more digging I think I found out what the issue is.
The Crashplan log shows:
FATAL: kernel too old
When crashplan starts during the bootup sequence.

This is the same error that happens when I try and start crashplan without modyfying sysctl.conf to include:
compat.linux.osrelease=2.6.18

So I think Crashplan is loading before sysctl, though I am not sure how to fix this
 
This is just a wild guess, I have no way to test if this even works as I think it does.

Try appending sysctl to the # REQUIRE: line in /usr/local/etc/rc.d/crashplan.
 
rcorder /etc/rc.d/* /usr/local/etc/rc.d/* says that /etc/rc.d/sysctl is the first thing run. The other thing I can think of is /etc/rc.d/abi is what loads Linux compat when it's enabled in /etc/rc.conf. Is Crashplan after that? You can run rcorder(8) to see the order.
 
Yep, Crashplan loads after /etc/rc.d/abi.

In case it helps here is the output of # rcorder /etc/rc.d/* /usr/local/etc/rc.d/*
Code:
/etc/rc.d/sysctl

/etc/rc.d/hostid

/etc/rc.d/zvol

/etc/rc.d/dumpon

/etc/rc.d/ddb

/etc/rc.d/initrandom

/etc/rc.d/geli

/etc/rc.d/gbde

/etc/rc.d/ccd

/etc/rc.d/swap

/etc/rc.d/fsck

/etc/rc.d/root

/etc/rc.d/mdconfig

/etc/rc.d/hostid_save

/etc/rc.d/mountcritlocal

/etc/rc.d/zfs

/etc/rc.d/var

/etc/rc.d/cleanvar

/etc/rc.d/FILESYSTEMS

/etc/rc.d/kldxref

/etc/rc.d/kld

/etc/rc.d/addswap

/etc/rc.d/random

/etc/rc.d/postrandom

/etc/rc.d/adjkerntz

/etc/rc.d/atm1

/etc/rc.d/hostname

/etc/rc.d/ip6addrctl

/etc/rc.d/netoptions

/etc/rc.d/sppp

/etc/rc.d/ipfilter

/etc/rc.d/ipnat

/etc/rc.d/ipfs

/etc/rc.d/serial

/etc/rc.d/netif

/etc/rc.d/devd

/etc/rc.d/ipsec

/etc/rc.d/atm2

/etc/rc.d/pfsync

/etc/rc.d/pflog

/etc/rc.d/pf

/etc/rc.d/stf

/etc/rc.d/ppp

/etc/rc.d/faith

/etc/rc.d/routing

/etc/rc.d/mroute6d

/etc/rc.d/nsswitch

/etc/rc.d/rtsold

/etc/rc.d/resolv

/etc/rc.d/local_unbound

/etc/rc.d/static_ndp

/etc/rc.d/static_arp

/etc/rc.d/bridge

/etc/rc.d/route6d

/etc/rc.d/mrouted

/etc/rc.d/routed

/etc/rc.d/defaultroute

/etc/rc.d/ipfw

/etc/rc.d/NETWORKING

/etc/rc.d/netwait

/etc/rc.d/mountcritremote

/etc/rc.d/accounting

/etc/rc.d/ldconfig

/etc/rc.d/newsyslog

/etc/rc.d/syslogd

/etc/rc.d/ntpdate

/etc/rc.d/rpcbind

/etc/rc.d/nfsclient

/etc/rc.d/devfs

/etc/rc.d/ipmon

/etc/rc.d/mdconfig2

/etc/rc.d/kdc

/etc/rc.d/watchdogd

/etc/rc.d/savecore

/etc/rc.d/archdep

/etc/rc.d/abi

/etc/rc.d/SERVERS

/etc/rc.d/nisdomain

/etc/rc.d/ypserv

/etc/rc.d/ypbind

/etc/rc.d/ypset

/etc/rc.d/amd

/etc/rc.d/atm3

/etc/rc.d/auditd

/etc/rc.d/auditdistd

/etc/rc.d/tmp

/etc/rc.d/cleartmp

/etc/rc.d/ctld

/etc/rc.d/dmesg

/etc/rc.d/hastd

/etc/rc.d/ipxrouted

/etc/rc.d/iscsid

/etc/rc.d/iscsictl

/etc/rc.d/keyserv

/etc/rc.d/nfsuserd

/etc/rc.d/gssd

/etc/rc.d/quota

/etc/rc.d/mountd

/etc/rc.d/nfsd

/etc/rc.d/statd

/etc/rc.d/lockd

/etc/rc.d/pppoed

/etc/rc.d/pwcheck

/etc/rc.d/virecover

/etc/rc.d/DAEMON

/usr/local/etc/rc.d/svnserve

rcorder: requirement `cupsd' in file `/usr/local/etc/rc.d/samba' has no providers.

/usr/local/etc/rc.d/samba

/etc/rc.d/apm

/etc/rc.d/apmd

/etc/rc.d/bootparams

/etc/rc.d/hcsecd

/etc/rc.d/bthidd

/etc/rc.d/local

/etc/rc.d/lpd

/etc/rc.d/motd

/etc/rc.d/mountlate

/etc/rc.d/nscd

/etc/rc.d/ntpd

/etc/rc.d/powerd

/etc/rc.d/rarpd

/etc/rc.d/rctl

/etc/rc.d/sdpd

/etc/rc.d/rfcomm_pppd_server

/etc/rc.d/rtadvd

/etc/rc.d/rwho

/etc/rc.d/timed

/etc/rc.d/ugidfw

/etc/rc.d/yppasswdd

/etc/rc.d/utx

/etc/rc.d/LOGIN

/usr/local/etc/rc.d/rsyncd

/usr/local/etc/rc.d/dbus

/usr/local/etc/rc.d/avahi-daemon

/usr/local/etc/rc.d/netatalk

/usr/local/etc/rc.d/git_daemon

/etc/rc.d/sshd

/usr/local/etc/rc.d/ezjail

/usr/local/etc/rc.d/crashplan

/usr/local/etc/rc.d/avahi-dnsconfd

/etc/rc.d/ypxfrd

/etc/rc.d/ypupdated

/etc/rc.d/wpa_supplicant

/etc/rc.d/ubthidhci

/etc/rc.d/syscons

/etc/rc.d/swaplate

/etc/rc.d/sendmail

/etc/rc.d/cron

/etc/rc.d/jail

/etc/rc.d/localpkg

/etc/rc.d/securelevel

/etc/rc.d/power_profile

/etc/rc.d/othermta

/etc/rc.d/nfscbd

/etc/rc.d/natd

/etc/rc.d/msgs

/etc/rc.d/moused

/etc/rc.d/mixer

/etc/rc.d/kpasswdd

/etc/rc.d/kfd

/etc/rc.d/kadmind

/etc/rc.d/ipropd_slave

/etc/rc.d/ipropd_master

/etc/rc.d/inetd

/etc/rc.d/hostapd

/etc/rc.d/gptboot

/etc/rc.d/geli2

/etc/rc.d/ftpd

/etc/rc.d/ftp-proxy

/etc/rc.d/dhclient

/etc/rc.d/bsnmpd

/etc/rc.d/bluetooth

/etc/rc.d/bgfsck

/etc/rc.d/autounmountd

/etc/rc.d/automount

/etc/rc.d/automountd
Thanks for the help so far.
 
tl;dr put linux_load="YES" in /boot/loader.conf

As you can see from the rcorder(8) output, /etc/rc.d/sysctl is run before /etc/rc.d/abi. This means that when your /etc/sysctl.conf settings are applied, the compat.linux.osrelease MIB doesn't exist. When linux.ko is loaded later by /etc/rc.d/abi, the value is loaded with the default. The quickest solution I've found for this is to make sure that linux.ko is loaded at boot, with linux_load="YES" in /boot/loader.conf. All of this assumes a GENERIC kernel, of course. Another option would be to build linux ABI support directly into your kernel.
 
Thanks. Adding linux_load="YES" in /boot/loader.conf worked!

And it was nice to have a simple explanation of what the issue was.
 
Back
Top