#!/bin/sh # This will output a list of template bootrr rules for the # current system based on what is currently found in sysfs. Some # editing will be required for usability and maintainability, # this is just a helper to get started. ncpus=$(cat /proc/cpuinfo | grep ^processor | wc -l) max_cpu=$(expr ${ncpus} - 1) if [ -f /sys/devices/system/cpu/cpu0/cpufreq/scaling_driver ]; then echo assert_cpufreq_enabled cpufreq-enabled ${max_cpu} fi if [ -f /sys/devices/system/cpu/cpuidle/current_driver ]; then echo assert_cpuidle_enabled cpuidle-enabled ${max_cpu} fi # Find drivers with bound devices for driver_path in /sys/bus/*/drivers/* ; do devs=$(find "$driver_path" -type l -printf "\"%p\" " | grep -v module$) if [ "${devs}" = "" ]; then continue fi driver="$(basename "$driver_path")" # Check for the driver echo assert_driver_present \"${driver}-driver-present\" \"${driver}\" # Check for each instance of the driver find "$driver_path" -type l | grep -v module$ | while read -r dev ; do d=$(cd ${dev} ; pwd -P | sed s,.*/,,) echo assert_device_present ${d}-probed \"${driver}\" ${d} done echo done # Sound card display names are symbolic links to their numbered # directories for card in $(find /proc/asound -type l | sed s,/proc/asound/,,g) ; do # Check for the first playback and capture PCM only for # now if [ -d /proc/asound/${card}/pcm0p ]; then echo assert_soundcard_present ${card}-playback ${card} pcm0p fi if [ -d /proc/asound/${card}/pcm0c ]; then echo assert_soundcard_present ${card}-capture ${card} pcm0c fi done