=========
문제 해결
=========

기존의 FreeBSD 파티션 수정하기
------------------------------

FreeBSD 2.2.1과 이후 판은 이제 부트 플로피의 최상위 메뉴에서
"수정"옵션이란 특징을 가지고 있습니다. 이것을 사용하기 위해서는, 부트
플로피와 같은 방법으로 만들어진 fixit.flp 플로피 이미지나 Walnut Creek
CDROM의 FreeBSD 배포본의 두번째 CDROM이 필요합니다. 

수정을 하기 위해서는, 부트 플로피로 부팅해서, "수정" 항목을 선택하고
질문에 따라 fixit플로피나 CDROM을 넣으세요. 그러면 여러가지 다양한
종류의 가능한 명령어들을 사용할 수 있는 쉘로 떨어지게 되고,(/stand와
/mnt2/stand디렉토리들) 여기서 파일시스템과 그 내용을 검사하고 조사해서
고칠 수 있습니다. 수정 옵션을 사용하기 위해서는 약간의 유닉스 관리
경험이 필요합니다!


알려진 하드웨어 문제, Q & A
---------------------------

Q: mcd0는 장치를 찾았다고 하는데, 제 Intel EtherExpress카드는 동작하지
   않습니다.

A: UserConfig유틸리티(HARDWARE.TXT를 보세요)를 사용해서 mcd0와
   mcd1장치를 찾지 못하도록 하세요. 일반적으로, 사용할 장치만 커널에
   남겨두어야 합니다. 


Q: FreeBSD는 3Com의 PCMCIA카드를 지원한다고 하였는데, 제 카드는 랩탑에
   꽂았을 때 인식하지 않습니다.

A: 몇가지 문제가 있습니다. 먼저 FreeBSD는 다기능 카드를 지원하지
   않습니다. 따라서 (3C562와 같은) 컴보 이더넷/모뎀 카드가 있다면
   동작하지 않습니다. 3C589카드의 기본 드라이버는 FreeBSD의 다른
   드라이버처럼 작성되었으며, NVRAM에 저장된 카드의 설정에 의해
   작동됩니다. 반드시 NVRAM에 저장된 IRQ, 포트, IOMEM을 FreeBSD의
   드라이버와 일치하도록 올바르게 설정해야 합니다.
   불행히도 이들을 읽을 수 있는 유일한 프로그램은 3COM이 제공하는
   DOS프로그램 뿐입니다. 이 프로그램은 반드시 아주 깨끗한 시스템(다른
   드라이버가 작동해서는 안됩니다)에서만 실행해야 합니다. 프로그램은
   CARD-서비스를 찾지 못했다고 하겠지만 계속할 수 있습니다. 이것은
   NVRAM값을 읽어내는데 필요합니다. IRQ, 포트, IOMEM값을 알아야
   하는데(후자는 3COM에서는 CIS tuple이라고 부릅니다), 앞의 두가지는
   프로그램에서 지정할 수 있고, 세번째는 지정할 수는 없고 읽을 수만
   있습니다. 일단 이 값을 알고 UserConfig에서 값을 지정하면 인식할
   것입니다.


Q: FreeBSD는 제 PCMCIA네트웍 카드를 찾았는데 동작한다고 하지만 패킷을
   보낼 수 없는것 같습니다.

A: 많은 PCMCIA카드는 네트웍에 연결하기 위해 10-Base2(BNC)나
   10-BaseT코넥터를 사용할 수 있습니다. 드라이버는 올바른 코넥터를
   '자동 선택'할 수 없어서 어느 코넥터를 사용할 것인지 가르쳐 주어야
   합니다. 두 코넥터 간을 옮겨다니기 위해서, link플래그가 지정되어
   있어야 합니다. 카드의 모델에 따라, '-link0 link1' 또는 'link0
   -link1'이 올바른 네트웍 코넥터를 선택하게 해 줍니다. sysinstall에서
   네트웍 설정 화면의 'ifconfig명령의 부가적 옵션' 필드에서 지정할 수
   있습니다. 


