LILO.CONF(5)

이름
lilo.conf - lilo의 구성 문서

설명

이 문서는 기본적으로 /etc/lilo.conf 에 저장되며, 부트 로더 인스톨러인 lilo가 사용한다. (lilo(8)을 참조할 것).

파일에는 다음과 비슷한 내용이 보일 것이다.

    boot = /dev/hda
    delay = 40
    compact
    vga = normal
    root = /dev/hda1
    read-only
    image = /zImage-1.5.99
            label = try
    image = /zImage-1.0.9
            label = 1.0.9
    image = /tamu/vmlinuz
            label = tamu
            root = /dev/hdb2
            vga = ask
    other = /dev/hda3
            label = dos
            table = /dev/hda

위의 구성 예제는 릴로가 /dev/hda에 있는 마스터 부트 레코드를 쓰도록 규정하고 있는 것을 보여준다. (릴로의 여러 가지 사용 방법과 다른 운영 체계와의 상호 작용 등에 대한 주제 및 토론 자료를 원한다면 릴로 문서집 중의 하나인 user.tex를 참조하라).

위의 경우에서 부트 로더는 부팅시에 사용자가 쉬프트 키를 누를 수 있는 시간을 4초 (40 데시초) 동안 허용한다. 만약 사용자가 쉬프트 키를 사용하지 않은 경우에는 첫 번째에 적혀 있는 커널 이미지 (/zImage-1.5.99, 당신의 방금 5분 전 설치했을지도 모르는)가 사용되어 부팅될 것이다. 만약 사용자가 쉬프트 키를 눌러 준다면 부트 로더는 어느 이미지를 사용해서 부팅을 해야 하는지를 물어 올 것이다. 만약 사용 가능한 목록을 기억할 수 없는 경우에는 [TAB] 키를(만약 US 키보드를 가지고 있다면 [?] 키도) 눌러 주면 선택 가능한 목록을 볼 수 있다. 기존의 커널을 쓰거나, 이전 버전의 커널을 쓰거나, (일상 시에 쓰던 rootfs를 망친 경우 등을 대비해서) 다른 루트 파일시스템을 쓰거나, 또는 다른 운영 체계로 부팅하거나 할 수 있게 된다. lilo.conf에는 최고 열 여섯 개까지의 이미지를 적어서 쓸 수 있다.

위의 예제에서 볼 수 있는 것처럼 릴로 구성 파일에는 전체 옵션 (Global options)을 먼저 (예제의 상위 여섯 줄처럼) 적어 주고, 그 뒤에 각 이미지의 설명을 적어 주게 된다. 이미지 설명 부분에 적히는 옵션은 전체 옵션 부분에 적는 옵션을 무효화하면서 우선적인 사용권을 가지게 된다.

전체 옵션 (GLOBAL OPTIONS)
Lilo에는 많은 수의 사용 가능 옵션들이 있다. 아래에 적어 놓은 설명은 대부분이 user.tex에서 옮겨온 것이다. (약자를 써서 분량을 줄여 설명한 정도일 뿐이다).

backup=backup-file
    원본의 부트 섹터를 /boot/boot.NNNN 대신에 ( /dev/null등의 디바이스 따위일 수 있는) backup-file 이라는 장소로 복사하는 옵션이다.

boot=boot-device
    부트 섹터가 적재되어 있는 (하드 디스크 파티션 등의) 디바이스 이름을 정하는 옵션이다. 만약 이 부분이 빠지면 부트 섹터는 현재 루트로 마운트되어 있는 디바이스에서 읽어 오게 된다. (혹은 씌여질 수도 있다.)

change-rules
    부트 시에 파티션 종류 번호 (Partition Type Numbers)를 정해 주는 옵션이다. ('hiding'). 더 많은 정보를 원한다면 user.tex 문서의 "Partition type change rules" 항목을 참조하기 바란다.

compact
    서로 인접한 섹터 (Adjacent sectors)들을 읽기 위한 요구들을 모두 병합하여 한 개의 읽기 명령으로 합쳐 주는 시도를 하게 할 때 사용하는 옵션이다. 이 방법은 적재 시간 (Load time)을 상당히 줄여 줌과 동시에 맵 (map)의 크기를 작게 유지해 준다. 이 'compact' 옵션은 플로피에서 부팅을 할 때 특히 적절한 옵션이다.

