10. 전문가들이 사용하는 방법

슬랙웨어, 레드햇, 데비안 등의 주요한 배포본들에 사용되는 부트디스크도 한번쯤 생각해볼 수 있습니다. 이런 것들은 이 문서에서 설명한 것보다 복잡하게 구성되어 있습니다. 전문적인 배포본의 부트디스크들 역시 여기에서 대략 설명한 원리에 기초하고 있습니다만, 그 외에도 그런 부트디스크들은 다음의 기능들을 구비하기 위해 보다 다양한 기교를 사용합니다. 첫째, 폭넓은 종류의 하드웨어를 지원해야 합니다. 따라서 사용자의 입력을 받을수 있어야 하고 다양한 디바이스 드라이버들을 로드할수 있어야 합니다. 둘째, 여러가지 많은 설치 옵션을 입력받아 각각을 자동적으로 처리할 수 있어야 합니다. 마지막으로, 배포본의 부트디스크들은 대개의 경우 배포본의 설치기능과 응급조치의 기능을 함께 가지고 있습니다.

어떤 부트디스크들은 initrd(초기 램디스크)라 불리우는 기능을 이용합니다. 이 기능은 커널 2.0.x 대에서 처음 도입되었으며 커널을 두 단계로 부트시킵니다. 일단, 커널이 처음 부트된 후 초기 램디스크 이미지를 부트디스크에서 읽어옵니다. 초기 램디스크 이미지는 진짜 루트 파일시스템이 로드되기에 앞서 먼저 실행되어야할 프로그램들을 담은 루트 파일시스템입니다. 이 프로그램은 시스템 환경을 조사하고 사용자로 하여금 다양한 부트옵션을 선택할 수 있게 해줍니다. 가령 진짜 루트디스크를 어느 디바이스에서 로드할지를 선택할 수도 있습니다. 이것은 주로 커널에 내장되어있지 않은 추가적인 모듈들을 로드합니다. 이 초기화 프로그램이 끝나면 커널은 이제 진짜 루트이미지를 로드해서 정상적으로 부팅을 속개하게됩니다. initrd 에 관한 더 많은 내용은 /usr/src/linux/Documentation/initrd.txtftp://elserv.ffm.fgan.de/pub/linux/loadlin-1.6/initrd-example.tgz

다음은 각 배포본의 설치 디스크들이 어떤 식으로 작동하는지 파일 시스템들과 소스코드를 기반으로 대강 살펴본 것입니다. 이 내용이 확실한 것인지, 또 각 배포본들이 버전이 올라감에 따라 설정을 바꾸었는지 여부에 대해 장담은 못드립니다.

슬랙웨어(v.3.1)는 6.1절 부분에서 설명한 직관적인 LILO 부트방식과 유사한 방식을 사용합니다. 슬랙웨어의 부트디스크는 LILO 의 message 파라메터를 이용하여 부트 업 메시지 (“Welcome to the Slackware Linux bootkernel disk!”)를 화면에 출력합니다. 이 메시지는 사용자로 하여금 필요한 경우 부트 파라메터 라인을 입력토록 지시합니다. 부팅 후 루트 파일시스템은 두번째 디스크에서 로드됩니다. 이제 사용자는 초기화과정을 처리하는 setup 스크립트를 가동시키게 됩니다. 모듈화된 커널을 쓰는 대신 슬랙웨어는 각각의 커널을 다양하게 준비해 두고 그 중에서 사용자가 자신의 하드웨어 사양에 맞는 것 하나를 골라쓰는 방법을 택하고 있습니다.

레드햇(v.4.0) 역시 LILO 부트를 이용합니다. 레드햇은 첫번째 디스크에서 압축된 램디스크를 로드하며, 이는 레드햇 특유의 init 프로그램을 기동시킵니다. 이 프로그램은 드라이버를 물어본 후 필요한 경우 보충 디스크에서 추가적인 파일들을 로드하게 됩니다.

데비안(V.1.3) 은 설치디스크들 중에서 가장 복잡한 방법을 쓰고 있습니다. 이것은 SYSLINUX 로더를 써서 다양한 로드 옵션을 제공한 다음, initrd 이미지를 사용해서 설치과정동안 사용자를 안내합니다. 데비안은 데비안 특유의 init 와 쉘을 사용하는 듯 합니다.