5. 커널을 선택하기

이제 당신은 완벽한 압축 루트 파일시스템을 만들었습니다. 다음 과정은 커널을 만드는 것입니다. 대부분의 경우, 현재 시스템의 커널을 그대로 부트디스켓으로 복사해서 그걸로 부트해도 되지만, 때에 따라서는 별도의 커널을 만들어야만 할 때도 있습니다.

커널을 별도로 만드는 이유중 하나는 커널의 크기 때문입니다. 만일 한 장짜리 boot/root 디스켓을 만들려 한다면 커널은 디스켓 상에서 가장 큰 파일이 되기 때문에 가능한한 그 크기를 줄일 필요가 있습니다. 커널 크기를 줄이려면 커널에 당신이 만들려는 시스템에 필요한 최소한의 기능만을 담아야 합니다. 이는 필요없는 기능은 모두 빼라는 뜻입니다. 네트워킹이 그 좋은 예입니다. boot/root 시스템을 운용하는 데 불필요한 다른 디스크 드라이브에 대한 지원도 빼 버리십시오. 기타 불필요한 디바이스들도 버리는 것이 좋습니다. 앞에서도 말했듯이 압축된 ext2 파일 시스템을 부트하기 위해서는 램디스크와 ext2 에 대한 지원만큼은 반드시 커널안에 포함시켜야 합니다.

커널에 포함될 최소한의 기능들을 선정했다면, 이제 다시 무엇을 추가할 수 있을지 확인해 보십시오. 아마도 boot/root 디스켓시스템의 주된 용도는 손상된 루트 파일시스템을 조사하고 복구하기 위한 것일테니 이를 위한 커널차원에서의 지원이 필요합니다. 예를 들어 백업 파일들이 모두 테이프에 담겨있고, 테이프 드라이브를 액세스하기 위해서는 Ftape 를 써야만 하는 시스템이라고 합시다. 만약 Ftape 를 포함하고 있는 시스템의 루트드라이브에 문제가 발생했다면 이제는 백업테이프를 써서 복구할 방법이 없습니다. 결국, 리눅스를 새로 설치한 다음, ftape 를 구해 다시 인스톨한 후에야 백업 테이프를 읽어올 수 있다는 말이 됩니다.

이 예에서 지적하고자 하는 바는, 시스템 커널에 있는 백업장비에 대한 I/O 지원은 boot/root 디스켓의 커널에도 그대로 포함시켜야 한다는 것입니다.

커널을 만드는 절차는 커널소스에 동봉된 문서에 나와있습니다. 보면 쉽게 따라할 수 있게 되어있으므로 /usr/src/linux 에서 내용을 읽어 보십시요. 커널을 제대로 만들지 못한다면 boot/root 시스템을 만들 수도 없습니다. 압축커널을 만들 때는 "make zImage" 명령을 사용해야함을 기억하세요.