[remaster,scripts] enable KMS for spins not shipping with proprietary fglrx, disable gallium on others (for r600).

This commit is contained in:
Fabio Erculiani 2011-01-22 20:46:13 +01:00
parent b31c65d6a4
commit a8fc0070a9
4 changed files with 65 additions and 43 deletions

View File

@ -1,32 +1,32 @@
DEFAULT /boot/sabayon
GFXBOOT bootlogo
GFXBOOT-BACKGROUND 0xAAAAAA
APPEND root=/dev/ram0 initrd=/boot/sabayon.igz aufs init=/linuxrc cdroot cdroot_type=udf looptype=squashfs max_loop=64 loop=/livecd.squashfs splash=silent,theme:sabayon vga=791 console=tty1 quiet --
APPEND root=/dev/ram0 initrd=/boot/sabayon.igz aufs init=/linuxrc cdroot cdroot_type=udf looptype=squashfs max_loop=64 loop=/livecd.squashfs splash=silent,theme:sabayon __KMS__ vga=791 console=tty1 quiet --
LABEL sabayon
menu label ^Start Sabayon __VERSION__ __FLAVOUR__
kernel /boot/sabayon
append root=/dev/ram0 initrd=/boot/sabayon.igz aufs init=/linuxrc cdroot cdroot_type=udf looptype=squashfs max_loop=64 loop=/livecd.squashfs splash=silent,theme:sabayon vga=791 console=tty1 quiet --
append root=/dev/ram0 initrd=/boot/sabayon.igz aufs init=/linuxrc cdroot cdroot_type=udf looptype=squashfs max_loop=64 loop=/livecd.squashfs splash=silent,theme:sabayon __KMS__ vga=791 console=tty1 quiet --
LABEL install
menu label Graphical ^Installation
kernel /boot/sabayon
append root=/dev/ram0 initrd=/boot/sabayon.igz aufs init=/linuxrc cdroot cdroot_type=udf looptype=squashfs max_loop=64 loop=/livecd.squashfs splash=silent,theme:sabayon vga=791 console=tty1 quiet installer-gui --
append root=/dev/ram0 initrd=/boot/sabayon.igz aufs init=/linuxrc cdroot cdroot_type=udf looptype=squashfs max_loop=64 loop=/livecd.squashfs splash=silent,theme:sabayon __KMS__ vga=791 console=tty1 quiet installer-gui --
LABEL text-install
menu label Text ^Installation
kernel /boot/sabayon
append root=/dev/ram0 initrd=/boot/sabayon.igz aufs init=/linuxrc cdroot cdroot_type=udf looptype=squashfs max_loop=64 loop=/livecd.squashfs splash=verbose,theme:sabayon vga=791 console=tty1 quiet installer-text gentoo=nox nox --
append root=/dev/ram0 initrd=/boot/sabayon.igz aufs init=/linuxrc cdroot cdroot_type=udf looptype=squashfs max_loop=64 loop=/livecd.squashfs splash=verbose,theme:sabayon __KMS__ vga=791 console=tty1 quiet installer-text gentoo=nox nox --
LABEL genuine
menu label Safe ^Mode
kernel /boot/sabayon
append root=/dev/ram0 initrd=/boot/sabayon.igz aufs init=/linuxrc cdroot cdroot_type=udf looptype=squashfs max_loop=64 loop=/livecd.squashfs splash=silent,theme:sabayon vga=788 noproprietary genuine res=1024x768 refresh=60 hsync=43-51 pci=routeirq irqpoll noddc console=tty1 quiet nokvm --
append root=/dev/ram0 initrd=/boot/sabayon.igz aufs init=/linuxrc cdroot cdroot_type=udf looptype=squashfs max_loop=64 loop=/livecd.squashfs splash=silent,theme:sabayon __KMS__ vga=788 noproprietary genuine res=1024x768 refresh=60 hsync=43-51 pci=routeirq irqpoll noddc console=tty1 quiet nokvm --
LABEL console
menu label ^Console mode
kernel /boot/sabayon
append root=/dev/ram0 initrd=/boot/sabayon.igz aufs init=/linuxrc cdroot cdroot_type=udf looptype=squashfs max_loop=64 loop=/livecd.squashfs splash=verbose,theme:sabayon vga=791 gentoo=nox nox console=tty1 quiet --
append root=/dev/ram0 initrd=/boot/sabayon.igz aufs init=/linuxrc cdroot cdroot_type=udf looptype=squashfs max_loop=64 loop=/livecd.squashfs splash=verbose,theme:sabayon __KMS__ vga=791 gentoo=nox nox console=tty1 quiet --
LABEL debug
menu label Deb^ug mode

