On 09/17/2012 06:44 PM, Curtis Shimamoto wrote: > On 09/17/12 at 10:31am, Matthew Monaco wrote: >> On 09/17/2012 09:40 AM, Mart?n Cigorraga wrote: >>> "[...]However, tmpfiles may also be used to write values into certain files >>> on boot. For example, if you use /etc/rc.local to disable wakeup from USB >>> devices with echo USBE > /proc/acpi/wakeup, you may use the following >>> tmpfile instead: >>> >>> >>> /etc/tmpfiles.d/disable-usb-wake.conf >>> >>> >>> w /proc/acpi/wakeup - - - - USBE >>> >>> The tmpfiles method is recommended in this case since systemd doesn't >>> actually support /etc/rc.local." >>> >>> Does that means that I need to move all the content from /etc/rc.local to >>> /etc/tmpfiles.d? For example this is my actual /etc/rc.local: >>> ~ $ cat /etc/rc.local >>> #!/bin/bash >>> # >>> # /etc/rc.local: Local multi-user startup script. >>> # >>> >>> #modprobe radeon # added by hybrid-video-ati-intel install script >>> #echo IGD > /sys/kernel/debug/vgaswitcheroo/switch # added by >>> hybrid-video-ati-intel install script >>> echo OFF > /sys/kernel/debug/vgaswitcheroo/switch # completely deactivate >>> radeon >>> >>> ## ATi >>> # Source: https://wiki.archlinux.org/index.php/ATI#Performance_tuning >>> echo low > /sys/class/drm/card0/device/power_profile >>> #echo profile > /sys/class/drm/card0/device/power_method >>> echo dynpm > /sys/class/drm/card0/device/power_method >>> echo OFF > /sys/kernel/debug/vgaswitcheroo/switch >>> >>> # CPUFREQ >>> for i in 0 1 2 3; do cpufreq-set -c $i -g powersave; done ## sets >>> powersave cpufreq governor for all CPU cores >>> #echo -n 90 > /sys/devices/system/cpu/cpufreq/ondemand/up_threshold >>> echo -n 20 > /sys/devices/system/cpu/cpufreq/ondemand/sampling_down_factor >>> >>> # Prepare the system for Wake-on-Lan >>> /usr/sbin/ethtool -s eth0 wol pg >>> >>> # Activate laptop_mode >>> echo 5 > /proc/sys/vm/laptop_mode >>> >>> # Performance tweaks for USB drivers under KDE SC >>> echo madvise > /sys/kernel/mm/transparent_hugepage/enabled >>> echo madvise > /sys/kernel/mm/transparent_hugepage/defrag >>> echo 0 > /sys/kernel/mm/transparent_hugepage/khugepaged/defrag >>> >>> >>> If this is the case, how do you guys would convert the FOR loop!? >>> >> >> For ethtool, just create a separate service that executes that command. >> >> Everything else you do is writing to /sys, so you can have one giant tmpfiles.d >> file. >> >> For the for loop: >> w /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor - - - - powersave >> w /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor - - - - powersave >> w /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor - - - - powersave >> w /sys/devices/system/cpu/cpu3/cpufreq/scaling_governor - - - - powersave >> >> Also, I don't think it's an error if the file doesn't exist, so you can just do >> cpu0..cpu16 or whatever if you feel like. > > I am fairly certain that tmpfiles.d understands "*", so you could > probably get away with one line for something like that. > It doesn't for the 'w' type. Globbing is specified explicitly where it's supported. I don't know if that was an explicit design decision though. You might have yourself an easy patch if you want to contribute.