default=name
    디폴트 부트 이미지로 사용될 이미지의 이름을 설정하는 옵션이다. 만약 'default'가 생략되면 첫 번째에 적혀 있는 이미지가 기본값으로 사용된다.

delay=tsecs
    부팅이 되기 전의 대기 시간을 (십분의 일초 단위로) 정하는 옵션이다. 이 옵션은 키보드가 탐지됨과 동시에 하드 디스크에서 순간적 부팅이 되도록 설계된 시스템에서 쓰기에 좋다. 만약 'delay' 옵션이 정해지지 않았거나 이 것이 0으로 정해져 있을 경우에는 부트 로더는 대기 시간 없이 곧바로 부팅에 들어간다.

disk=device-name
    비표준적 매개 변수 (Non-standard Parameters)를 디스크에 설정 사용할 때 쓰는 옵션이다. 더 많은 정보를 원한다면 user.tex 문서의 "Disk geometry" 항목을 참조하기 바란다. 특히 쓸모 있는 것은 'bios=' 매개 변수다. 바이오스는 0x80, 0x81 등으로 디스크에 번호를 부여한다. (하지만 바이오스 셋업이나 바이오스 의 종류에 따라서 디스크의 번호는 달라질 수 있으므로) 쓰고 있는 리눅스 디스크가 바이오스의 어느 디스크로 대응되어서 사용되는가를 일부러 정해 놓을 필요가 있을 때가 있다. 여러분이 사 용하는 기계의 구성이 유별나서 특별히 리눅스 디스크와 바이오스 디스크를 대응시켜 줄 필요가 있을 경우에 쓴다. 예를 들면,

        disk=/dev/sda
                bios=0x80
        disk=/dev/hda
                bios=0x81

    이와 같은 경우에는 SCSI 디스크가 첫 번째 바이오스라는 것과 (프러이머리 마스터인) IDE 디스크가 두 번째 바이오스 디스크라는 것을 명확히 명시해 놓는 것이다.

disktab=disktab-file
    디스크의 매개 변수 일람표 (Disk Parameter Table)를 정해 주는 옵션이다. 이 'disktab' 옵션이 생략되어 있으면 맵 설치기 (Map Installer)는 /etc/disktab 을 읽게 되어 있다. 디스크탭을 사용하는 것은 권장할 만한 것이 아님을 밝혀 두는 바이다.

fix-table
    이 옵션은 릴로가 파티션 테이블의 삼차원 주소를 수정할 수 있도록 해주는 옵션이다. 각 파티션 값은 삼차원 주소 (섹터 / 헤드 / 실린더), 파티션의 제일 처음 섹터, 그리고 마지막 섹 터 리니어 주소를 포함하고 있다. 만약 파티션이 트랙에 맞추어져서 있지 않거나 (PC/MS-DOS, OS/2 등의) 다른 운영 체계가 같은 디스크를 쓰는 등의 경우에는, 경우에 따라서 이 삼차원 주소 가 변동되는 경우가 있다. 릴로는 두 주소가 제대로 일치하여 작동하고 있는 파티션에 한해서 자체 부트 섹터를 사용할 수 있게 되어 있다. 만약 'fix-table' 옵션이 정해지면, 릴로는 잘못된 값으로 적혀 있는 시작 삼차원 주소값을 재조정해 준다. 주의: 이 옵션을 써서 주소를 재조정한 후에도 다른 운영 체계가 이를 다시 또 원래의 값으로 환 원시켜 버리지 않는다는 보장은 없다. 또한 이 옵션을 쓰면 생각지 못한 부작용이 생길 가능성 이 있다. 올바른 수리 방법은 파티션을 제대로 트랙에 교정 (Align)시켜 주는 프로그램을 사용함 으로서 디스크를 다시 파티션 설정하는 것일 것이다. 또한, 이 옵션을 쓰는 것은 (어드레스 트랜 슬레이션이 가능하도록 설정되어 있는 큰 용량의 EIDE 디스크 등의) 경우에 따라서는 파티션 테 이블 값이 충돌되게 하는 경우가 벌어지는 경우를 피할 수 없게 되어 버린다.

force-backup=backup-file

ignore-table
    파손된 파티션 테이블 (Corrupt Partition Tables)을 릴로가 무시하도록 하는 옵션이다.

