외부 미디어에서 부팅하는 동안 다른 그래픽 카드 드라이버


0

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

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

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

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

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

답변:


1
  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가 현재 그래픽 카드를 자동 감지하도록합니다

+1이 올바른 길인 것 같습니다. 어떻게 자동 감지 하시겠습니까? (lspci 다음 insmod?)
Unreason

lspci는 어렵습니다. 때때로 그래픽 카드는 "디스플레이 컨트롤러", 때로는 "VGA 컨트롤러"라고합니다. 내 마음에 온 첫 번째 일은 "lshw"였습니다. 예 : "lshw | grep -m1 -A5 display | grep 공급 업체"또는 "lshw -c display | grep 공급 업체"

1

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


그렇습니다.하지만 모든 단계가 무엇인지 잘 모르겠습니다. 두 개의 다른 xorg.conf 파일이 있지만 충분합니까? gdm을 시작하기 전에 몇 가지 insmods를 수행해야합니까?
불합리한

X는 구성 파일에 정의 된 모든 모듈을로드해야합니다.
Daenyth

Lego399가 제안한 것처럼 다른 Xorg 구성 파일을로드 할 수있는 스크립트를 실행할 수 있습니다. 구성 파일 (xorg.conf.nv, xorg.conf.ati, xorg.conf.vesa)을 준비하고 그 중 하나를 xorg.conf 원본 파일에 복사하십시오. 그런 다음 Xorg 서버를 실행할 수 있습니다. 따라서 gdm이 시작되기 전에 (또는 다른 로그인 관리자)이 스크립트를 넣어야합니다.

@Pier, 실제로 내가 한 일 (하드웨어 설정마다 하나씩 두 개의 xorg.conf 파일이 있음)이지만 충분하지 않았습니다. 나는 일을하기 위해 기수를 다시 실행해야하기 때문에 충분하지 않다고 생각합니다.
Unreason


1

원하는 내용에 따라 다른 버전의 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이 시작되기 전에 부팅 순서의 어딘가에 넣으십시오.


죄송합니다 .. 질문을 잘못 읽었습니다. 어쨌든 .. :)
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.