Linux + OS/2 (+ DOS) mini-HOWTO <author>Hamish Moffatt, <tt><<htmlurl url="mailto:moffatt@yallara.cs.rmit.edu.au" name="moffatt@yallara.cs.rmit.edu.au">></tt> <date>v0.2, 1996년 5월 20일 <abstract> 이 하우투의 내용은 여러분의 컴퓨터에 있는 부트 로더를 바꾸게 할 것이다. 이 문서 내의 과정중에 몇몇 잘못된 점들은 여러분의 시스템이 리눅스나 OS/2 또는 도스 중에 어느 것이나, 아니면 위에 말한 것들중 어느것으로도 부팅할 수 없게 할 지도 모른다. 그러므로 시작하기에 앞서, 리눅스의 부트, 루트 디스크와 OS/2의 설치와 1번 디스크, 그리고 도스의 설치 디스크를 손이 닿을만한 가까운곳에 준비하라. 필자는 이 문서내의 과정중에 생기는 어떠한 손해에도 책임이 없음을 밝힌다. 품질 보증이나 하는 것은 없다. 모든 수정이나 제안 등은 위의 주소로 보내주시기 바랍니다. </abstract> <toc> <sect>소 개 <p> 내가 처음 리눅스에 관심을 가진 95년 8월에, 나는 OS/2의 부트 매니져와 리눅스 는 같이 있을수 있지만, "제대로 작동하지 않는다"라는 말을 들었다. 그리고 내가 OS/2와 리눅스를 새 컴퓨터에 설치했을때, 그들이 완벽히 작동하는 것은 정말 너 무 힘들었다. 이 미니-하우투가 여러분이 이 두가지 작업을 하는데 도움이 되기를 바란다. <bf>알아둘 것</bf> 이 문서에서는 어떻게 OS/2 부트 매니져에서 리눅스를 부팅할 수 있는지에 대해 설명할 것이다. 그리고 뒷부분에서는 짧게 리로(리눅스의 부트 매니져)에서 OS/2를 부팅하는 것에 대해 다룰 것이다. <sect>이 문서를 읽기전에 <p> 이 미니-하우투에서는 여러분이 이미 OS/2(만약 필요하다면 도스도)를 여러분의 시스템에 설치했다고 가정한다. 만일 여러분이 리눅스를 설치하고 OS/2를 설치하지 않았거나, 또는 둘다 설치하지 않았을 경우에는 <ref id="4" name="4장">이나 <ref id="5" name="5장">을 보기를 바란다. <bf>알아둘 것</bf> 여러분은 OS/2의 부트 매니져를 설치해야만 한다. 만약 여러분이 OS/2와 도스를 같은 파티션에 가지고 있고 (둘 사이를 <tt>BOOT /DOS</tt> 와 <tt>/BOOT /OS2</tt>로 전환한다면) 부트 매니져를 사용하지 않고 듀얼 부트를 사용하고 있다면, 리로 문서나 다른 운영체제(리눅스가 아닌)로 부팅하는 미니-하우투를 읽어야 할 것이다. 이 하우투는 부트 매니져만을 다룬다. <sect>실제 설치 <p> <sect1>몇가지 설치 환경 <p> 여러분은 OS/2와 아마도 도스까지 이미 설치 했을 것이다.(이 하우투에서는 도스도 설치된것을 예로 삼는다.). 여러분의 파티션 정보가 다음에 보이는 것과 비슷하다고 하자. <code> Device Boot Begin Start End Blocks Id System /dev/hda1 1 1 254 512032+ 6 DOS 16-bit >=32M /dev/hda2 256 256 786 1070496 5 Extended /dev/hda3 * 255 255 255 2016 a OS/2 Boot Manager /dev/hda5 * 256 256 509 512032+ 7 OS/2 HPFS /dev/hda6 * 510 510 763 512032+ 83 Linux native /dev/hda7 * 764 764 786 46336+ 82 Linux swap </code> 여기서 <bf>hda1</bf>은 도스, <bf>hda3</bf>는 부트 매니져, <bf>hda5</bf>는 OS/2(부트) 파티션, 그리고 hda6는 리눅스(부트) 파티션이다. 만약 OS/2 파티션이 HPFS가 아니고 FAT라면, 그건 상관없다. 여기서는 똑같이 적용된다. 또한, OS/2의 부트 매니져는 <bf>/dev/hda</bf>의 어딘가에 꼭 있어야하지만, OS/2나 리눅스는 /dev/hdb, hdc, hdd 등등 어느 곳이나 괜찮다.(OS/2의 부트 매니져는 OS/2나 리눅스를 두번째 디스크에서 부팅하는데 아무런 문제가 없다. 그렇지만 도스의 경우에는 두번째 디스크에서 부팅할 수 없다.) <sect1>리눅스의 설치 <p> 여기서는 리눅스를 설치한다. 먼저 OS/2의 <tt>FDISK</tt>를 이용해서 도스와 OS/2 파티션(그리고 필요하다면 확장 파티션도)을 설치한다. 그리고 나서 리눅스의 fdisk로 리눅스 파티션을 만든다. 몇몇 사람들은 OS/2가 파티션 정보가 잘못되었다고 생각해서 나중에 OS/2의 부트 매니져 메뉴에 리눅스를 추가할 수 없으므로, 모든 파티션을 OS/2의 FDISK로 작성하고 나중에 리눅스<tt>fdisk</tt>로 올바른 형을 정해 주라고 말한다. 파티션 형을 바꾸는 것에 대해서 더 많은 것을 알려면 fdisk 문서를 보기 바란다.<bubeck@informatik.uni-tuebingen.de>에게 감사한다.(아직도 Bubeck이라면) 여러분의 배포본의 설치 프로그램(ex:슬랙웨어)은 리로를 설치할 것인지 물어볼 것이다. 리로의 설치를 선택한다.(OS/2의 부트 매니져는 직접적으로 리눅스의 화일 시스템을 인식하지 못하기 때문에 직접적으로 리눅스를 부팅할 수 없다. 그리고, 리로의 설치는 서로 다른 버젼의 리눅스를 고를 수 있게 해 주고, 리눅스가 여러분의 시스템에 있는 모든 장치를 찾아낼 수 있도록 인수를 추가 할 수 있게 해 준다.) <sect1>리로의 설치 <p> 슬랙웨어는 '어디에' 리로를 설치할 것인지를 물을 것이다. 수퍼 블럭(파티션 정보와 마스터 부트 레코드등이 있는), 리눅스 파티션의 부트 섹터 등등. 수퍼 블럭에 있는 부트 매니져가 여러분의 주 부트 매니져이다.- 이것이 OS/2의 부트 매니져가 되게 하려면 리로를 리눅스 파티션의 부트 섹터에다 설치해야 한다. 위의 파티션 정보의 예에서 설치하는 곳은 <bf>/dev/hda6</bf>가 된다.(/dev/hda가 아니다! /dev/hda는 마스터 부트 레코드로 OS/2의 부트 매니져가 있는곳이다.) 리눅스의 설치가 끝났다.만약 설치가 끝나지 않았다면, <tt>/sbin/lilo</tt>를 실행한다.여러분은 '아마도' 여러분 자신의 리로 설정 화일인 <tt>/etc/lilo.conf</tt>를 만들어야 할 것이 다. 이것은 리로에게 리눅스의 커널(운영 체제 자신)을 여러분의 하드 안, 어디에서 찾을 수 있는지를 말해준다. 아주 간단한 예를 들면, <code> boot = /dev/hda6 delay = 50 vga = normal ramdisk = 0 image = /vmlinuz root = /dev/hda6 label = linux read-only </code> 리로가 설치된 파티션을 등록한다. 이것은 /dev/hda가 아니라 <bf>/dev/hdax</bf>이다.(또는 hdb나 적당한 것으로 등록한다.) <sect1>OS/2의 부트 매니져에 리눅스 추가하기<label id="3.4"> <p> 이제 리눅스를 설치했고, 계속할 준비가 되었다. 그러나 재시작한 후에는 리눅스로 부팅할 수 없을 것이다. 이제 남은 것은 OS/2의 부트 매니져에게 리눅스에 대해 말하는 것이다. 재시작하고, 부트 매니져 메뉴에서 OS/2를 선택한다.(만일 부트 매니져 대신에 <bf>"LILO"</bf> 표시를 만났다면, <ref id="3.5" name="3.5장"> 이후를 읽어라.) OS/2로 시작했으면, <tt>FDISK</tt>를 실행한다.여러분의 리눅스 파티션으로 옮겨 가서("Type 83" 이라고 표시된 -- OS/2는 리눅스의 파티션 형을 알지 못하는것 같다.) 엔터를 누른다. 그리고 메뉴에서 "부트 메니져 메뉴에 추가하기(Add to Boot Manager Menu)" 를 선택한다. 적당한 이름을 써넣고(예를 들어 Linux), F3을 눌러 저장하고 빠져나간다. 재시작하면, 여러분의 OS/2 부트 매니져 메뉴에 리눅스가 들어있을 것이다. 선택을 하면, "LILO"를 약 5초 정도 볼 수 있을 것이다. 그리고 나면, 리눅스가 부팅될 것이다. 된다면, 모든 작업이 끝난것이다. 맘껏 즐기시기를!! <sect1>재시작시에 OS/2의 부트 매니져보다 리로가 좋다면<label id="3.5"> <p> 재시작했을 때에, OS/2의 부트 매니져보다 <bf>"LILO"</bf>를 보길 원한다면, 여러분은 리로를 파티션(/dev/hda6나 다른 것들)이 아닌 <bf>수퍼 블럭(/dev/hda)</bf>에 설치해야 한다. 고치는 것은 다행히도 그렇게 어렵지 않다. OS/2의 설치 플로피로 부팅을 해서, 명령 프롬프트로 나온다. FDISK를 실행한후 저장하고 빠져나온다. 여러분이 재시작할 때 부트 매니져는 되돌아 갈 것이다. 그러나 지금은 리눅스로 다시 부팅할 수 없다. 리눅스의 부트와 루트 디스크를 꺼내고 여러분의 리눅스 파티션을 마운트 하라. 여러분은 아래와 같이 입력함으로써 디스켓으로 둘다 완벽하게 부팅할 수 있을 것이다. <tscreen><verb> mount /dev/hda6 /mnt </verb></tscreen> 곧바로 로그인 할 수 있고, 또는 (배포본에 따라서) 루트 플로피 대신에 하드 디스크를 마운트 할 수 있다. 슬랙웨어에서는 이렇게 입력함으로써 할 수 있다. <tscreen><verb> mount root=/dev/hda6 </verb></tscreen> 여러분이 부팅했던 부트 디스크만큼이나 빨리 리로 프롬프트를 볼 수 있다. 이제, 리로 설정을 고치고(여러분이 위의 방법중에서 사용한 방법에 따라서 <tt>/mnt/etc/lilo.conf</tt>나 <tt>/etc/lilo.conf</tt>가 될 수 있다.), <bf>"boot = "</bf>줄을 /dev/hda 대신에 /dev/hda6가 되도록 바꾼다. 그리고 나서 여러분이 위에서 택한 방법에 따라 <tscreen><verb> /mnt/sbin/lilo -C /mnt/etc/lilo.conf </verb></tscreen> 또는 <tscreen><verb> /sbin/lilo </verb></tscreen> 를 실행시킨다. 다시 재시작을 하고, OS/2 부트 매니져로 돌아오라. 그리고 <ref id="3.4" name="3.4장 OS/2 부트 매니져 메뉴에 리눅스 추가하기">를 보아라. <sect1>고급 옵션들 <p> 만약 부트하는 동안의 몇초를 아끼려면, <tt>/etc/lilo.conf</tt>에 50대신 <bf>"delay = 0"</bf>을 집어 넣을 수 있다. 지연 시간을 사용하는 것은 다른 운영체제로 부팅할 시간을 주는 것이다. 그렇지만, OS/2의 부트 매니져를 사용한다면, 아마도 필요없을 것이다. (하지만, 리로는 여러분에게 -물론 원한다면- 다른 버젼의 리눅스 커널로 부팅할 수 있는 기회를 준다.) 실제로 부트 매니져 메뉴에서 리눅스를 선택하고 나서 곧바로 shift키를 누르면, 여러분 은 "LILO: "라는 프롬프트를 만나게 될 것이다. 리로는 매우 빠르게 실행되기 때문에 듣는 것보다 더 어려울 수 있다. <sect>리눅스는 이미 설치되었고 OS/2는 그렇지 않을때<label id="4"> <p> <sect1>OS/2의 설치<label id="4.1"> <p> 여러분은 리눅스를 설치했고, 부팅할 때 리로가 실행된다. 그리고 여러분은 OS/2를 설치하고자 한다. 이것은 리눅스 전에 OS/2를 설치하는 것보다 정말 훨씬 쉽다. 리눅스로 부팅하고, <tt>/etc/lilo.conf</tt> 화일을 편집한다. <bf>"boot = "</bf>줄을 시작 드라이브 이름 /dev/hda 대신에 여러분의 리눅스 파티션 이름 -예를 들면 /dev/hda6- 으로 바꾼다. 그리고 나서 리로를 재설치하도록 <tt>/sbin/lilo</tt>를 실행한다. 이 작업은 나중에 OS/2로 부팅할 수 있도록, 리로를 리눅스 파티션의 부트 섹터에다 설치하는 것이다. 이제, OS/2를 설치하자. OS/2의 <tt>FDISK</tt>로 OS/2의 파티션을 만들때, 부트 매니져를 설치하 고, 여러분의 OS/2(그리고 도스) 파티션을 메뉴에 추가했는지 확인하라. 리눅스 파티션도 (OS/2 FDISK의 "Type 83") 마찬가지이다.(리눅스 파티션을 선택하고, "부트 매니져 메뉴 에 추가하기"에서 알맞는 이름을 써 넣으면 된다). 이제 여러분은 부트 매니져 메뉴에서 리눅스와 OS/2를 부팅하기 위한 모든 설정이 되었을 것이다. <sect1>문제 해결 <p> 만약, 부트 매니져 메뉴에서 리눅스를 선택했을때, <bf>Missing Operating System</bf>이나 <bf>Non-system disk, 또는 disk error</bf> 등등을 만나게 된다면, 리로가 리눅스 파티션의 부트 섹터에 제대로 설치되지 않은 것이다. 이때는 리눅스의 부트(어쩌면 루트도) 디스크를 사용해서 <ref id="4.1" name="4.1장">에서 처럼 lilo.conf 화일을 고치고, <tt>/sbin/lilo</tt>를 실행했는지 확인하라. (<ref id="3.5" name="3.5장">에서 어떻게 플로피로 리눅스를 부팅하고 하드 디스크의 리눅스 파티션에 접근하는지에 대해서 설명했다.) 재시작시에 OS/2 부트 매니져 대신에 리로를 만난다면, 부트 매니져가 제대로 설치되지 않은 것이다. OS/2 설치 디스크로 다시 부팅해서, 명령 모드로 나간후에(F3), FDISK를 실행시킨다. 부트 매니져를 설치했나 확인하고, 부트 매니져 파티션에 부트 가능 표시를 한다. <sect>리눅스와 OS/2 둘다 이미 설치되어 있을 경우<label id="5"> <p> 리로와 OS/2의 부트 매니져가 둘다 여러분의 시스템에 주 부트 매니져가 되려고 한다. 만약 여러분이 이 둘을 기본 옵션을 사용해서 설치했다면, 아마도 이 둘 중에 하나는 부팅할 수 없을 것이다.(먼저 설치한 하나는 부팅할 수 없을 것이다.) OS/2의 부트 매니져는 주 부트 매니져가 되야만 한다. 그러나 리로는 옮겨질 수 있기 때 문에 리눅스만을 부팅한다. <sect1>OS/2로는 부팅할 수 있는데 리눅스로는 안되는 경우<label id="5.1"> <p> 리눅스로 부팅해야 한다.(필요하다면 부트와 루트 플로피를 사용한다. 어떻게 부트/루트 디스크로부터 리눅스 파티션을 얻어내는지 <ref id="3.5" name="3.5장">을 보기 바란다.) <tt>/etc/lilo.conf</tt>를 편집해서 <bf>"boot = "</bf>를 부트 드라이브(/dev/hda)가 아닌 리눅스 파티션 의 이름(/dev/hda6)으로 바꾼다. <tt>/sbin/lilo</tt>를 실행시킨다.(<ref id="3.5" name="3.5장">에서 이 화일들에 대한 보다 자세한 설명들을 하고 있다.) 이제, OS/2로 부팅하고 FDISK를 실행시킨다. 여러분의 리눅스 파티션("Type 83")을 선택 하고, 팝업 메뉴에서 "부트 매니져 메뉴에 추가하기"를 택한다. 이제 모두 맞춰졌을 것 이다. 재시작하고도 여전히 리눅스가 목록에 없다면, 여러분이 마지막 단계에서 그것을 적절히 추가했는지 확인하라. 리눅스가 목록에 있는데 선택할때 <bf>missing system</bf>이나 <bf>non-system disk errors</bf> 등을 만나게 된다면, <ref id="5.1" name="5.1">의 처음 부분에서 리로를 올바로 설치하지 않은것이다. <sect1>리눅스로는 부팅할 수 있는데 OS/2로는 안되는 경우 <p> <ref id="5.1" name="5.1장">을 봐라. 리눅스로 부팅하기 위해서 일반적으로 하드 드라이브로만 부팅한다. 설치 디스켓을 사용해서 OS/2로 부팅하고, 명령 모드로 빠져 나와서 FDISK를 실행한다. <sect>리로에서 OS/2 부팅하기 <p> 이론적으로는 리로로 OS/2를 부팅할 수 있다. 리로 프롬프트가 뜨면 shift키를 누르고 OS2같은 것을 입력하면 된다. 필자는 그렇게 해 보았다. 하지만 작동하지 않았다. <tt>/etc/lilo.conf</tt>에 다음과 같이 추가하라. <code> other = /dev/hda5 label = os2 </code> (만약 여러분의 OS/2 파티션이 /dev/hda5라면 말이다.) 또는 아래처럼 써서 리눅스가 파티션을 체크하도록 할 수 있다. <code> table = /dev/hda </code> (또는 hdb). 그러나 나는 <tt>/sbin/lilo</tt>의 실행시에 잘못된 파티션 에러를 만났다. 만일 여러분의 OS/2가 두번째 하드 드라이브에 있다면, <tt>/sbin/lilo</tt>가 제대로 실행되지 않 을 경우만 제외하고는 다음과 같이 써넣어야 한다. <code> loader = /boot/os2_d.b </code> (두번째 하드에서 OS/2로 부팅하려면 특별한 적재기가 필요한데, <bf>os2_d.b</bf>가 바로 그것이다.) 이것이 작동시킬 수 있다면, 필자에게도 알려주기 바란다. <sect>맺음말 <p> 여러분의 수정한 것이나, 제안할 것, 또는 물어볼 것이 있다면 아래의 주소로 보내주기 바란다. <htmlurl url="mailto:moffatt@yallara.cs.rmit.edu.au" name="moffatt@yallara.cs.rmit.edu.au"> 미니-하우투의 최신 버젼은 여기에 있을 것이다. <url url="http://yallara.cs.rmit.edu.au/~moffatt/linux-os2/"> </article>