Uefi
在 Mac 上使用 uefi 韌體在 qemu 下從 dvd 引導 Centos 7
所以,我正在嘗試製作Google所謂的屏蔽圖像,基本上你為 uefi 啟動過程提供密鑰,並為它們簽名。第一部分是建構一個使用 uefi 而不是 bios 啟動的映像。
我開始改編一個完美執行的腳本,該腳本使用標準 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 檢測快閃記憶體”
並永遠停在那裡。
閃光燈顯然是一條紅鯡魚。這是一個打包程序文件,它將成功獲取 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" } ] ] }
提供您自己的 kickstarter 文件。