외부 미디어에서 부팅하는 동안 다른 그래픽 카드 드라이버 제대로 작동하지만 부팅시로드 할 그래픽 카드

외부 HDD에서 우분투 9.10으로 특정 시스템을 부팅하고 있습니다. 설치에 만족하고 제대로 작동하지만 부팅시로드 할 그래픽 카드 드라이버를 선택할 수 있도록 수정하고 싶습니다. 구체적으로 다음 중에서 선택하고 싶습니다.

  • 엔비디아 독점 드라이버
  • ATI 독점 드라이버
  • 일반 드라이버

현재 독점 드라이버를 사용하는 경우 X로 부팅하지 말고 xorg.conf를 삭제하고 gdm을 시작한 후 jockey (하드웨어 드라이버의 경우)를 사용하여 시스템을 재구성하십시오.

이 (반) 자동화를 수행하고 X를 다시 시작하지 않는 단계는 무엇입니까?

그러한 스크립트의 예를 어디에서 찾을 수 있습니까?



답변

  1. 각 커널에 대한 3 개 가지 GRUB 항목을 확인 driver1, driver2,
    driver3옵션으로.
  2. 3 가지의 xorg.conf (세 개의 드라이버 중 하나 각)를 확인하고 이름을 xorg.conf1, xorg.conf2, xorg.conf2.
  3. 그 초기화 스크립트 쓰기 greps X 전에 실행 /proc/cmdline을 위해 driver1, driver2데르 driver3후 심볼릭 링크 xorg.conf1, xorg.conf2또는 xorg.conf2xorg.conf

xrandr 이전 시대에 듀얼 헤드와 듀얼 헤드가 아닌 화면 설정을 전환하는 비슷한 작업을 수행했습니다. 불행히도 스크립트와 문서는 오랫동안 사라졌습니다.

가능한 개선 사항 :

  • udev-rules 사용
  • initscript가 현재 그래픽 카드를 자동 감지하도록합니다

답변

항상 프로세스를 자동화하는 쉘 스크립트를 만들 수 있습니다.


답변

다음은 grub을 통해 원하는 것을 달성 할 수있는 힌트를 제공합니다.

http://en.gentoo-wiki.com/wiki/Framebuffer


답변

원하는 내용에 따라 다른 버전의 xorg.conf를 작성하십시오. 말하다:

/etc/X11/xorg.conf.nvidia
/etc/X11/xorg.conf.ati
/etc/X11/xorg.conf.generic

그런 다음 /boot/grub/grub.cfg에서 여러 부팅 구성을 구성하고 커널이 지정된 모든 줄에 다른 커널 매개 변수 (예 : xconfig = myconfig)를 입력하십시오. 다음 줄을 따라 :

menuentry "Ubuntu, Linux 2.6.31-17 nvidia" {
  ...
  linux   /vmlinuz-2.6.31-17 root=UUID=885a6a07-fd6c-4638-aa17-d38997d477e1 xconfig=nvidia ro single
 ...
}

menuentry "Ubuntu, Linux 2.6.31-17 ati" {
  ...
  linux   /vmlinuz-2.6.31-17 root=UUID=885a6a07-fd6c-4638-aa17-d38997d477e1 xconfig=ati ro single
 ...
}

menuentry "Ubuntu, Linux 2.6.31-17 generic" {
  ...
  linux   /vmlinuz-2.6.31-17 root=UUID=885a6a07-fd6c-4638-aa17-d38997d477e1 xconfig=generic ro single
 ...
}

인식되지 않는 커널 매개 변수는 무시되지만 / proc / cmdline에서 계속 사용할 수 있습니다. 이를 기반으로 올바른 구성 파일을 선택하는 작은 쉘 스크립트를 작성할 수 있습니다.

#!/bin/bash
rm -f /etc/X11/xorg.conf
config=`cat /proc/cmdline |sed -e 's/.*xconfig=\([a-z]*\).*/\1/g'
ln -s /etc/X11/xonfig.conf.$config /etc/X11/xconfig.conf

그런 다음 gdm이 시작되기 전에 부팅 순서의 어딘가에 넣으십시오.