5.2. 부팅 파라미터

부팅 파라미터는 리눅스 커널 파라미터로 보통 주변 장치를 제대로 동작하도록 제어하는 데 이용합니다. 대부분 커널에서 주변 장치에 관한 정보를 자동으로 찾아 냅니다. 하지만 몇몇 경우에는 파라미터로 커널을 조금 도와줘야 합니다.

시스템을 첫번째로 부팅하는 경우라면, 기본 부팅 파라미터를 시도해 보시고 (즉 파라미터를 사용하지 않는 것) 제대로 동작하는 지 보십시오. 보통은 제대로 동작할 것입니다. 제대로 동작하지 않는 경우에 다시 부팅해서 하드웨어에 필요한 특별한 파라미터가 있는 지 찾아 보십시오.

부팅 파라미터에 관한 정보는 Linux BootPrompt HOWTO에 (여러가지 보기드문 하드웨어에 대한 정보 포함) 있습니다. 여기서는 몇 가지 많이 이용하는 파라미터에 대한 대략만 다룹니다. 많이 발생하는 문제점 몇 개는 5.3절. “설치 과정의 문제 해결”에 들어 있습니다.

커널이 부팅할 때 다음과 같은 메세지가 나와야 합니다:

Memory:availk/totalk available 

여기서 total은 전체 RAM의 크기입니다(킬로바이트 단위). 이 숫자가 실제 설치한 RAM의 용량과 다르다면, mem=ram 파라미터를 사용해야 합니다. 여기서 ram은 메모리의 양이고, 킬로바이트의 경우 “k”, 메가바이트의 경우 “m”을 뒤에 붙입니다. 예를 들어 mem=65536kmem=64m은 모두 64MB의 RAM을 뜻합니다.

시리얼 콘솔로 부팅하는 경우, 보통 자동으로 찾아냅니다. 시리얼 콘솔로 부팅하려는 컴퓨터에 비디오 카드와 (프레임버퍼) 키보드가 붙어 있다면, console=장치 파라미터를 커널에 넘겨야 할 수 있습니다. 여기서 장치는 시리얼 장치이고, ttyS0과 같이 씁니다.

5.2.1. 데비안 설치 프로그램 파라미터

설치 시스템에서는 유용하게 쓸 수도 있는 부팅 파라미터 몇 개를 더 인식합니다[3].

여러가지 파라미터는 “짧은 형식”이 있어서 커널 명령행의 길이 제한을 피하면서 쉽게 입력할 수 있습니다. 어떤 파라미터에 짧은 형식이 있는 경우에는, (일반적인) 긴 형식 뒤에 괄호 안에 써 놓았습니다. 이 안내서에 들어 있는 예제에서도 짧은 형식을 사용합니다.

debconf/priority (priority)

이 파라미터는 표시할 메시지의 가장 낮은 우선순위를 설정합니다.

기본 설치에서는 priority=high를 사용합니다. 즉, 높음 우선 순위와 필수 우선순위의 메세지를 표시하지만, 보통과 낮음 우선 순위 메세지는 넘어갑니다. 문제가 발생할 경우에는 설치 프로그램에서 우선순위를 필요에 따라 조정합니다.

priority=medium을 부팅 파라미터로 쓴 경우, 설치 메뉴에서 설치 메뉴에서 더 많은 조정을 할 수 있습니다. priority=low라고 쓴 경우, 모든 메세지를 볼 수 있습니다. (expert 부팅 방법과 동일합니다.) priority=critical의 경우, 필수 메세지만 표시하고 질문에 신경 쓰지 않고 설치를 진행합니다.

DEBIAN_FRONTEND

이 부팅 파라미터는 설치 프로그램에서 사용할 사용자 인터페이스 종류를 설정합니다. 현재 가능한 파라미터 값은:

  • DEBIAN_FRONTEND=noninteractive

  • DEBIAN_FRONTEND=text

  • DEBIAN_FRONTEND=newt

  • DEBIAN_FRONTEND=gtk