View File

@ -1,54 +1,54 @@
DEFAULT /boot/sabayon
GFXBOOT bootlogo
GFXBOOT-BACKGROUND 0xAAAAAA
APPEND root=/dev/ram0 initrd=/boot/sabayon.igz aufs init=/linuxrc cdroot cdroot_type=udf looptype=squashfs max_loop=64 loop=/livecd.squashfs splash=silent,theme:sabayon vga=791 console=tty1 quiet --
APPEND root=/dev/ram0 initrd=/boot/sabayon.igz aufs init=/linuxrc cdroot cdroot_type=udf looptype=squashfs max_loop=64 loop=/livecd.squashfs splash=silent,theme:sabayon __KMS__ vga=791 console=tty1 quiet --
LABEL sabayon
menu label ^Start Sabayon __VERSION__ __FLAVOUR__
kernel /boot/sabayon
append root=/dev/ram0 initrd=/boot/sabayon.igz aufs init=/linuxrc cdroot cdroot_type=udf looptype=squashfs max_loop=64 loop=/livecd.squashfs splash=silent,theme:sabayon vga=791 console=tty1 quiet music --
append root=/dev/ram0 initrd=/boot/sabayon.igz aufs init=/linuxrc cdroot cdroot_type=udf looptype=squashfs max_loop=64 loop=/livecd.squashfs splash=silent,theme:sabayon __KMS__ vga=791 console=tty1 quiet music --
LABEL sabayonnomusic
menu label ^Start Sabayon w/o boot music
kernel /boot/sabayon
append root=/dev/ram0 initrd=/boot/sabayon.igz aufs init=/linuxrc cdroot cdroot_type=udf looptype=squashfs max_loop=64 loop=/livecd.squashfs splash=silent,theme:sabayon vga=791 console=tty1 quiet --
append root=/dev/ram0 initrd=/boot/sabayon.igz aufs init=/linuxrc cdroot cdroot_type=udf looptype=squashfs max_loop=64 loop=/livecd.squashfs splash=silent,theme:sabayon __KMS__ vga=791 console=tty1 quiet --
LABEL sabayonmce
menu label ^Start Sabayon Media Center
kernel /boot/sabayon
append root=/dev/ram0 initrd=/boot/sabayon.igz aufs init=/linuxrc cdroot cdroot_type=udf looptype=squashfs max_loop=64 loop=/livecd.squashfs splash=silent,theme:sabayon vga=791 console=tty1 quiet sabayonmce --
append root=/dev/ram0 initrd=/boot/sabayon.igz aufs init=/linuxrc cdroot cdroot_type=udf looptype=squashfs max_loop=64 loop=/livecd.squashfs splash=silent,theme:sabayon __KMS__ vga=791 console=tty1 quiet sabayonmce --
LABEL eeepc
menu label Sabayon Netbook
kernel /boot/sabayon
append root=/dev/ram0 initrd=/boot/sabayon.igz aufs init=/linuxrc cdroot cdroot_type=udf looptype=squashfs max_loop=64 loop=/livecd.squashfs splash=silent,theme:sabayon vga=0x312 console=tty1 quiet eeepc --
append root=/dev/ram0 initrd=/boot/sabayon.igz aufs init=/linuxrc cdroot cdroot_type=udf looptype=squashfs max_loop=64 loop=/livecd.squashfs splash=silent,theme:sabayon __KMS__ vga=0x312 console=tty1 quiet eeepc --
LABEL eeepcmce
menu label Sabayon Media Center Netbook
kernel /boot/sabayon
append root=/dev/ram0 initrd=/boot/sabayon.igz aufs init=/linuxrc cdroot cdroot_type=udf looptype=squashfs max_loop=64 loop=/livecd.squashfs splash=silent,theme:sabayon vga=0x312 console=tty1 quiet eeepc sabayonmce --
append root=/dev/ram0 initrd=/boot/sabayon.igz aufs init=/linuxrc cdroot cdroot_type=udf looptype=squashfs max_loop=64 loop=/livecd.squashfs splash=silent,theme:sabayon __KMS__ vga=0x312 console=tty1 quiet eeepc sabayonmce --
LABEL install
menu label Graphical ^Installation
kernel /boot/sabayon
append root=/dev/ram0 initrd=/boot/sabayon.igz aufs init=/linuxrc cdroot cdroot_type=udf looptype=squashfs max_loop=64 loop=/livecd.squashfs splash=silent,theme:sabayon vga=791 console=tty1 quiet installer-gui --
append root=/dev/ram0 initrd=/boot/sabayon.igz aufs init=/linuxrc cdroot cdroot_type=udf looptype=squashfs max_loop=64 loop=/livecd.squashfs splash=silent,theme:sabayon __KMS__ vga=791 console=tty1 quiet installer-gui --
LABEL mceinstall
menu label Graphical ^Installation (Media Center)
kernel /boot/sabayon
append root=/dev/ram0 initrd=/boot/sabayon.igz aufs init=/linuxrc cdroot cdroot_type=udf looptype=squashfs max_loop=64 loop=/livecd.squashfs splash=silent,theme:sabayon vga=791 console=tty1 quiet installer-gui mceinstall --
append root=/dev/ram0 initrd=/boot/sabayon.igz aufs init=/linuxrc cdroot cdroot_type=udf looptype=squashfs max_loop=64 loop=/livecd.squashfs splash=silent,theme:sabayon __KMS__ vga=791 console=tty1 quiet installer-gui mceinstall --
LABEL text-install
menu label Text ^Installation
kernel /boot/sabayon
append root=/dev/ram0 initrd=/boot/sabayon.igz aufs init=/linuxrc cdroot cdroot_type=udf looptype=squashfs max_loop=64 loop=/livecd.squashfs splash=verbose,theme:sabayon vga=791 console=tty1 quiet installer-text gentoo=nox nox --
append root=/dev/ram0 initrd=/boot/sabayon.igz aufs init=/linuxrc cdroot cdroot_type=udf looptype=squashfs max_loop=64 loop=/livecd.squashfs splash=verbose,theme:sabayon __KMS__ vga=791 console=tty1 quiet installer-text gentoo=nox nox --
LABEL genuine
menu label Safe ^Mode
kernel /boot/sabayon
append root=/dev/ram0 initrd=/boot/sabayon.igz aufs init=/linuxrc cdroot cdroot_type=udf looptype=squashfs max_loop=64 loop=/livecd.squashfs splash=silent,theme:sabayon vga=788 noproprietary genuine res=1024x768 refresh=60 hsync=43-51 pci=routeirq irqpoll noddc console=tty1 quiet nokvm --
append root=/dev/ram0 initrd=/boot/sabayon.igz aufs init=/linuxrc cdroot cdroot_type=udf looptype=squashfs max_loop=64 loop=/livecd.squashfs splash=silent,theme:sabayon __KMS__ vga=788 noproprietary genuine res=1024x768 refresh=60 hsync=43-51 pci=routeirq irqpoll noddc console=tty1 quiet nokvm --
LABEL console
menu label ^Console mode
kernel /boot/sabayon
append root=/dev/ram0 initrd=/boot/sabayon.igz aufs init=/linuxrc cdroot cdroot_type=udf looptype=squashfs max_loop=64 loop=/livecd.squashfs splash=verbose,theme:sabayon vga=791 gentoo=nox nox console=tty1 quiet --
append root=/dev/ram0 initrd=/boot/sabayon.igz aufs init=/linuxrc cdroot cdroot_type=udf looptype=squashfs max_loop=64 loop=/livecd.squashfs splash=verbose,theme:sabayon __KMS__ vga=791 gentoo=nox nox console=tty1 quiet --
LABEL debug
menu label Deb^ug mode

