<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Linux Forum &mdash; Скрипт удаления nouveau]]></title>
	<link rel="self" href="https://linuxforum.ru/extern.php?action=feed&amp;tid=2062&amp;type=atom" />
	<updated>2010-03-27T23:50:42Z</updated>
	<generator>PunBB</generator>
	<id>https://linuxforum.ru/viewtopic.php?id=2062</id>
		<entry>
			<title type="html"><![CDATA[Скрипт удаления nouveau]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=28642#p28642" />
			<content type="html"><![CDATA[<p>потребовался такой скрипт (руками уже делать это облом)<br />так как в fc12 (и вероятно в последующих) по умолчанию видеодрайвер - nouveau с ним приходится возиться (удалять и ставить NVIDIA)</p><p>примерно прикинул как это дело должно выглядеть:<br />1.проверяется от рута ли запущен скрипт (если нет, то просим запустить под рутом)<br />2.проверяется наличие проперитарного NVIDIA драйвера, путь к которому должен быть передан в параметре&nbsp; скрипта (если нет, то просим скачать с оф сайта)<br />3.удаляем nouveau (&quot;yum remove xorg-x11-nouveau&quot;)<br />4.бекапим grub.conf (&quot;cp /boot/grub/grub.conf /boot/grub/grub.conf.back&quot;)<br />5.добавляем в строку с параметрами ядра rdblacklist=nouveau<br />6.бекапим initramfs (&quot;cp /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).back&quot;)<br />7.пересобираем его (&quot;dracut --force /boot/initramfs-$(uname -r).img $(uname -r)&quot;)<br />8.запускаем установку драйвера</p><p>вопрос по 8ому: если можно автоматизировать весь процесс, то как?</p><p>Заранее спасибо!</p><p>ЗЫ если есть какие-то замечания к алгоритму, то пожалуйста озвучте (вдруг это всё проще делается?)</p><p>помогать видимо мало кто собирается...<br />вот что вышло</p><div class="codebox"><pre><code>#!/bin/sh

echo &quot;This scritp remove nouveau and start NVIDIA driver installer&quot;

user=$(whoami)

if [ $user != &quot;root&quot; ]
then
        echo &quot;you must be a root!&quot;
        echo &quot;script failed&quot;
        exit 0  
fi

echo &quot;Do you want this? y/N&quot;
read ans
case $ans in
    Y|y) echo &quot;scritp started&quot;;;
    N|n) echo &quot;exit&quot;
             echo &quot;script terminate&quot;
         exit 0;;
    *)   echo &quot;wtf?&quot;
             echo &quot;script failed&quot;
         exit 0;;
esac

if [ $# -eq 1 ]
then
    if [ -f $1 ]
    then
        if [ -x $1 ]
        then
            echo &quot;$1 is runing before script&quot;
        else
            echo &quot;$1 isn&#039;t executeble file!&quot;
            echo &quot;script failed&quot;
            exit 0
        fi
    else
        echo &quot;executeble file not found&quot;
        echo &quot;script failed&quot;
        exit 0
    fi
else
    echo &quot;haven&#039;t path of executeble file&quot;
    echo &quot;script failed&quot;
    exit 0
fi

echo &quot;Removing xorg-x11-drv-nouveau pack&quot;
yum remove xorg-x11-drv-nouveau

echo &quot;Reconfig grub.conf - add rdblacklist=nouveau&quot;
mv /boot/grub/grub.conf /boot/grub/grub.conf.backup_nouveau
cp /dev/null /boot/grub/grub.conf
sed &#039;/^[^#].*kernel/s/$/ rdblacklist=nouveau/g&#039; /boot/grub/grub.conf.backup_nouveau &gt; /boot/grub/grub.conf

echo &quot;Rreconfig initramfs&quot;
cp /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).back
dracut --force /boot/initramfs-$(uname -r).img $(uname -r)

echo &quot;Start NVIDIA driver installer&quot;
sh $1
        
echo &quot;Succesfull!&quot;
exit 0</code></pre></div><p>пока не проверял</p>]]></content>
			<author>
				<name><![CDATA[aviator]]></name>
				<uri>https://linuxforum.ru/profile.php?id=1578</uri>
			</author>
			<updated>2010-03-27T23:50:42Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=28642#p28642</id>
		</entry>
</feed>
