이에 대한 자동화된 테스트 환경을 설정하려고 합니다.Linux 설치 프로그램 스크립트KVM/Qemu 게스트를 사용하세요. 현재는 Debian Live 환경에서 Debian 시스템을 부팅하기 위한 엔드투엔드 지원만 제공하지만 Archlinux, Fedora,지크스최종 결과는 지원되는 모든 LiveCD 환경과 사용자 정의 루트 파일 시스템/환경(LUKS, LVM, MDADM, ZFS, UEFI/BIOS 등의 조합) 릴리스에서 지원되는 모든 LiveCD 환경으로 부팅할 수 있다는 것입니다.
저는 라이브 환경에서 스크립트를 수동으로 테스트하기 위해 KVM/Qemu를 사용하고 있습니다. 저는 KVM/Qemu를 계속 사용하고 싶지만 누군가 제게 이 작업을 더 잘 수행하는 다른 VM 솔루션을 보여 준다면 기꺼이 받아들일 것입니다!
나에게 가장 큰 문제는 자동화된 테스트입니다. 현재 테스트할 수 있는 유일한 방법은 다음과 같습니다.
- Live CD 환경 시작
- git 저장소 복제(또는 호스트 디렉터리 또는 NFS에서 마운트)
- 스크립트를 실행하여
init-instroot
루트 파일 시스템 구성 - 부팅 스크립트를 실행하여 새 시스템을 부팅합니다(현재 Debian에서만 지원됨).
init-instroot
스크립트 옵션의 가능한 모든 구성(예: 스왑용 LVM 또는 파일 사용, 루트로 ZFS 사용, UEFI 또는 BIOS 등)에 대해 자동으로 실행할 수 있도록 이 프로세스를 자동화하고 싶습니다. 이와 같이 구성된 루트 파일 시스템 다른 배포판. 마지막으로 새로 부팅된 시스템을 재부팅하고 어떻게든 작동하는지 확인하세요!
지금까지 다음 게시물을 살펴봤지만 내 상황에 맞지 않거나 제대로 작동하지 않습니다.
- virt-install을 사용하여 명령줄에서 VM 설치
- virt-install은 preseed.cfg를 사용하여 데비안을 자동으로 설치합니다.
- 무인 가상 설치를 완전히 자동화하는 방법은 무엇입니까?
- KVM을 사용하여 VM에 스크립트 전달
- qemu 게스트 자동화
- QEMU/KVM을 사용한 게스트 자동화
나는 스크립트 post를 사용하는 QEMU/KVM 게스트 자동화에서 많은 가능성을 봅니다 expect
. 내 스크립트가 작성되었으므로GNU 길러, 그 자체로는 훌륭합니다.도서관이 기대된다, 이것이 자연스러운 발전 방향이 될 것입니다. 불행히도 터미널을 통해 LiveCD 게스트 환경을 실행할 수도 없습니다. 분명히 내 예상 스크립트가 게스트 환경과 상호 작용을 시작할 수 있는 시점에 로그인에 대한 실시간 프롬프트를 받고 싶습니다.
아래 명령으로 실행하려고 하는데 virt-install
터미널을 통해 어떤 것과도 상호작용할 수 없으며 실제로 아무것도 시작되지 않는 것 같습니다. 출력은 다음과 같습니다.
Running text console command: virsh --connect qemu:///system console test
Connected to domain 'test'
Escape character is ^] (Ctrl + ])
"표준"(명령줄만 해당) Dabian Live ISO에서 부팅을 시도했지만 인수를 사용하여 커널 매개변수 설정이 --cdrom
지원되지 않습니다 .--extra-args
virt-install --name test --ram 4096 --vcpu 2 \
--disk path=disks/test.img,bus=virtio,size=4 \
--graphics none \
--cdrom /home/dadinn/Downloads/isos/debian-live-10.3.0-amd64-standard.iso
--cdrom
using -- 을 사용하여 --location
매개변수 대신 커널 매개변수를 사용할 수 있지만 extra-args
여전히 아무 일도 일어나지 않는 것 같습니다.
virt-install --name test --ram 4096 --vcpu 2 \
--disk path=disks/test.img,bus=virtio,size=4 \
--graphics none \
--location http://ftp.us.debian.org/debian/dists/buster/main/installer-amd64/ \
--extra-args console=tty0,console=ttyS0,115200n8,serial
아마도 URL이 명령줄 전용 이미지를 가리키지 않기 때문일 수 있습니다. 또한 extra-args
with console=tty0,console=ttyS0
매개변수가 실제로 어떻게 작동하는지 잘 모르겠습니다 .1,2], 위의 예에서 확인했습니다.
답변1
VGA/USB 콘솔(tty0) 또는 직렬 콘솔(ttyS0)을 선택해야 할 것 같습니다. 나는 당신이 두 가지를 동시에 사용할 수 있다고 믿지 않습니다.
또한 IIRC에서는 대부분의 선술집에 전달할 수 있는 그래픽 없는 설치 프로그램 매개변수가 있습니다.
예를 들어, Debian에 대한 다음 페이지가 유용할 수 있습니다. https://www.debian.org/releases/stable/amd64/apbs02.en.html#preseed-bootparms
설치 프로그램에 전달된 프레임 버퍼를 설정하는 fb= 변수가 포함되어 있습니다.