install=boot-sector
    이 부분에 적어 놓은 파일을 새로운 부트 섹터로 정해서 사용하는 옵션이다. 만약 'install'이 생략된 경우에는 /boot/boot.b 이 기본값으로 사용되게 된다.

linear
    섹터/헤드/실린더 식의 삼차원 주소 대신에 리니어 섹터 주소를 발생시켜 주는 옵션이다. 리니어 주소는 사용할 때마다 (런 타임 - Run Time) 만들어져서 적혀지게 되기 때문에 디스크의 지오메트리 값에 영향을 받지 않는다. 주의할 것은 바이오스라는 것이 디스크의 기본값을 정의 하기 위한 업무에 주로 사용되는 것이고 플로피 디스크에 사용이 될 때에는 항시 제대로 작동되 는 것이 아니기 때문에, 'linear' 옵션이 사용될 때에는 부트 디스크를 이동식으로는 이용할 수가 없다는 것이다. 'linear'를 큰 용량의 디스크에 사용할 때에는 /sbin/lilo 가 엑세스 되지 않는 디스크 공간에 대한 참조 레퍼런스를 만들어 줌에 사용될 수 있는데, 이 것 은 부트가 되는 시점에서 삼차원 섹터 주소가 알려져 있지 않기 때문이다.

lock
    부트 코맨드 라인을 자동으로 다음 부트의 기본값으로 기억해 주는 옵션이다. 이 방법을 쓰면 릴로는 사용자가 후에 수동으로 되 적어 줄 때까지 이 선택으로 고정시켜 주게 된다.

map=map-file
    맵 파일의 장소를 밝혀 주는 옵션이다. 만약 'map' 부분이 생략되어 있는 경우에는 /boot/map 가 사용되게 된다.

message=message-file
    부트 바로 전에 보여지는 메시지를 저장한 파일의 위치를 지정해 주는 옵션이다. 원래는 "LILO"가 뜬 직후에 쉬프트 키가 눌려질 때까지 기다려 주는 동안은 아무런 메시지도 보 여지지 않게 되어 있다. 메시지 파일 안에서는 FF 문자 ([Ctrl L])로 초기 화면을 지워 줄 수 있 도록 되어 있다. 메시지 파일의 크기는 65535 바이트로 제한되어 있다. 만약 메시지 파일이 변 경되거나 위치를 바꾼 경우에는 맵 파일은 다시 만들어져야 (Rebuilt) 한다.

nowarn
    경고문을 꺼 버리는 옵션이다.

optional
    이미지별 사용 가능 옵션인 'optional'은 (아래 참조) 모든 이미지에 적용 사용할 수 있다.

password=password
    이미지별 사용 가능 옵션인 'password=...'는 (아래 참조) 모든 이미지에 적용 사용할 수 있다.

prompt
    아무런 키를 넣어 주지 않은 상태에서 부트 프롬프트로 들어가도록 지정해 주도록 하는 옵션이다. 만약 'prompt' 옵션이 켜져 있고 'timeout'이 껴져 있다면, 무인 자동 리부트 (Unattended Reboot)가 불가능하게 된다.

restricted
    이미지별 사용이 가능한 옵션인 'restricted'는 (아래 참조) 모든 이미지에 적용 사용할 수 있다.

serial=parameters
    시리얼 라인에서부터의 제어을 가능하게 해 주는 옵션이다. 정해진 시리얼 포트가 초기화되면 부트 로더는 여기에서와 PC의 키보드에서 입력을 받아주게 된 다. 시리얼 라인으로 브레이크를 보내 주는 것은 콘솔에 쉬프트 키를 눌러 주는 것과 동일하게 부트 로더가 처리하게 된다. 만약 콘솔로 엑세스 하는 것에 비해서 (라인이 모뎀으로 연결되어 있는 경우처럼) 시리얼 엑세스의 경우가 다소 보안상 부족하게 되어 있다면 모든 부트 이미지에 패스워드를 설정해서 보호해 주어야 한다. 매개 변수에는 다음과 같은 스트링을 사용한다.

        <port>[,<bps>[<parity>[<bits>]]]

    <port>: 시리얼 포트의 번호; 0 순위부터. 0은 COM1의 에일리어스인 /dev/ttyS0에 해당하는 식이다. (만약 존재하고 있다면) 네 개의 포트를 모두 사용할 수 있다.

    <bps>: 시리얼 포트의 보드 속도(baud rate). 다음의 보드 속도가 지원된다: 110, 150, 300, 600, 1200, 2400, 4800, 그리고 9600 bps. 기본값은 2400 bps이다.

    <parity>: 시리얼 라인에서 사용되는 패리티. 부트 로더는 입력 패리티를 무시하고 8번 비트를 지워 버린다. 다음의 (대문자나 소문자의) 문자들이 패리티를 설정하는 방법으로 사용된다. n: no parity, e: even parity o: odd parity.

    <bits>: 한 문자 당의 비트 숫자. 7과 8 비트만 지원된다. 패리티가 "none"인 경우에는 8이 기 본값이며, 패리티가 "even"이나 "odd"인 경우에는 7이 기본값이다.

    만약 'serial'이 사용되면, 'delay'의 값은 자동적으로 20으로 늘려진다.

    보기: serial=0,2400n8 은 COM1을 기본 매개 설정 변수로 지정해 준다.

