========= 문제 해결 ========= 차례: 기존의 FreeBSD 파티션 수정하기 알려진 설치 문제, Q & A 알려진 하드웨어 문제, Q & A 기존의 FreeBSD 파티션 수정하기 ------------------------------ FreeBSD 2.2.1과 이후 판은 이제 부트 플로피의 최상위 메뉴에서 "수정"옵션이란 특징을 가지고 있습니다. 이것을 사용하기 위해서는, 부트 플로피와 같은 방법으로 만들어진 fixit.flp 플로피 이미지나 Walnut Creek CDROM의 FreeBSD 배포본의 두번째 CDROM이 필요합니다. 수정을 하기 위해서는, kern.flp 플로피로 부팅해서, "수정" 항목을 선택하고 질문에 따라 fixit플로피나 CDROM을 넣으세요. 그러면 여러가지 다양한 종류의 가능한 명령어들을 사용할 수 있는 쉘로 떨어지게 되고,(/stand와 /mnt2/stand디렉토리들) 여기서 파일시스템과 그 내용을 검사하고 조사해서 고칠 수 있습니다. 수정 옵션을 사용하기 위해서는 약간의 유닉스 관리 경험이 필요합니다! 알려진 설치 문제, Q & A ----------------------- Q: FreeBSD를 설치할 후 처음으로 하드디스크에서 부팅하려 하는데, 커널을 읽어들이고 하드웨어를 판별한 다음, 다음과 같은 메시지를 내며 정지합니다. changing root device to wd1s1a panic: cannot mount root 무엇이 잘못되었죠? 어떻게 해야 합니까? Q: 부트 도움말에 표시되는 'bios_drive:interface(unit,partition)kernel_name' 은 무엇입니까? A: 이는 부트 디스크가 시스템의 첫번째 디스크가 아닌 경우에 생기는 오래된 문제입니다. BIOS는 FreeBSD와 다른 번호 부여를 하므로, 제대로 하기 위해서 어떤 번호가 어디에 대응되는지 알기는 어렵습니다. 부트 디스크가 시스템의 첫번째 디스크가 아닌 경우에, FreeBSD는 이를 찾는데 약간의 도움을 필요로 합니다. 여기 두가지 공통적인 상황이 있는데, 이 두가지 모두의 경우에 있어, 여러분은 FreeBSD에게 루트 파일시스템이 어디 있는지 알려주어야 합니다. 그렇게 하려면 BIOS 디스크 번호, 디스크 종류와 그 종류의 FreeBSD 디스크 번호를 지정하면 됩니다. 첫번째 경우는 두개의 IDE 디스크를 가진 경우로, 각각이 해당 IDE 버스에서 마스터로 설정되어 있고, 두번째 디스크에서 FreeBSD를 부팅하고자 한다고 합시다. BIOS는 이들을 디스크 0과 디스크 1로 보지만, FreeBSD는 wd0과 wd2로 봅니다. 1:wd(2,a)kernel 프라이머리 버스에 슬레이브 장치가 있다면, 위 문장은 필요하지 않습니다 (그리고 틀렸습니다). 두번째 경우는 시스템에 하나이상의 IDE디스크가 있을 때 SCSI 디스크에서 부팅하는 경우에 해당합니다. 이 경우, FreeBSD 디스크 번호는 BIOS 디스크 번호보다 낮습니다. SCSI 디스크와 같이 두개의 IDE 디스크를 갖는다면 SCSI 디스크는 BIOS 디스크 2이고, 종류는 'da'이며 FreeBSD 디스크 번호 0이므로 다음과 같이 알려줍니다: 2:da(0,a)kernel 시스템의 첫번째 SCSI디스크인 BIOS 디스크 2에서 부팅하고자 하는 것을 FreeBSD에게 알려주게 됩니다. IDE디스크가 하나 있다면, 대신 '1:'을 사용해야 합니다. 일단 올바른 값을 결정했다면, 입력한 것과 동일한 것을 표준 텍스트 편집기를 사용하여 /boot.config파일에 넣으세요. 다르게 지정하지 않는 한 FreeBSD는 이 파일의 내용을 'boot:' 프롬프트의 기본 명령으로 사용할 것입니다. Q: FreeBSD를 설치하고 처음 하드디스크에서 부팅하려 하는데, 부트 관리자는 매번 부트 메뉴에서 `F?'만 표시하고 더이상 진행되지 않습니다. A: FreeBSD를 설치하였을 때 파티션 편집기에서 하드디스크 지리 정보를 잘못 지정하였습니다. 파티션 편집기로 돌아가서 하드디스크의 실제 지리 정보를 지정하세요. 올바른 지리 정보 값으로는 FreeBSD를 처음부터 새로 설치해야 합니다. 여러분 PC의 올바른 지리 정보를 전혀 알아내지 못하겠다면 여기 간단한 팁이 있습니다: 디스크 처음 부분에 조그만 DOS 파티션을 만들고 그 뒤에 FreeBSD를 설치하세요. 설치 프로그램은 DOS파티션을 보고 여기에서 올바른 지리 정보를 찾아내려 하며, 대부분 잘 됩니다. 다음 팁은 더이상 권장하지 않습니다만 참고로 여기 남겨 둡니다: 만일 DOS, Linux나 다른 운영체제와의 (장래의) 호환성을 전혀 염두에 두지 않고 완전히 FreeBSD 서버나 워크스테이션만을 사용하고 싶다면, 디스크의 처음부터 끝까지 전체 디스크를 차지하는 비표준 옵션을 선택하는 전체 디스크를 사용하는 옵션(파티션 편집기에서는 `A')를 사용할 수 있습니다. 이는 모든 지리 정보 문제를 잊어도 되게 하지만, 그 디스크에서 FreeBSD이외의 다른 것을 실행할 수 없다는 다소의 제한이 있습니다. 알려진 하드웨어 문제, 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: 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랩탑은 비표준 키보드 콘트롤러를 사용하는데 키보드 드라이버(atkbd0)에게 ThinkPad에서 동작하기 위한 특별 모드로 들어가도록 지정해야 합니다. UserConfig에서 atkbd0의 'Flags'를 0x04로 지정하면 잘 될 것입니다. ('Keyboard'의 입력 메뉴를 보세요.) Q: 설치 플로피에서 부팅하려 하는데, 다음 메시지가 나오고 아무것도 안됩니다. 키보드에서는 아무것도 입력할 수 없습니다. A: 용량 부족으로, 부트 블럭에서 이전의 XT/AT (84키) 키보드에 대한 완전한 지원이 들어있지 않습니다. 일부 노트북 컴퓨터는 이런 종류의 키보드를 갖고 있습니다. 이러한 종류의 하드웨어를 사용하고 있다면, CD-ROM이나 설치 플로피에서 부팅할때 이러한 메시지를 보게 될 것입니다. 이 메시지를 보고 스페이스를 바를 누르면 다음 프롬프트를 보게 될 것입니다: >> FreeBSD/i386 BOOT Default: x:xx(x,x)/boot/loader boot: 그리고 `-Dh'를 입력하세요. 정상적으로 동작할 것입니다. 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: 테이프 드라이브에서 설치하려고 하는데, 화면에 다음과 같이 나옵니다: sa0(aha0:1:0) NOT READY csi 40,0,0,0 도와주세요! A: 현재의 sysinstall에 제한이 있어서 sysinstall이 시작할 동안 테이프가 *반드시* 드라이브에 있어야 하지 않으면 인식하지 않습니다. 처음부터 드라이브에 테이프를 넣고 다시 해 보세요. Q: FreeBSD를 시스템에 설치했는데, 하드디스크에서 부팅할 때 다음 메시지를 남기고 다운됩니다: ``Changing root to /dev/da0a''. 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를 설치하거나, BIOS를 업그레이드 하세요(인텔의 웹사이트에 자세한 정보가 있습니다). 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: 제 이더넷 아답터는 AMD PCnet-FAST(또는 다른 것)으로 잡습니다만 동작하지 않습니다. (예. IBM Netfinity 5xxx나 7xxx의 온보드 이더넷) A: 'lnc'드라이버는 현재 잘못된 점이 있어, PCnet-FAST와 PCnet-FAST+에서 올바르게 동작하지 않는 때가 종종 있습니다. 다른 이더넷 아답터를 설치할 필요가 있습니다 Q: IBM EtherJet PCI 카드가 있습니다만, 'fxp'드라이버로 올바르게 찾은 뒤에 카드에 불이 들어오지 않도 네트워크 연결이 안됩니다. A: 우리는 왜 그러는지 모릅니다. IBM도 잘 모릅니다(물어 보았습니다). 이 카드는 IBM 레이블이 달려있는 표준 인텔 EtherExpress Pro/100 카드이며, 이 카드는 보통 잘 동작합니다. 이런 증상은 일부의 Netfinity 서버에서만 나타난다고 합니다. 유일한 해결책은 다른 이더넷 아답터를 설치하는 것입니다. Q: IBM Netfinity 3500에 설치 도중 네트워크를 설정하려 하면 시스템이 중지됩니다. A: Netfinity 3500의 온보드 이더넷에 문제로 지금은 인식할 수 없습니다. 잘못 설정된 시스템의 SMP 기능에 관련된 것일 지도 모릅니다. 다른 이더넷 아답터를 설치하고 온보드 아답터를 어느때든 사용하려 하지 않도록 피하세요. [ 이 Q&A란에 더 많은 하드웨어 팁을 추가해 주세요! ]