기본 프론트엔드는 DEBIAN_FRONTEND=newt입니다. 시리얼 콘솔 설치의 경우 DEBIAN_FRONTEND=text가 더 좋을 수도 있습니다. 보통 기본 설치 미디어에서는 newt 프론트엔드만 사용할 수 있습니다. 그래픽을 지원하는 아키텍처에서는, 그래픽 설치 프로그램은 gtk 프론트엔드를 사용합니다.

BOOT_DEBUG

이 부트 파라미터를 2로 설정하면 설치프로그램의 부트 절차를 자세하게 기록할 것입니다. 이 값을 3으로 지정하면 부트 프로세스의 전략적인 부분에서 디버깅 쉘을 동작합니다. (부팅을 계속하려면 이 쉘을 끝내십시오.)

BOOT_DEBUG=0

기본값입니다.

BOOT_DEBUG=1

보통때보다 많은 디버깅 정보.

BOOT_DEBUG=2

디버깅 정보 아주 많이.

BOOT_DEBUG=3

부팅 과정의 곳곳에서 쉘을 실행해서 자세히 디버깅을 할 수 있습니다. 부팅을 계속하려면 쉘을 나가면 됩니다.

INSTALL_MEDIA_DEV

이 파라미터의 값은 데비안 설치 프로그램을 읽어들일 장치의 경로입니다. 예를 들어 INSTALL_MEDIA_DEV=/dev/floppy/0

부팅 플로피는 루트 플로피를 찾으면서, 검색할 수 있는 모든 플로피 장치를 검색합니다. 이 파라미터를 재지정해서 장치 한 개만 검색하도록 만들 수 있습니다.

lowmem

사용 가능한 메모리에 따라 저용량 메모리를 판단하는 기준을 설치 프로그램의 기본값보다 높게 만드는 데 사용합니다. 쓸 수 있는 값은 1과 2입니다. 6.3.1.1절. “사용 가능 메모리 검사 / 저용량 메모리 모드” 부분도 참고하십시오.

debian-installer/framebuffer (fb)

어떤 아키텍처에서는 커널 프레임 버퍼를 사용해 여러 가지 언어로 설치를 지원합니다. 프레임버퍼가 문제가 있는 경우 fb=false 파라미터를 통해 프레임버퍼를 끌 수 있습니다. 문제의 증상은 bterm이나 bogl 관련된 오류 메세지, 검은 화면, 설치를 시작하고 몇 분 후에 멈추는 증상입니다.

debian-installer/theme (theme)

테마는 설치 프로그램의 사용자 환경(색, 아이콘 등)을 어떻게 보여줄 것인가를 결정합니다. 프론트엔드에 따라 사용할 수 있는 테마가 달라집니다. 현재 newt와 gtk 프론트엔드에서는 시각장애인을 위한 “dark”테마만 있습니다. 이 테마를 설정하려면 부팅할 때 theme=dark를 파라미터로 넘기면 됩니다.

netcfg/disable_dhcp

기본값으로 debian-installer는 DHCP를 통해 네트워크 설정을 검색합니다. 검색이 성공하면 그 설정을 검사하거나 바꿀 기회가 없습니다. DHCP 검색이 실패할 경우에만 수동 네트워크 셋업을 할 수 있습니다.

로컬 네트워크에 DHCP 서버가 있지만 DHCP를 사용하고 싶지 않을 때 (예를 들어 잘못된 응답을 한다든지 때문에), netcfg/disable_dhcp=true 파라미터를 사용하면 DHCP 네트워크 설정을 막고 수동으로 정보를 입력할 수 있습니다.

hw-detect/start_pcmcia

PCMCIA에 문제가 있을 때 false로 하면 PCMCIA 서비스를 시작하지 않습니다. 일부 노트북 컴퓨터에서 이와 관련해 문제가 발생합니다.

disk-detect/dmraid/enable (dmraid)

true로 설정하면 설치 프로그램에서 시리얼 ATA RAID 디스크를 지원합니다. (ATA RAID, BIOS RAID, 가짜 RAID라고도 합니다.) 이 기능은 아직 실험적인 수준입니다. 더 자세한 내용은 Debian Installer Wiki를 참고하십시오.

preseed/url (url)

미리 설정해 놓은 파일을 다운로드할 URL을 지정합니다. 이 파일을 이용해 설치를 자동화합니다. 4.4절. “자동 설치” 참고.

