프로그래밍 방식으로 부팅 가능한 CD를 만드는 방법은 무엇입니까?

StackOverflow https://stackoverflow.com/questions/425519

  •  06-07-2019
  •  | 
  •  

문제

나는 내가 작업중 인 OS의 기초로 Barebones 튜토리얼을 사용하고 있으며, 오래된 튜토리얼 인 것 같습니다. 커널을 플로피 이미지로 컴파일 한 다음 Grub로로드하고 있습니다.

기본적으로 여전히 Grub을 사용하고 싶지만 대신 OS를 CD에서 실행하고 싶습니다. 주된 이유는 실제로 실제 플로피 드라이브를 사용할 수 없기 때문에 (현재 VirtualBox에서 테스트 중이므로) 실제 하드웨어에서 OS를 테스트 할 방법이 없기 때문입니다.

나는 그물에서 찌르고 있었고, 플로피 이미지에서 부팅 가능한 CD를 만드는 많은 유틸리티를 찾을 수 있지만, 이것들 모두 실제 플로피 드라이브가 필요하고 실제로 내가 찾고있는 것이 아닙니다. 플로피에 이미지를 먼저 배치 할 필요없이 Make Step Step 동안 부팅 가능한 CD로 끝날 수 있기를 원합니다.

나는 이것에 대답하는 쉬운 방법을 생각합니다. CD에서 커널 이미지를 읽기 위해 Grub을 어떻게 설정합니까? Windows 에서이 작업을 수행하려면 특별한 유틸리티가 필요합니까? (커널은 아직 스스로 컴파일 할 수 없습니다.

감사!

도움이 되었습니까?

해결책

나는 OSDEV에있는 사람들의 조언과 함께 내 프로젝트의 솔루션을 스스로 찾았습니다. 디렉토리를 가져 오는 mkisofs (cygwin dll을 사용하여 Windows에서 실행할 수 있음)라는 유틸리티가 있으며, 해당 디렉토리를 CD로 태울 수있는 ISO 이미지로 만들어줍니다. -B 플래그를 사용하면 디스크의 부팅 섹터에 어떤 파일이 상주 해야하는지 지정할 수 있습니다.

이 솔루션은 부츠 렉터에 그루브를 사용하고 그루브를 사용하여 커널 이미지를로드하는 것입니다.

다른 팁

부팅 가능한 CD는 부팅 가능한 플로피와 거의 동일합니다. 부트 로더 (GRUB)를 부팅 섹터 등에 넣어야합니다. BIOS는 보호 모드로 전환 할 때까지 낮은 레벨을 처리합니다.

이미지를 만들어 실제 물리 디스크로 DD를 만들어야 할 것입니다.

El Torito 부팅 가능한 CD 사양은 다음과 같습니다.http://www.phoenix.com/nr/rdonlyres/98d3219c-9cc9-4df5-496-a286d893e36a/0/specscdrom.pdf

편집하다: 커널을 테스트하는 다른 방법은 부팅 가능한 USB 스틱입니다. 다시, BIOS는 A20을 켜고 보호 모드로 점프 할 때까지 낮은 수준의 USB 제품을 처리합니다.

코드를보고 싶다면 Moblin 이미지 제작자 아마도 체크 아웃하기에 좋은 응용 프로그램 일 것입니다. Python으로 작성되었으며 Moblin Linux의 라이브 및 설치 가능한 구성을 위해 다양한 유형의 부팅 가능한 이미지 (CD, USB 및 NAND)를 만들 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top