Q: 시스템은 제 ed네트웍 카드를 찾았다고 하는데 계속 장치 타임아웃 오류
   (device timeout error)가 납니다.

A: 카드가 아마도 커널 설정에 지정된 것과 다른 IRQ를 사용하고 있을
   것입니다. ed드라이버는 기본적으로 `소프트웨어' 설정을 사용하지
   않습니다만(DOS의 EZSETUP에서 입력하는 값), 커널 설정 파일의
   IRQ필드에서 `?'를 지정하면 소프트웨어 설정을 사용할 것입니다.

   카드의 점퍼를 하드웨어 설정으로 바꾸거나(필요한 경우 커널 설정을
   바꿉니다), 커널 설정 파일에서 `?'를 지정하거나 UserConfig에서 IRQ를
   `-1'로 지정하세요. 이는 커널에게 소프트웨어 설정을 사용하라고
   가르쳐 줍니다.

   다른 가능성은 카드가 IRQ 9에 있는 것인데, IRQ 9는 IRQ 2과 공유하고
   있으며 종종 문제를 일으킵니다(특별히 IRQ 2를 사용하는 VGA카드를 쓸
   때! :). 가능하다면 IRQ 2나 9는 사용하지 말아야 합니다.


Q: FreeBSD를 설치한 다음 처음으로 하드디스크에서 부팅하려 할 때 부트
   관리자는 매번 부트 메뉴에서 `F?'만 표시하고 더 이상 진행하지 않습니다.

A: FreeBSD를 설치할 때 파티션 편집기에서 하드디스크 지리정보(geometry)를
   부정확하게 지정하였습니다. 파티션 편집기로 다시 돌아가서 하드디스크의
   실제 지리정보를 지정하세요. 올바른 지리 정보를 가지고 FreeBSD를
   처음부터 다시 설치해야만 합니다.

   여러분의 PC의 올바른 지리정보를 알아내지 못했다면, 팁이 하나
   있습니다. 디스크 앞부분에 조그만 DOS파티션을 만들고 FreeBSD를 그 뒤에
   설치하세요. 설치 프로그램은 DOS파티션을 보고 올바른 지리 정보를
   추측하려 하는데, 대부분 맞습니다.

   나중에 같은 디스크에서 DOS나 Linux를 같이 쓰려고 생각하지 않는
   경우에는, 완전히 FreeBSD만 사용하는 서버나 워크스테이션을 만들려고
   하면 처음부터 끝까지 전체 디스크를 FreeBSD가 차지하게 하는
   비 표준 옵션이 있는 전체 디스크 사용 옵션(파티션 편집기의 `A')을
   선택할 수 있습니다. 이는 지리정보 문제를 생각하지 않아도 되게
   하지만 그 디스크에 FreeBSD말고 다른 것을 같이 운영할 수 없다는
   제한점이 있습니다. 


Q: Matsushita/Panasonic드라이브를 갖고 있는데 시스템에서 인식하지
   않습니다.

A: matcd드라이버의 I/O포트가 여러분이 가진 호스트 인터페이스 카드와
   같이 지정되어 있는지 확인하세요(일부 SoundBlaster DOS드라이버는
   CD-ROM인터페이스의 하드웨어 I/O포트 주소를 실제보다 0x10정도 낮게
   알려줍니다).

   보드나 문서를 조사해 보아서 카드의 설정을 알아낼 수 없다면,
   UserConfig를 사용해서 '포트'주소를 -1로 하고 시스템을 다시 시작할 수
   있습니다. 이 설정은 드라이버가 Matsushita/Panasonic/Creative
   CD-ROM인터페이스를 위한 여러가지 제조업체가 사용하는 몇가지 I/O포트를
   찾아보도록 하며, 올바른 주소를 지정하기 위해서는 UserConfig를 다시
   실행해야 합니다. '포트'파라미터를 -1로 지정하는 것은 시스템이
   부팅하는데 걸리는 시간이 더 걸리게 하며, 다른 장치를 방해할 수 
   있습니다.

   2배속 Matsushita CR-562와 CR-563드라이브만을 지원합니다.
   

