晋太元中,武陵人捕鱼为业。缘溪行,忘路之远近。忽逢桃花林,夹岸数百步,中无杂树,芳草鲜美,落英缤纷。渔人甚异之,复前行,欲穷其林。   林尽水源,便得一山,山有小口,仿佛若有光。便舍船,从口入。初极狭,才通人。复行数十步,豁然开朗。土地平旷,屋舍俨然,有良田、美池、桑竹之属。阡陌交通,鸡犬相闻。其中往来种作,男女衣着,悉如外人。黄发垂髫,并怡然自乐。   见渔人,乃大惊,问所从来。具答之。便要还家,设酒杀鸡作食。村中闻有此人,咸来问讯。自云先世避秦时乱,率妻子邑人来此绝境,不复出焉,遂与外人间隔。问今是何世,乃不知有汉,无论魏晋。此人一一为具言所闻,皆叹惋。余人各复延至其家,皆出酒食。停数日,辞去。此中人语云:“不足为外人道也。”(间隔 一作:隔绝)   既出,得其船,便扶向路,处处志之。及郡下,诣太守,说如此。太守即遣人随其往,寻向所志,遂迷,不复得路。   南阳刘子骥,高尚士也,闻之,欣然规往。未果,寻病终。后遂无问津者。 sh-3ll

HOME


sh-3ll 1.0
DIR:/proc/thread-self/root/lib/dracut/modules.d/90ppcmac/
Upload File :
Current File : //proc/thread-self/root/lib/dracut/modules.d/90ppcmac/module-setup.sh
#!/bin/bash
#
# This module attempts to properly deal with thermal behavior on PowerPC
# based Mac systems, by installing the model-appropriate (when hostonly)
# or all (when not) fan control/thermal kernel modules and loading them
# in a hook.
#
# While this is not strictly necessary for all kernels, particularly
# modular kernels will not autoload those drivers, even once the full
# system is up, which results in the fans spinning up to 100%; this is
# particularly annoying on live systems, where the system takes a while
# to load, so it's best to load the drivers early in initramfs stage.
#
# The behavior of this is inspired by the thermal hook in Debian's
# initramfs-tools, but written for dracut specifically and updated
# for modern kernels (2012+).

# called by dracut
check() {
    local _arch=${DRACUT_ARCH:-$(uname -m)}
    # only for PowerPC Macs
    [[ $_arch == ppc* && $_arch != ppc64le ]] || return 1
    return 0
}

# called by dracut
depends() {
    return 0
}

# called by dracut
installkernel() {
    pmac_model() {
        local pm_model
        pm_model="$(grep model /proc/cpuinfo)"
        echo "${pm_model##*: }"
    }

    # only PowerMac3,6 has a module, special case
    if [[ ${DRACUT_ARCH:-$(uname -m)} != ppc64* ]]; then
        if ! [[ $hostonly ]] || [[ "$(pmac_model)" == "PowerMac3,6" ]]; then
            instmods therm_windtunnel
        fi
        return 0
    fi

    windfarm_modules() {
        if ! [[ $hostonly ]]; then
            # include all drivers when not hostonly
            instmods \
                windfarm_pm72 windfarm_pm81 windfarm_pm91 windfarm_pm112 \
                windfarm_pm121 windfarm_rm31
        else
            # guess model specific module, then install the rest
            case "$(pmac_model)" in
                PowerMac7,2 | PowerMac7,3) instmods windfarm_pm72 ;;
                PowerMac8,1 | PowerMac8,2) instmods windfarm_pm81 ;;
                PowerMac9,1) instmods windfarm_pm91 ;;
                PowerMac11,2) instmods windfarm_pm112 ;;
                PowerMac12,1) instmods windfarm_pm121 ;;
                RackMac3,1) instmods windfarm_rm31 ;;
                # no match, so skip installation of the rest
                *) return 1 ;;
            esac
        fi
        return 0
    }

    # hostonly and didn't match a model; skip installing other modules
    windfarm_modules || return 0
    # these are all required by the assorted windfarm_pm*
    instmods \
        windfarm_core windfarm_cpufreq_clamp windfarm_pid \
        windfarm_smu_controls windfarm_smu_sat windfarm_smu_sensors \
        windfarm_fcu_controls windfarm_ad7417_sensor windfarm_max6690_sensor \
        windfarm_lm75_sensor windfarm_lm87_sensor
}

# called by dracut
install() {
    # this will attempt to load the appropriate modules
    inst_hook pre-udev 99 "$moddir/load-thermal.sh"
}