2013-12-12 1 views
2

여기에서 나의 처음 질문을 할 시간.grub2, grub-mkrescue, 바이오스, vbe 프레임 버퍼, 사용자 정의 커널

예전에는 커널에 GRUB2와 함께 Just Work (TM)를 사용했습니다. GRUB Legacy에서는 여전히 그렇지만 [VBE] 프레임 버퍼 그래픽을 원합니다. 내가 눈치

첫 번째 문제는

이 애벌레 - mkrescue -o cd.iso cdimg/

가짜, 부팅 이미지를 구축한다는 것이다. 제가 시도한 최신 버전은 이미지 소스 디렉토리의 루트에 커널을 복사하고 efi.img라고하면 괜찮은 텍스트 모드 이미지를 만듭니다 (그렇지 않으면 efi.img가 없기 때문에 xorriso가 실패합니다).

GRUB2가 비 EFI 시스템에서도 작동한다고 가정 할 때 실제 질문이 있다고 생각합니까? :(지금까지 내가 아는 한, 내 프레임 버퍼 초기화과 흰색으로 화면을 채우는 전에 GRUB2의 일부 이전 버전에서 작동하는 데 사용되는 동일한 코드입니다. 사전에

감사합니다,

Vendu

PS FWIW는 OS 프로젝트는 내가 (하지만 훨씬 GRUB2에 참여하지) xorriso의 개발자입니까 :

답변

1

... https://github.com/vendu/OS-Zero/

PPS에서 나는이 너무 모호하지 희망입니다.

GRUB2가 비 EFI 시스템에서 을 사용한다고해도 실질적인 질문은 무엇입니까? :(

내 자신의 테스트 시스템 BIOS가 아닌 EFI와 AMD 64 비트가 있습니다. 그것은 CD/DVD에서와 USB 스틱에서 애벌레 - mkrescue 이미지를 부팅. 당신은 애벌레 - mkrescue로 부팅 않습니다

페이로드없이 이미지?

애벌레 - mkrescue -o cd.iso

이리저리 나를 위해

GRUB2 기반 GNU/리눅스 이미지있는 부츠 (당신은 다음 GRUB2 부트 프롬프트를해야한다) m CD/DVD는 epidemic-4.1-b1-1-amd64.iso입니다. (initrd의 단점 때문에 USB 스틱 에서 부팅 할 수 없습니다. 이것은 GRUB2의 오류가 아닙니다.) GRUB2는 최신 버전이 아닙니다.

은 가짜 이미지, 부팅 할 수없는 이미지를 만듭니다.

당신의 결과를 게시 할 수

xorriso -indev cd.iso -toc CD에서 부팅 할 때 BIOS와 UEFI로 을 사용하는 엘 토리 토 부팅 정보에 대해보고해야

및 DVD. (재미있는 것은 이미지가 제대로 부팅되지 않는 경우에만 입니다.)

지금까지는 좋은 것으로 보인다면 을 배포 관리자의 관리자 () 또는 grub-devel 메일 링리스트에보고해야합니다.

P.P.S. 당신이 어떤 BIOS가 있습니까 : 나는

최소한 부팅에 거부의 정확한 설명을 제공해야합니다 :) ...이 너무 모호하지 희망? 어떤 버전의 GRUB2를 사용하셨습니까? 어떤 메시지가 보입니까? 하나 이상의 컴퓨터에서 발생합니까? ... 어떤 특별한 상황 ...?

데비안 제시에 하나 오늘 좋은 하루를 :)

토마스

+0

안녕하세요 토마스와 당신의 답변에 감사드립니다! :) 나는 시나리오가 실제 하드웨어가 아니라는 것을 잊어 버렸지 만 Qemu 위에 커스텀 (비 리눅스) 커널을 부팅하려고합니다. :) 조금 더 많은 정보를 제공해 드리겠습니다. :) – Vendu

+0

죄송합니다, 주석이 여러 줄로 보이지 않습니다 (stackoverflow n00b alert) ... :) xorriso의 문제점은 보이는 것처럼 보입니다. xorriso : FAILURE :로드 된 ISO 이미지에서 경로 '/efi.img'를 찾을 수 없습니다. xorriso : UPDATE : 598 개의 파일이 1 초에 추가되었습니다. xorriso : aborting : -abort_on 'FAILURE'failed 'FAILURE' - 이것은 소스 디렉토리를 지정하는지 여부에 관계없이 여기에서 발생하는 것 같습니다. – Vendu

+0

커스텀 커널을 소스 트리 안에 두 번째 복사본으로 저장하고 efi.img라고 부르면 나는 다음 두 줄을 사용자가 제안한 명령의 출력으로 얻습니다 : 부트 이미지 : '/ boot/grub/i386-pc/eltorito. img ', boot_info_table = on, grub2_boot_info = on 부팅 이미지 :'/efi.img ', platform_id = 0xEF – Vendu

1

히트 되세요. 을 수정하려면 /efi.img이 누락되면서 mtools 패키지 만 설치하면됩니다. Grub은 mtools (선택적)에 의존하며 존재하지 않을 경우 자동으로 실패합니다.

데비안에 apt-get install mtools이 해결되었습니다. 도움이 되길 바랍니다.

+0

"Grub은 mtools (선택 사항)에 의존하며 존재하지 않으면 자동으로 실패합니다." 그게 무슨 뜻 이죠? "의존"과 "선택"은 같은 동전의 반대쪽처럼 보입니다. –

+0

실질적으로 그것은 Grub이 설치되어 있고 그것이 "선택적으로"의존하는 도구없이 작동한다는 것을 의미합니다. "xorriso"및 "mtools"를 설치하는 것은 사용자가 결정합니다. ISO 생성 (xorriso에 대한 종속성) 또는 efi 이미지 (mtools에 대한 종속성)를 처리 할 때 이러한 grub없이 자동으로 실패합니다. 참고 : 패키지 정의 또는 grub 코드에 대해 언급하지 않았습니다.이 주석은 "boot.iso"를 작성하여 하드 디스크에서 "실제"Linux 설치를 부팅 할 때 경험 한 내용을 기반으로합니다. – variable

+0

** 실패한 경우 ** 종속성 **입니다. * 선택 사항 *이라면 실패하지 않을 것입니다! 어쨌든, 문제는 mtools를 사용하지 않고 업스트림으로 해결되었습니다. –

관련 문제