다음 이전 차례

2. 예제 2

내 사무실에 있는 시스템은 1GB IDE 드라이브를 사용한다. 바이오스는 단지 IDE 드라이브의 504 MB만을 인식한다. (MB는 10**6 아니라, 2**10 바이트를 의미한다.) 그래서 나는 350메가는 도스용 파티션(/dev/hda1) 그리고 120메가는 나의 리눅스 루트 파티션(/dev/hda2)으로 사용한다. MS-DOS는 드라이브가 새것일 때 정확하게 도스 자신을 설치하지 못한다. 노벨 도스 7도 같은 문제점을 가지고 있다. 운이 좋게도, "Options by IBM" 은 드라이브와 함께 박스안에 "OnTrack" 디스?을 넣는 것을 잊었다. 그 드라이브는 "OnTrack Disk Manager." 라 불리우는 제품과 함께 딸려 올것이다. 만약 당신이 단지 도스만을 가지고 있다면, 당신은 이걸 사용해야 할거라고 생각한다. 그래서 나는 리눅스의 fdisk로 파티션을 만들었다. 도스 6.2는 다음과 같은 메시지를 남기면서 /dev/hda1에 설치되지 않았다.

'this release of MS-DOS is for new installations. Your computer already has MS-DOS [위의 메시지는 틀렸다, 그 드라이브는 새것 이었다] so you need to get an upgrade release from your dealer.'

그래서 나는 리눅스 fdisk를 다시 실행시키고 테이블에서 1번 파티션을 지웠다. 이것이 내가 조금전에 지우고 도스를 설치했던 1번 파티션과 동일한 파티션을 생성시켰던 도스 6.2를 만족시켰다. 도스 6.2는 그 드라이브에 마스터 부트 레코드를 썼다. 하지만 이것은 부팅할수 없었다. 운이 좋게도 나는 플로피에 슬랙웨어 커널(슬랙웨어 설치 프로그램인 "setup"에 의해 만들어진)이 있다. 그래서 나는 리눅스를 부팅하고 도스의 손상된 마스터 부트 레코드(MBR)에 리로(LILO)를 썼다. 이것은 동작을 한다. 여기 내가 사용하는 /etc/lilo.conf 파일 이다.


boot = /dev/hda
map = /lilo-map
delay = 100
ramdisk = 0           # 슬랙웨어 커널에서 램디스크 기능을 중지시킨다.
timeout = 100
prompt
disk = /dev/hda         # 바이오스(BIOS)는 오직 첫 번째 500메가만을 인식한다.
   bios=0x80            # 첫번째 IDE 드라이브를 명시한다.
   sectors = 63         # 이 숫자들은 당신의 드라이브 설명서에서 얻는다.
   heads = 16
   cylinders = 2100
image = /vmlinuz
  append = "hd=2100,16,63"  # 이건 아마 중복될 것이다.
  root = /dev/hda2
  label = linux
  read-only
  vga = extended
other = /dev/hda1
  label = msdos
  table = /dev/hda
  loader = /boot/chain.b
## end

내가 이 시스템을 설치한 후에, "스태커" 또는 "더블스페이스"를 사용하지 않은한 도스의 파일 시스템을 사용할 수 있는 zImage, boot.b, map, chain.b, 그리고 message files가 있는 파티션을 조사했다. 그래서 나는 /dev/hda1 의 500 MB에 도스 파티션을 만들 수 있었다. 나는 또한 "OnTrack"이 파티션 테이블의 처음 몇십 바이트를 드라이브에 기록했을 것이라는 것과 리눅스 IDE 드라이버를 이 문제를 해결하도록 해킹하는 것이 가능하다는 것을 배울 수 있었다. 하지만 미리 컴파일되어있는 슬랙웨어 커널을 가지고도 설치는 불가능 했을것이다. 결국, IBM에서 나에게 "OnTrack" 디스ㅋ을 보냈다. 나는 OnTrack 의 기술 지원부서에 전화를 했다. 그들은 리눅스가 깨졌다고 나에게 말했다. 왜냐하면 리눅스는 바이오스를 사용하지 않기 때문이다. 나는 그 디스크을 버렸다.
다음 이전 차례