preseed/file (file)

미리 설정해 놓은 파일을 읽어들일 URL을 지정합니다. 이 파일을 이용해 자동 설치를 합니다. 4.4절. “자동 설치” 참고.

preseed/interactive

미리 설정을 했더라도 질문을 표시하려면 true로 설정하십시오. 미리 설정 파일을 테스트하거나 디버깅하는 데 좋습니다. 이 설정은 부팅 파라미터로 넘긴 파라미터에 대해서는 효과가 없으니 주의하십시오. 부팅 파라미터에 대해서는 특별한 문법을 따로 사용합니다. 자세한 정보는 B.5.2절. “미리 설정을 이용해 기본값 바꾸기” 부분을 보십시오.

auto-install/enable (auto)

미리 설정이 가능하기 전에 물어보는 질문을 네트워크 설정 다음으로 미룹니다. 이 자동 설치 사용법에 대한 자세한 정보는 B.2.3절. “자동 모드” 부분을 보십시오.

finish-install/keep-consoles

시리얼 콘솔이나 관리 콘솔에서 설치하면, 일반 가상 콘솔은 (VT1-VT6) /etc/inittab에서 막습니다. 이 파라미터를 true로 하면 가상 콘솔을 막지 않습니다.

cdrom-detect/eject

기본값으로 debian-installer에서는 다시 시작하기 전에 설치할 때 사용했던 광학 미디어를 자동으로 뺍니다. 시스템이 CD에서 자동으로 부팅하는 경우가 아니라면 이럴 필요가 없을 수도 있습니다. 어떤 경우에는 이렇게 하지 않는 게 좋을 때도 있습니다. 예를 들어 해당 광학 드라이브가 미디어를 다시 집어넣지 못하는 경우나, 사용자가 그 자리에 없기 때문에 수동으로 미디어를 집어넣지 못하는 경우입니다. 보통 슬롯 방식 드라이브는 미디어를 자동으로 다시 집어넣지 못합니다.

자동으로 미디어를 꺼내지 않으려면 false로 설정합니다. 단 설치한 후에 시스템이 광학 드라이브에서 자동으로 부팅하지 않도록 하십시오.

debian-installer/allow_unauthenticated

기본 설정으로 설치 프로그램에서 사용하는 저장소는 알려진 GPG 키를 이용해 인증할 수 있어야 합니다. 이 인증을 하지 않으려면 true로 설정하십시오. 경고: 보안상 문제가 될 수 있으므로, 권장하지 않습니다.

ramdisk_size

이 파라미터는 (필요한 경우) 이미 올바른 값으로 설정되어 있습니다. 램디스크를 완전히 읽어들이지 못해서 부팅이 실패했다는 오류를 본 경우에만 이 파라미터를 설정하십시오. 단위는 kB입니다.

rescue/enable

일반적인 설치를 하지 않고 복구 모드로 변경하려면 true로 설정하십시오. 8.7절. “손상된 시스템 복구하기” 부분을 참고하십시오.

5.2.1.1. 부팅 파라미터로 질문에 답하기

일부 예외를 제외하고, 설치 과정에서 물어보는 모든 질문을 부팅 프롬프트에서 설정할 수 있습니다. (하지만 이 기능은 특수한 상황에서만 쓸모가 있습니다.) 이 기능을 사용하는 방법은 B.2.2절. “부팅 파라미터로 미리 설정하기” 부분을 참고하십시오. 몇 가지 예제가 아래에 있습니다.

debian-installer/locale (locale)

설치할 때 사용할 언어와 국가를 설정하는 데 사용합니다. 이 기능은 해당 로캘을 데비안에서 지원할 경우에만 동작합니다. 예를 들어 언어로 독일어, 국가로 스위스를 선택하려면 locale=de_CH를 사용하십시오.

anna/choose_modules (modules)

기본값으로는 읽어들이지 않는 설치 프로그램 컴포넌트를 자동으로 읽어들이는 데 사용합니다. 유용한 추가 컴포넌트는 openssh-client-udeb (설치 도중에 scp를 사용할 수 있습니다)ppp-udeb(D.4절. “PPP 오버 이더넷을 (PPPoE) 이용해 데비안 GNU/리눅스 설치하기” 참고)이 있습니다.