timeout=tsecs
    키보드 입력을 기다려 주는 시간을 십분의 일초 단위로 지정해 주는 옵션이다. 만약 지정된 시간 이내에 키가 눌려지지 않으면 첫 번째 이미지가 자동으로 부트 된다. 비슷한 경우로, 사용자가 입력을 주지 않은 상태로 오래 있으면 패스워드 입력이 취소되게 되어 있다. 타임아웃의 기본값은 무한 (Infinite)으로 되어 있다.

verbose=level
    많은 종류의 프로그레스 리포팅을 켜 주는 옵션이다. 높은 수일수록 더 많은 출력을 형성한다. 만약 -v가 릴로 코맨드 라인에 추가 설정된 경우에는 레벨 또한 상승 추가되어서 설정된다. 최대 사용 가능한 레벨 수 (Verbosity Level)는 5.

추가적으로, 커널 설정 매개 변수인 append, ramdisk, read-only, read-write, root 와 vga 는 글로벌 옵션으로 사용될 수 있다. 각 커널 이미지의 설정 부분에 특별히 따로 적혀 있지 않 은 경우에는 글로벌 옵션으로 적어 놓은 이 값이 기본값으로서 사용되게 된다..

이미지별 옵션 사용 부분(PER-IMAGE SECTION)
이미지별 사용 가능한 옵션은 (리눅스 커널 부트 이미지를 가지고 있는 파일이나 디바이스를 알려주기 위한)

    image=pathname

의 줄이나 어떠한의 시스템을 부트에 쓸 수 있도록 하기 위해서

    other=pathname

의 줄로서 시작한다.

첫 째의 경우, image 줄이 한 디바이스에서 부팅이 되도록 지정해 준 경우에는 맵핑될 섹 터의 범위도 지정해 주어야 하는데, 다음의 방법을 쓴다.

range=start-end

두 번째의 경우(다른 시스템을 부팅하는 경우), 세 가지의 옵션이 있다.

loader=chain-loader
    사용되어야 하는 체인 로더를 지정해 준다. 기본값으로 /boot/chain.b 가 사용된다. 첫 번째 하드나 플로피가 아닌 다른 종류의 디바이스에서 부팅을 하는 경우라면 채인 로더(chain loader)가 반드시 지정되어야 한다.

table=device
    파티션 테이블을 포함하고 있는 디바이스를 지정해 준다. 만약 이 변수가 생략된 경우에는 부트 로더는 파티션 정보를 운영 체계로 전달하지 않는다. (일 부 운영 체계는 어느 파티션에서 부팅이 되었는지를 전달하는 방법이 다를 수 있다. 예를 들면, MS-DOS의 경우에는 부트 디스크 지오메트리나 파티션을 자체의 부트 섹터에 저장한다.) 주의할 것은 파티션 테이블이 'table'을 써서 다시 맵핑되었다면 /sbin/lilo를 한 번 더 작동해 주 어야 한다는 것이다.

unsafe
    맵 생성 시에 부트 섹터를 읽고 쓰는 것은 하지 않아야 한다. 만약 이 경우에는 파티션 데 이블 검사를 포함한 온전성 검사(sanity checks) 기능이 일부 꺼지게 된다. 맵 인스톨러를 실 행시킬 때에 부트 섹터가 고정식의 플로피 디스크 디바이스에 적혀 있는 경우에는 UNSAFE를 사용하는 것이 읽을 수 있도록 된 디스크를 사용해야 만 하는 것을 방지하게 된다. 'unsafe'와