Q: 제 IBM ThinkPad(tm)랩탑에서 설치 플로피로 부팅했는데 키보드가 듣지
   않습니다.

A: 이전의 IBM랩탑은 비표준 키보드 콘트롤러를 사용하는데 콘솔
   드라이버(sc0)에게 ThinkPad에서 동작하기 위한 특별 모드로 들어가도록
   지정해야 합니다. UserConfig에서 sc0의 'Flags'를 0x10로 지정하면 잘 될
   것입니다. ('Syscons 콘솔 드라이버'의 입력 메뉴를 보세요.)


Q: Matsushita/Panasonic CR-522, Matsushita/Panasonic CR-523, TEAC CD55a
   드라이브를 갖고 있는데, I/O포트를 맞게 지정했는데도 인식하지 않습니다.

A: 이 CD-ROM드라이브는 현재 FreeBSD에서 지원하지 않습니다. 이 드라이브의
   명령 셋은 2배속 CR-562와 CR-563드라이브와 호환성이 없습니다.

   1배속 CR-522와 CR-523드라이브는 CD 캐디를 사용하니 알아볼 수 있습니다.


Q: 테이프 드라이브에서 설치하려고 하는데, 화면에 다음과 같이 나옵니다:
        st0(aha0:1:0) NOT READY csi 40,0,0,0
   도와주세요!

A: 현재의 sysinstall에 제한이 있어서 sysinstall이 시작할 동안 테이프가
   *반드시* 드라이브에 있어야 하지 않으면 인식하지 않습니다. 처음부터
   드라이브에 테이프를 넣고 다시 해 보세요.


Q: FreeBSD를 시스템에 설치했는데, 하드디스크에서 부팅할 때 다음 메시지를
   남기고 다운됩니다: ``Changing root to /dev/sd0a''.

A: 이 문제는 3Com 3c509 이더넷 아답터가 있는 시스템에서 일어날 수
   있습니다. 주소 0x300을 사용하는 다른 장치때문에 ep0장치 드라이버는
   인식하기 까다롭습니다. FreeBSD시스템의 전원을 껐다 다시 켜고
   ``Boot:''프롬프트에서 ``-c''라고 지정하세요. 이것은 UserConfig를
   실행할 것입니다(위의 1절을 보세요). ``disable''명령을 사용해서
   ep0드라이버를 제외한 0x300을 인식하는 드라이버를 모두 사용
   불가능하도록 하세요. 종료하면, 여러분의 기계는 성공적으로 FreeBSD를
   부팅할 것입니다.


Q: "fd0: [제 플로피 드라이브]"줄 바로 다음에 부팅하다가 다운됩니다.

A: 이것은 실제적으로 다운이 아니고 단지 아주 긴 "wdc0"인식 작업인데
   어떤 시스템에서는 종종 완료하는데 오랜 시간이 걸립니다(보통
   WD콘트롤러가 _아닌_ 곳에서). 참고 기다리면 시스템이 부팅할 것입니다!
   이 문제를 없애기 위해서는 -c옵션으로 부팅해서 wdc0장치를 제거하거나
   맞춤 커널을 컴파일하세요.


Q: 제 시스템이 Intel EtherExpress 16카드를 찾지 못합니다.

A: Intel이 제공하는 softset.exe프로그램을 사용해서 Intel EtherExpress
   16카드를 주소 0xD0000에 메모리 맵핑이 되고, 매핑되는 메모리의 양을
   32K가 되도록 해야 합니다.


Q: EISA HP Netserver에 설치할 때 제 온보드 AIC-7xxx SCSI콘트롤러를
   인식하지 않습니다.