netcfg/disable_dhcp

DHCP를 끄고 강제로 고정 네트워크 설정을 하려면 true로 설정하십시오.

mirror/protocol (protocol)

기본값으로 설치 프로그램은 데비안 미러에서 파일을 다운로드하는 HTTP 프로토콜을 사용하고, "보통" 우선순위에서는 설치 중에 프로토콜을 FTP로 바꿀 수 없습니다. 이 파라미터를 ftp로 설정하면, 설치 프로그램에서 해당 프로토콜을 HTTP 대신 사용합니다. 단 미러 목록에서 FTP 미러를 선택할 수는 없으므로, 수동으로 호스트 이름을 입력해야 합니다.

tasksel:tasksel/first (tasks)

kde-desktop 태스크처럼 태스크 목록에 나타나지 않는 태스크를 선택할 때 사용합니다. 자세한 정보는 6.3.5.2절. “소프트웨어 선택 및 설치” 참고.

5.2.1.2. 커널 모듈에 파라미터 넘기기

드라이버를 커널 안에 컴파일해 넣었다면, 커널 문서에 쓰여 있는 대로 파라미터를 넘길 수 있습니다. 하지만 드라이버를 모듈로 컴파일했다면 설치한 시스템에서는 부팅할 때 커널 모듈을 약간 다르게 읽어들이기 때문에, 일반적으로 하는 것처럼 모듈에 파라미터를 넘길 수 없게 됩니다. 그 대신에 설치 프로그램이 지원하는 특정 문법을 사용해 해당 파라미터를 올바른 설정 파일에 저장해 모듈을 읽어들일 때 사용하도록 만들 수 있습니다. 이 파라미터는 설치한 시스템의 설정에도 자동으로 적용됩니다.

한편 모듈에 파라미터를 넘겨야 하는 경우는 매우 드뭅니다. 보통 커널에서 시스템에 있는 하드웨어를 자동으로 찾아내서 쓸만한 기본값을 적용해 놓습니다. 하지만 일부 경우에는 파라미터를 수동으로 지정해야 할 수도 있습니다.

모듈의 파라미터를 설정하는 문법은 다음과 같습니다:

모듈_이름.파라미터_이름=

같은 모듈 혹은 여러 모듈에 여러 개의 파라미터를 넘기려면, 이 문법을 반복해서 쓰면 됩니다. 예를 들어 오래된 3Com 네트워크 인터페이스 카드에서 BNC (동축) 커넥터와 IRQ 10을 지정하려면, 다음과 같이 합니다:

3c509.xcvr=3 3c509.irq=10

5.2.1.3. 커널 모듈 블랙리스트

경우에 따라서는 모듈을 블랙리스트에 올려서 커널이나 udev가 자동으로 읽어들이지 않게 만들어야 합니다. 이렇게 하는 이유의 한 가지는 특정 모듈이 해당 하드웨어에서 문제를 일으키는 경우입니다. 또 같은 장치에 대해서 두 개의 다른 드라이버가 있기도 합니다. 드라이버가 충돌하거나 잘못된 드라이버를 먼저 읽어들이면 해당 장치가 제대로 동작하지 않을 수 있습니다.

다음 문법으로 모듈을 블랙리스트에 올릴 수 있습니다: 모듈_이름.blacklist=yes. 이렇게 하면 해당 모듈을 /etc/modprobe.d/blacklist.local의 블랙리스트에 넣어서 설치 프로그램이나 설치한 시스템에 적용합니다.

설치 시스템이 모듈을 직접 읽어들이기도 합니다. 전문가 모드로 설치 프로그램을 시작해서 하드웨어 검색 단계에 나오는 모듈 목록에서 해당 모듈을 제외하면 모듈을 읽어들이지 않게 만들 수 있습니다.



[3] 현재 커널에서는 (2.6.9 이후) 32개의 명령행 옵션과 32개의 환경변수를 사용할 수 있습니다. 이 개수를 넘어가면 커널은 멎어 버립니다.