From cea6ff78a7946b11b9459aa29cbae4f66808d0a2 Mon Sep 17 00:00:00 2001 From: andreasmn Date: Fri, 25 Apr 2014 10:59:29 +0200 Subject: [PATCH 1/2] busybox (initramfs): add 'ping' and 'ether-wake' applet --- packages/sysutils/busybox/config/busybox-init.conf | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/sysutils/busybox/config/busybox-init.conf b/packages/sysutils/busybox/config/busybox-init.conf index 7846b1df44..3772dfe6dc 100644 --- a/packages/sysutils/busybox/config/busybox-init.conf +++ b/packages/sysutils/busybox/config/busybox-init.conf @@ -738,9 +738,9 @@ CONFIG_NBDCLIENT=y # CONFIG_NC_SERVER is not set # CONFIG_NC_EXTRA is not set # CONFIG_NC_110_COMPAT is not set -# CONFIG_PING is not set +CONFIG_PING=y # CONFIG_PING6 is not set -# CONFIG_FEATURE_FANCY_PING is not set +CONFIG_FEATURE_FANCY_PING=y # CONFIG_WHOIS is not set # CONFIG_FEATURE_IPV6 is not set # CONFIG_FEATURE_UNIX_LOCAL is not set @@ -752,7 +752,7 @@ CONFIG_NBDCLIENT=y # CONFIG_FEATURE_BRCTL_FANCY is not set # CONFIG_FEATURE_BRCTL_SHOW is not set # CONFIG_DNSD is not set -# CONFIG_ETHER_WAKE is not set +CONFIG_ETHER_WAKE=y # CONFIG_FAKEIDENTD is not set # CONFIG_FTPD is not set # CONFIG_FEATURE_FTP_WRITE is not set From a080cda38e9f4ba83f4132328a9f3e87cf32973d Mon Sep 17 00:00:00 2001 From: andreasmn Date: Fri, 25 Apr 2014 11:15:19 +0200 Subject: [PATCH 2/2] init: added wake-on-lan script --- packages/sysutils/busybox/scripts/init | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/packages/sysutils/busybox/scripts/init b/packages/sysutils/busybox/scripts/init index f712719eb2..42a88ee913 100755 --- a/packages/sysutils/busybox/scripts/init +++ b/packages/sysutils/busybox/scripts/init @@ -3,7 +3,7 @@ ################################################################################ # This file is part of OpenELEC - http://www.openelec.tv # Copyright (C) 2009-2014 Stephan Raue (stephan@openelec.tv) -#      Copyright (C) 2010-2011 Roman Weber (roman@openelec.tv) +# Copyright (C) 2010-2011 Roman Weber (roman@openelec.tv) # Copyright (C) 2012 Yann Cézard (eesprit@free.fr) # # OpenELEC is free software: you can redistribute it and/or modify @@ -91,6 +91,15 @@ ;; esac ;; + wol_mac=*) + wol_mac="${arg#*=}" + ;; + wol_ip=*) + wol_ip="${arg#*=}" + ;; + wol_wait=*) + wol_wait="${arg#*=}" + ;; textmode) INIT_ARGS="$INIT_ARGS --unit=textmode.target" ;; @@ -413,6 +422,13 @@ } mount_storage() { + if [ -n "$wol_ip" ] && [ -n "$wol_mac" ] && [ -n "$wol_wait" ]; then + if ! (/bin/busybox ping -q -c 2 "$wol_ip" > /dev/null 2>&1); then + /bin/busybox ether-wake "$wol_mac" + /bin/busybox sleep "$wol_wait" + fi + fi + progress "Mounting storage" if [ -n "$disk" ]; then