View File

@ -25,11 +25,19 @@ ver=${RELEASE_VERSION}
sed -i "s/__VERSION__/${ver}/g" "${isolinux_destination}"
sed -i "s/__FLAVOUR__/${remaster_type}/g" "${isolinux_destination}"
kms_string=""
# should KMS be enabled?
if [ -f "${CHROOT_DIR}/.enable_kms" ]; then
rm "${CHROOT_DIR}/.enable_kms"
kms_string="radeon.modeset=1"
fi
sed -i "s/__KMS__/${kms_string}/g" "${isolinux_destination}"
sabayon_pkgs_file="${CHROOT_DIR}/etc/sabayon-pkglist"
if [ -f "${sabayon_pkgs_file}" ]; then
cp "${sabayon_pkgs_file}" "${CDROOT_DIR}/pkglist"
if [ -n "${ISO_PATH}" ]; then # molecule 0.9.6 required
# copy pkglist over to ISO path + pkglist
cp "${sabayon_pkgs_file}" "${ISO_PATH}".pkglist
cp "${sabayon_pkgs_file}" "${ISO_PATH}".pkglist
fi
fi

View File

@ -104,6 +104,38 @@ gforensic_remove_skel_stuff() {
rm /etc/skel/.kderc
}
setup_oss_gfx_drivers() {
# do not tweak eselect mesa, keep defaults
# This file is polled by the isolinux.cfg setup script
touch /.enable_kms
}
setup_proprietary_gfx_drivers() {
# Prepare NVIDIA legacy drivers infrastructure
if [ ! -d "/install-data/drivers" ]; then
mkdir -p /install-data/drivers
fi
myuname=$(uname -m)
mydir="x86"
if [ "$myuname" == "x86_64" ]; then
mydir="amd64"
fi
kernel_tag="#$(equo match --installed -qv sys-kernel/linux-sabayon | sort | head -n 1 | cut -d"-" -f 4 | sed 's/ //g')-sabayon"
rm -rf /var/lib/entropy/client/packages/packages*/${mydir}/*/x11-drivers*
ACCEPT_LICENSE="NVIDIA" equo install --fetch --nodeps =x11-drivers/nvidia-drivers-173*$kernel_tag
ACCEPT_LICENSE="NVIDIA" equo install --fetch --nodeps =x11-drivers/nvidia-drivers-96*$kernel_tag
# not working with >=xorg-server-1.5
# ACCEPT_LICENSE="NVIDIA" equo install --fetch --nodeps ~x11-drivers/nvidia-drivers-71.86.*$kernel_tag
mv /var/lib/entropy/client/packages/packages-nonfree/${mydir}/*/x11-drivers\:nvidia-drivers*.tbz2 /install-data/drivers/
# if we ship with ati-drivers, we have KMS disabled by default.
# and better set driver arch to classic
eselect mesa set r600 classic
}
if [ "$1" = "lxde" ]; then
setup_networkmanager
# Fix ~/.dmrc to have it load LXDE
@ -114,6 +146,7 @@ if [ "$1" = "lxde" ]; then
# properly tweak lxde autostart tweak, adding --desktop option
sed -i 's/pcmanfm -d/pcmanfm -d --desktop/g' /etc/xdg/lxsession/LXDE/autostart
setup_cpufrequtils
setup_oss_gfx_drivers
elif [ "$1" = "e17" ]; then
setup_networkmanager
# Fix ~/.dmrc to have it load E17
@ -129,6 +162,7 @@ elif [ "$1" = "e17" ]; then
# Fix ~/.gtkrc-2.0 for some nice icons in gtk
echo 'gtk-icon-theme-name="Tango" gtk-theme-name="Xfce"' | tr " " "\n" > /etc/skel/.gtkrc-2.0
setup_cpufrequtils
setup_oss_gfx_drivers
elif [ "$1" = "xfce" ]; then
setup_networkmanager
# Fix ~/.dmrc to have it load XFCE
@ -137,6 +171,7 @@ elif [ "$1" = "xfce" ]; then
remove_desktop_files
setup_cpufrequtils
setup_displaymanager
setup_oss_gfx_drivers
elif [ "$1" = "fluxbox" ]; then
setup_networkmanager
# Fix ~/.dmrc to have it load Fluxbox
@ -145,57 +180,36 @@ elif [ "$1" = "fluxbox" ]; then
remove_desktop_files
setup_displaymanager
setup_cpufrequtils
setup_oss_gfx_drivers
elif [ "$1" = "gnome" ]; then
setup_networkmanager
# Fix ~/.dmrc to have it load GNOME
echo "[Desktop]" > /etc/skel/.dmrc
echo "Session=gnome" >> /etc/skel/.dmrc
SHIP_NVIDIA_LEGACY="1"
rc-update del system-tools-backends boot
rc-update add system-tools-backends default
setup_displaymanager
setup_sabayon_mce
setup_proprietary_gfx_drivers
elif [ "$1" = "gforensic" ]; then
setup_networkmanager
# Fix ~/.dmrc to have it load GNOME
echo "[Desktop]" > /etc/skel/.dmrc
echo "Session=gnome" >> /etc/skel/.dmrc
SHIP_NVIDIA_LEGACY="1"
rc-update del system-tools-backends boot
rc-update add system-tools-backends default
setup_displaymanager
setup_sabayon_mce
gforensic_remove_skel_stuff
setup_proprietary_gfx_drivers
elif [ "$1" = "kde" ]; then
setup_networkmanager
# Fix ~/.dmrc to have it load KDE
echo "[Desktop]" > /etc/skel/.dmrc
echo "Session=KDE-4" >> /etc/skel/.dmrc
SHIP_NVIDIA_LEGACY="1"
setup_displaymanager
setup_sabayon_mce
fi
if [ -n "${SHIP_NVIDIA_LEGACY}" ]; then
# Prepare NVIDIA legacy drivers infrastructure
if [ ! -d "/install-data/drivers" ]; then
mkdir -p /install-data/drivers
fi
myuname=$(uname -m)
mydir="x86"
if [ "$myuname" == "x86_64" ]; then
mydir="amd64"
fi
kernel_tag="#$(equo match --installed -qv sys-kernel/linux-sabayon | sort | head -n 1 | cut -d"-" -f 4 | sed 's/ //g')-sabayon"
rm -rf /var/lib/entropy/client/packages/packages*/${mydir}/*/x11-drivers*
ACCEPT_LICENSE="NVIDIA" equo install --fetch --nodeps =x11-drivers/nvidia-drivers-173*$kernel_tag
ACCEPT_LICENSE="NVIDIA" equo install --fetch --nodeps =x11-drivers/nvidia-drivers-96*$kernel_tag
# not working with >=xorg-server-1.5
# ACCEPT_LICENSE="NVIDIA" equo install --fetch --nodeps ~x11-drivers/nvidia-drivers-71.86.*$kernel_tag
mv /var/lib/entropy/client/packages/packages-nonfree/${mydir}/*/x11-drivers\:nvidia-drivers*.tbz2 /install-data/drivers/
setup_proprietary_gfx_drivers
fi
# !!! THERE IS A BUG IN THE CLAMAV EBUILD !!!