그래서 저는 Google이 보호된 이미지라고 부르는 것을 만들려고 합니다. 기본적으로 UEFI 부팅 프로세스에 키를 제공하고 서명합니다. 첫 번째 부분은 BIOS 대신 UEFI를 사용하여 부팅되는 이미지를 구축하는 것입니다.
저는 표준 BIOS를 사용하여 이미지를 구축하는 데 완벽하게 작동하는 스크립트를 적용하고 이를 다음과 같이 줄였습니다.
/usr/local/bin/qemu-system-x86_64 -display cocoa \
-name disk.raw \
-drive file=output_centos/disk.raw,if=virtio,cache=writeback,discard=ignore,format=raw \
-L ./bios \
-bios bios.bin \
-cdrom /Users/ron.jarrell/newwork/infra-centos/packer_cache/5a03ac2db9b9f47812a1c314ada462d469e94d91.iso \
-netdev user,id=user.0 \
-device virtio-net,netdev=user.0 \
-boot once=d
tianocore uefi bios가 제대로 로드되고 DVD가 부팅되지만 설치하려고 하면 "오류: 커널을 할당할 수 없습니다" 및 "오류: 먼저 커널을 로드해야 합니다"라는 메시지가 나타납니다.
결국 이것은 테스트를 위해 이 명령을 제거한 패커로 롤백될 것입니다.
원래 구성에는 "-machine type=pc,accel=hvf"도 포함되어 있어 시작이 중지되었습니다.
"QEMU 플래시: FFE00010에서 플래시를 감지하는 중"
그리고 거기 영원히 머물러라.
답변1
플래시는 분명히 주의를 돌리려는 의도로 만들어졌습니다. 패키지 파일입니다~ 할 것이다centos7 DVD를 성공적으로 가져왔고 GCP가 이를 "차폐"로 표시하고 "vtpm"을 활성화할 수 있는 것으로 인식하는 방식으로 로드했습니다. 보안과 기밀 유지를 위해 더 많은 작업이 필요합니다.
{
"builders": [
{
"accelerator": "hvf",
"boot_command": [
"<tab> console=ttyS0,115200n8 nomodeset text ks=http://{{ .HTTPIP }}:{{ .HTTPPort }}/centos7.ks<enter><wait>"
],
"boot_key_interval": "10ms",
"boot_wait": "1s",
"communicator": "none",
"disk_interface": "virtio",
"disk_size": "4000",
"format": "raw",
"cpus": 4,
"memory": 8192,
"headless": false,
"http_directory": "http",
"iso_checksum": "sha256:101bc813d2af9ccf534d112cbe8670e6d900425b297d1a4d2529c5ad5f226372",
"iso_url": "http://Your Mirror Here/centos/7/isos/x86_64/CentOS-7-x86_64-NetInstall-2003.iso",
"net_device": "virtio-net",
"output_directory": "output_centos_tdhtest",
"qemu_binary": "/usr/local/bin/qemu-system-x86_64",
"qemuargs": [
["-L", "./bios.bin"],
["-chardev", "file,id=pts,path=serial.log"],
["-device", "isa-serial,chardev=pts"],
["-m", "8G"],
["-smp", "cpus=4"],
["-display", "cocoa"]
],
"shutdown_command": "",
"shutdown_timeout": "20m",
"skip_compaction": true,
"type": "qemu",
"vm_name": "disk.raw"
}
],
"post-processors": [
[
{
"output": "disk.raw.tar.gz",
"type": "compress"
},
{
"bucket": "{{user `env_name`}}-os-images",
"image_description": "CentOS 7 Server",
"image_family": "centos-7",
"image_name": "b1-centos7-server-{{timestamp}}",
"image_guest_os_features": "UEFI_COMPATIBLE",
"project_id": "{{user `gcp_project`}}",
"type": "googlecompute-import"
}
]
]
}
자신만의 킥스타터 파일을 제공하세요.