4. 시스템의 부팅

이 새로운 루트 디바이스로 부트하기 위해서는 위와같이 준비된 플로피 디스크를 PC 에 넣고 부팅합니다.

다음과 같은 일이 일어남을 볼수 있을 것입니다.

  1. DOS boots

  2. AUTOEXEC.BAT starts

  3. LOADLIN is run

  4. The Linux kernel is copied into memory

  5. The initial ramdisk is copied into memory

  6. The Linux kernel is started running

  7. The /linuxrc file on the initial ramdisk is run

  8. The DOS partition is mounted and the root and swap devices set up

  9. The boot sequence continues from the loopback device

이상과 같이 완료되면 이제 부트 플로피를 제거하고 리눅스 시스템을 사용하면 됩니다.

4.1. 발생할 수 있는 문제들

위의 과정의 각 단계에서의 실패에 대해 그 의미와 점검해야 바를 설명하겠습니다.

도스 부팅은 MS-DOS Sarting ... 이라는 메시지가 화면에 뜸으로서 쉽게 알수 있습니다. 만일 이런 메시지가 화면에 나타나지 않는다면 플로피디스크가 부트가능하게 되어있지 않았거나 PC 가 플로피 디스크 부팅이 안되도록 설정되었기 때문입니다.

AUTOEXEC.BAT 파일내의 명령어들이 실행될 때는 디폴트로 화면에 나타나도록 되어있습니다. 우리의 경우 LOADLIN 한줄이 나타날 것입니다..

LOADLIN 이 실행되면서 화면에 출력되는 작업이 두가지 있습니다. 우선 커널이 메모리로 로드되는 것이고, 그 다음으로 램디스크가 메모리로 복사되는 것입니다. 이 두 작업 모두 Loading... 메시지를 출력합니다.

커널이 스스로의 압축을 풀다가 만약 커널 이미지가 손상된 것을 발견하면 crc 에러를 내게 됩니다. 이상이 없다면 그다음으로 초기화 과정을 차례로 수행하게 되는데 각 과정마다 친절히 점검상황을 알려줍니다. 초기 램디스크 디바이스의 로딩역시 이 단계에서 나타납니다.

이제 새로운 루트 디바이스의 정상적인 부트과정이 속개되는데 이 역시 친절히 진행상황을 알려줍니다. 읽기쓰기 용으로 루트디바이스를 마운트해서 문제가 생길수 있다면, LOADLIN 명령어 라인 옵션인 'ro'을 써주면 이를 방지할 수 있습니다. 그밖의 일어날 수 있는 문제로는 부트과정시 루트 디바이스를 어디에서 찾아야 하는지를 모르는 경우인데, 이는 필시 /etc/fstab 에 관련된 당신의 실수일 것입니다.

부트 과정이 완료되면 이제 문제가 생길수 있는 부분은 프로그램들이 도스파티션의 마운트되었는지 아닌지를 모르는 경우 뿐입니다. 이는 앞에서 설명한 가짜(fake) mount 명령을 사용하는 것이 좋은 아이디어가 됩니다. 이를 쓰면 도스 디바이스상의 파일들을 쉽게 액세스할 수 있습니다.

4.2. 참고 문서

필자가 최초의 루프백 루트 파일 시스템을 만들때 이용한 문서들: