--- alx-src/trunk/alxinstall-ng/bin/alxinstall-ng.sh.in 2012/03/28 09:54:00 3374 +++ alx-src/trunk/alxinstall-ng/bin/alxinstall-ng.sh.in 2013/08/07 10:42:07 5003 @@ -43,6 +43,7 @@ # default specialdevices SPECIALDEVICE="" +FORMFACTOR="desktop" # target filesystem FORMAT_FILESYSTEM="ext4" @@ -206,11 +207,15 @@ # other devices run_hardware_detection case "${SPECIALDEVICE}" in - zotac) echo " \n\n\n \\Z2Zotac Device erkannt!\\Zn \\" >> ${hwtmp} ;; + zotac*) echo " \n\n\n \\Z2Zotac Device erkannt!\\Zn \\" >> ${hwtmp} ;; rangee) echo " \n\n\n \\Z2Rangee Device erkannt!\\Zn \\" >> ${hwtmp} ;; maxdata) echo " \n\n\n \\Z2Maxdata Device erkannt!\\Zn \\" >> ${hwtmp} ;; *) echo " \n\n\n \\ZnStandard Device erkannt!\\Zn \\" >> ${hwtmp} ;; esac + if [[ ${FORMFACTOR} = laptop ]] + then + echo " \n\n\n \\ZnFormfactor Laptop erkannt, Powersave Modus 'ondemand' wird aktiviert!\\Zn \\" >> ${hwtmp} ;; + fi echo " \" 13 70" >> ${hwtmp} chmod a+x ${hwtmp} @@ -442,7 +447,7 @@ { local hwinfo - hwinfo="$(hwinfo --bios --storage --pci)" + hwinfo="$(hwinfo --bios --storage --pci --gfxcard --sys)" # check for special devices/clients: # if zotac a zotac and the disk is a removeable device, then add rootdelay to kernelcmd @@ -459,7 +464,13 @@ # only add this for grub legacy, grub2 detect these settings on its own export GRUBLEGACYOPTS="rootdelay=8" - export SPECIALDEVICE="zotac" + # there are to zotac types in the wild, nvidia based gfx and intel + if [[ ! -z $(echo "${hwinfo}" | grep -i nouveau) ]] + then + export SPECIALDEVICE="zotac_nvidia" + else + export SPECIALDEVICE="zotac_intel" + fi fi # check for special devices/clients: @@ -479,6 +490,14 @@ export SPECIALDEVICE="maxdata" export GRUBLEGACYOPTS="" fi + + # check for special devices/clients: + # check for laptops and activate cpufreq scaling + if [[ $(echo "${hwinfo}" | grep 'Formfactor:' | sed 's:.*Formfactor\:\ \"\(.*\)\":\1:') = laptop ]] + then + export FORMFACTOR="laptop" + export KERNELOPTS="${KERNELOPTS} cpufreq.governor=ondemand" + fi } hdd_size_below_256mb() @@ -741,13 +760,22 @@ PATAMODS="ata_piix pata_amd pata_mpiix pata_oldpiix pata_sis pata_via" SATAMODS="sata_via sata_sis sata_nv" DRMMODS="i915 mga nouveau r128 radeon savage sis tdfx ttm via" + OTHERMODS="" case ${SPECIALDEVICE} in - zotac) FBMODS="" ;; + zotac_intel) FBMODS=""; DRMMODS="i915" ;; + zotac_nvidia) FBMODS=""; DRMMODS="nouveau" ;; rangee) FBMODS="" ;; ## fallback to vesafb, viafb does not run on all CLE266 boards - maxdata) FBMODS="i810fb" ;; ## check for maxdata / i810/ i815 Chipsets and disable KMS and use i810fb frambuffer + # not working with kms enabled drivers -> segfaults + #maxdata) FBMODS="i810fb" ;; ## check for maxdata / i810/ i815 Chipsets and disable KMS and use i810fb frambuffer + maxdata) FBMODS="" ;; *) FBMODS="uvesafb" ;; esac + if [[ ${FORMFACTOR} = laptop ]] + then + OTHERMODS="acpi-cpufreq cpufreq_ondemand cpufreq_conservative cpufreq_powersave" + fi + # install an appropriate uvesafb.conf install -d ${INSTALLPATH}/etc/modprobe.d || die echo "options uvesafb mode_option=1024x768-32@60 scroll=ywrap" > ${INSTALLPATH}/etc/modprobe.d/uvesafb.conf || die @@ -759,7 +787,7 @@ echo "options i810fb xres=1024 yres=768 bpp=16 mtrr=1 hsync1=30 hsync2=62 vsync1=30 vsync2=60" > ${INSTALLPATH}/etc/modprobe.d/i810fb.conf || die cat > ${INSTALLPATH}/root/.installrc << CHROOTEOF -echo "MODULES=\"${FORMAT_FILESYSTEM} ${DISKMODS} ${OLDATAMODS} ${PATAMODS} ${SATAMODS} ${DRMMODS} ${FBMODS}\"" > /etc/conf.d/mkinitrd +echo "MODULES=\"${FORMAT_FILESYSTEM} ${DISKMODS} ${OLDATAMODS} ${PATAMODS} ${SATAMODS} ${DRMMODS} ${FBMODS} ${OTHERMODS}\"" > /etc/conf.d/mkinitrd mkinitrd -f /boot/$(readlink /boot/initrd) $(readlink /boot/vmlinuz | sed "s:kernel-::g") > /dev/null exit 0 CHROOTEOF @@ -835,7 +863,7 @@ fbdev=$(grep 'inteldrmfb' /proc/fb | sed 's:\([0-9]\).*:\1:') if [[ ${fbdev} != 0 ]] then - sed -i "s:^\(SPLASH_OPTS=\).*:\1\"-d /dev/fb${fbdev}\":" ${INSTALLPATH}/etc/splash/splash.conf || die + sed -i "s:^\(SPLASH_DEV=\).*:\1\"/dev/fb${fbdev}\":" ${INSTALLPATH}/etc/splash/splash.conf || die fi fi fi