다음의 옵션들은 두 경우 모두에 쓸 수 있다.

label=name
    부트 로더는 각 이미지를 인지하기 위해서 (패스(Path)를 제외한) 파일 이름을 사용한다.

alias=name
    에일리어스를 설정함으로서 같은 기입 부분(entry)에 다른 이름을 쓸 수 있게 된다.

lock
    (위 참조.)

optional
    맴 생성 시에 사용 가능하지 않은 이미지를 생략해 주는 옵션이다. 항상 존재하지는 않는 테스트 커널 따위를 설정해서 사용할 때 쓸모가 있다.

password=password
    이미지를 패스워드로 보호해 주는 옵션이다.

restricted
    (single 등의) 코맨드 라인에서 지정되는 매개 변수가 존재할 경우에 한해서 패스워드가 사용되도 록 지정해 주는 옵션이다.

커널 옵션 (KERNEL OPTIONS)
부트로 사용된 이미지가 리눅스 커널일 경우에는 커맨드 라인 매개 변수를 이 커널로 전송할 수 있다.

append=string
    커널로 전송된 매개 변수에 지정된 옵션을 덧붙임 (Append) 해 주는 옵션이다. 일반적으로 자동 감지 (Auto-detect)가 잘 되지 않거나 탐지 (Probe) 작업이 위험할 것 같은 하 드웨어에 특정한 매개 변수를 적용 사용하기 위해서 사용되는 옵션이다. 예:

         append = "hd=64,32,202"

literal=string
    이 옵션은 글로벌 옵션을 적용한 부분에는 사용할 수 없게 되어 있다.

ramdisk=size
    옵션으로 쓸 수 있는 램 디스크의 크기를 지정해 주는 옵션이다. 크기를 0으로 적어 놓으면 램 디스크가 만들어지지 않는다는 뜻이 된다. 만약 이 변수가 아예 생략된 경우에는 부트 이미지에서 설정된 램 디스크의 크기로 만들어지게 된다.

read-only
    이 옵션은 루트 파일시스템이 읽기 전용으로 (Read-only) 마운트되어야 함을 밝혀 주는 옵션이 다. 일반적으로, 시스템의 시작 프로시져는 루트 파일시스템을 (fsck을 한 후에) 읽기-쓰기용으로 다시 마운트시킨다.

read-write
    루트 파일시스템을 읽기-쓰기용으로 마운트하도록 지정하는 옵션이다.

root=root-device
    루트로 마운트될 디바이스를 지정해 주는 옵션이다. 만약 특별한 이름인 current 가 사용된 경우에는 현재 루트 시스템으로 마운트되어 있는 디바이스가 루트 디바이스로 지정된 다. 만약 -r을 써서 루트가 변경된 경우에는 변경된 디바이스가 지정된다. 'root'라는 변수가 생 략된 경우에는 커널 이미지에 담겨 있는 루트 디바이스 세팅이 적용된다. (이것은 커널 Makefile의 ROOT_DEV 변수를 씀으로서 컴파일 시에 지정되며 나중에 rdev(8) 풀그림을 써서 바꿔 줄 수 있다.)

vga=mode
    부팅 시에 지정하게 되는 VGA 문자 모드를 지정해 주는 옵션이다. 다음의 값이 인정된다 (대문자, 소문자는 상관이 없다):

    normal: 보통의 80x25 문자 모드가 사용된다.

    extended (또는 ext): 80x50 문자 모드가 사용된다.

    ask: (부트에서) 정지를 하고 사용자에게 물어 온다.

    <번호>: 사용된 번호에 해당하는 문자 모드를 사용한다. 사용 가능한 모드의 목록은 부팅 시에 vga=ask를 쓰고 [Enter]키를 누르면 보일 것이다.

    만약 이 변수가 생략된 경우에는 커널 이미지 안에 저장되어 있는 세팅이 사용된다. (그리고 이 세팅은 컴파일 시점에서 커널 Makefile에서 SVGA_MODE를 쓰면 지정해 줄 수 있고, 나중에 rdev(8) 풀그림을 써서 바꿀 수 있다..)

관련 항목 (SEE ALSO)
lilo(8), rdev(8).
릴로 디스트리뷰션은 위의 설명들이 기반을 두고 있는 방대한 문서들을 포함하고 있다.

역자
장범수 <Boxcar0001@aol.com>, 2000년 6월 1일