A: 이것은 알려진 문제이며 나중에 고쳐질 것입니다.
   시스템을 설치하기 위해서 UserConfig로 들어가기 위해 -c옵션으로
   부팅하는데, 예쁜 비주얼 모드를 사용하지 _말고_ 보통의 이전 CLI모드를
   사용하세요. 프롬프트에서 다음과 같이 입력합니다.

        eisa 12
        quit

   (`quit'대신에, `visual'이라고도 입력해서 비주얼 모드에서 나머지 설정
   작업을 계속할 수 있습니다.) 맞춤 커널을 컴파일할 것을 권장하지만
   dset(8)은 이제 이 값을 저장할 수 있습니다.

   이 문제에 대한 설명과 이제 어떻게 계속할 것인지에 대해 FAQ주제 3.16을
   참조하세요. FAQ은 `doc'배포본을 설치했다면 시스템의
   /usr/share/doc/FAQ에 있다는 것을 기억하세요.


Q: Panasonic AL-N1이나 Rios Chandler 펜티엄 기계를 갖고 있는데 시스템이
   설치 과정에 들어가기도 전에 다운됩니다.

A: 그 시스템은 어떤 이유로 인해 새 i586_copyout과 i586_copyin코드가 듣지
   않습니다. 이를 사용하지 않기 위해서는 설치용 부트 플로피로 부팅해서
   처음 메뉴(커널 UserConfig모드로 들어갈 것인지 아닌지를 정하는 곳)에서
   명령행 인터페이스(command-line interface, "전문가 모드")를 택하고
   다음을 입력하세요:

        flags npx0 1

   그러면 정상적으로 부팅될 것입니다. 이것은 커널에 저장되므로, 한번만
   설정하면 됩니다.


Q: CMD640 IDE콘트롤러를 갖고 있는데 잘 안된다더군요.

A: 예. 그렇습니다. 이제는 이 문제의 해결책이 있으며, 시스템에서 이
   칩을 사용한다면 자동적으로 작동합니다. 자세한 것은 디스크
   드라이버의 매뉴얼 페이지를 참고하세요(man 4 wd).


Q: Compaq Aero 노트북에서 플로피로 설치하려 하면 "No floppy devices
   found! Please check ..." 라는 메시지를 출력합니다.

A: Compaq은 다른 시스템과 항상 조금씩 다릅니다. Aero 노트북은 CMOS
   RAM에 플로피 드라이브를 알려주지 않습니다. 따라서 플로피 디스크
   드라이버는 설치된 드라이브가 없다고 가정합니다. UserConfig 화면에
   가서, fdc0 장치의 Flags 값을 0x1로 지저ㅇ하세요. 이것은 CMOS를
   조사하지 않고 드라이버에게 첫번째 플로피 드라이브의 존재를
   가정하도록 합니다(1.44MB 드라이브로). 


Q: 제 인텔 AL440LX("Atlanta")기반 시스템에서 첫번째로 하드디스크에서
   부팅하려 하면 "Read Error"메시지를 내며 정지합니다.

A: 이 보드 중 일부의 BIOS에 버그가 있는 듯 합니다. 이 버그는 FreeBSD
   부트로더가 플로피 디스크에서 부팅한다고 생각하도록 합니다.
   이것은 BootEasy 부트 매니저를 사용하지 않을때만 문제가
   됩니다. 버그를 피하기 위해서 디스크를 `호환' 모드로 설정하고,
   FreeBSD 설치 도중에 BootEasy를 설치하세요.


Q: Dell Poweredge XE에 설치할 때, Dell 전용 RAID 콘트롤러 DSA(Dell
   SCSI Array)를 인식할 수 없습니다.

A: EISA 설정 유틸리티를 사용하여 DSA가 AHA-1540 에뮬레이션을
   사용하도록 설정하세요. 그 뒤에는 FreeBSD가 DSA를 IRQ 11과 포트
   340의 Adaptec AHA-1540 SCSI 콘트롤러로 인식합니다. 에뮬레이션
   모드에서시스템은 DSA RAID 디스크를 사용할 것이지만, RAID 상태
   점검과 같은 DSA에만 있는 기능은 사용할 수 없습니다.

[ 이 Q&A란에 더 많은 하드웨어 팁을 추가해 주세요! ]
