virt-manager / virt-manager

Desktop tool for managing virtual machines via libvirt
https://virt-manager.org
GNU General Public License v2.0
2.24k stars 433 forks source link

Cannot install debian 12.5.0 from network location #671

Open opoplawski opened 1 month ago

opoplawski commented 1 month ago

Running on AlmaLinux 8.9. Also built virt-manager from latest git but it still doesn't work. Install with:

'virt-install' '--connect' 'qemu:///system' '--name' 'pbx-bld01' '--ram' '2048' '--vcpus' '2' '--autostart' '--graphics' 'spice' '--virt-type' 'kvm' '--machine' 'q35' '--location' 'http://cobbler.localdomain/cblr/links/debian-12.5.0-x86_64/' '--extra-args=auto-install/enable=true priority=critical url=http://cobbler.localdomain/cblr/svc/op/ks/system/pbx-bld01 hostname=pbx-bld01 domain=localdomain inst.ksdevice=eth0 netcfg/get_ipaddress=10.10.41.32 netcfg/get_netmask=255.255.0.0 netcfg/get_gateway=10.10.0.1 netcfg/get_nameservers=10.10.11.1 10.10.11.2 ' '--os-variant' 'debian12' '--disk' 'path=/var/lib/libvirt/images/pbx-bld01-disk0,size=30,bus=scsi,format=raw' '--network' 'bridge=br0,mac=00:16:3e:4d:fd:71' '--network' 'bridge=br3' '--wait' '0' '--noautoconsole' '--debug'

fails with:

[Mon, 03 Jun 2024 14:42:28 virt-install 4109878] DEBUG (guest:342) Setting Guest osinfo name <_OsVariant name=generic>
[Mon, 03 Jun 2024 14:42:28 virt-install 4109878] DEBUG (guest:342) Setting Guest osinfo name <_OsVariant name=debian12>
[Mon, 03 Jun 2024 14:42:28 virt-install 4109878] DEBUG (urlfetcher:71) Using scratchdir=/var/lib/libvirt/boot
[Mon, 03 Jun 2024 14:42:28 virt-install 4109878] DEBUG (urldetect:285) Finding distro store for location=http://cobbler.localdomain/cblr/links/debian-12.5.0-x86_64/
[Mon, 03 Jun 2024 14:42:28 virt-install 4109878] DEBUG (urldetect:877) variant=debian12 has distro=debian, looking for matching distro store to prioritize
[Mon, 03 Jun 2024 14:42:28 virt-install 4109878] DEBUG (urldetect:884) Prioritizing distro store=<class 'virtinst.install.urldetect._DebianDistro'>
[Mon, 03 Jun 2024 14:42:28 virt-install 4109878] DEBUG (urldetect:45) Failed to acquire file=current/images/MANIFEST: Couldn't acquire file http://cobbler.localdomain/cblr/links/debian-12.5.0-x86_64/current/images/MANIFEST: 404 Client Error: Not Found for url: http://cobbler.localdomain/cblr/links/debian-12.5.0-x86_64/current/images/MANIFEST
[Mon, 03 Jun 2024 14:42:28 virt-install 4109878] DEBUG (urldetect:45) Failed to acquire file=current/legacy-images/MANIFEST: Couldn't acquire file http://cobbler.localdomain/cblr/links/debian-12.5.0-x86_64/current/legacy-images/MANIFEST: 404 Client Error: Not Found for url: http://cobbler.localdomain/cblr/links/debian-12.5.0-x86_64/current/legacy-images/MANIFEST
[Mon, 03 Jun 2024 14:42:28 virt-install 4109878] DEBUG (urldetect:45) Failed to acquire file=daily/MANIFEST: Couldn't acquire file http://cobbler.localdomain/cblr/links/debian-12.5.0-x86_64/daily/MANIFEST: 404 Client Error: Not Found for url: http://cobbler.localdomain/cblr/links/debian-12.5.0-x86_64/daily/MANIFEST
[Mon, 03 Jun 2024 14:42:28 virt-install 4109878] DEBUG (urlfetcher:105) Fetching URI: http://cobbler.localdomain/cblr/links/debian-12.5.0-x86_64/.disk/info
[Mon, 03 Jun 2024 14:42:28 virt-install 4109878] DEBUG (urldetect:697) Found treearch=x86_64 in uri
[Mon, 03 Jun 2024 14:42:28 virt-install 4109878] DEBUG (urldetect:299) Detected class=_DebianDistro osvariant=None
[Mon, 03 Jun 2024 14:42:28 virt-install 4109878] DEBUG (installer:551) installer.detect_distro returned=None
[Mon, 03 Jun 2024 14:42:28 virt-install 4109878] DEBUG (guest:549) Prefer EFI => False
[Mon, 03 Jun 2024 14:42:28 virt-install 4109878] DEBUG (domcapabilities:248) Fetched domain capabilities for (/usr/libexec/qemu-kvm,x86_64,q35,kvm): <domainCapabilities>
SNIP

[Mon, 03 Jun 2024 14:42:28 virt-install 4109878] DEBUG (cpu:295) Using default cpu mode=host-passthrough
[Mon, 03 Jun 2024 14:42:28 virt-install 4109878] DEBUG (graphics:175) Local connection, disabling spice image compression.
[Mon, 03 Jun 2024 14:42:28 virt-install 4109878] DEBUG (guest:1122) Using num_pcie_root_ports=14
[Mon, 03 Jun 2024 14:42:28 virt-install 4109878] DEBUG (disk:239) DeviceDisk.check_path_search path=/var/lib/libvirt/boot
[Mon, 03 Jun 2024 14:42:28 virt-install 4109878] DEBUG (disk:239) DeviceDisk.check_path_search path=/var/lib/libvirt/images/pbx-bld01-disk0
[Mon, 03 Jun 2024 14:42:28 virt-install 4109878] DEBUG (cli:266)
Starting install...

Starting install...
[Mon, 03 Jun 2024 14:42:28 virt-install 4109878] DEBUG (urlfetcher:231) HTTP hasFile request failed: 404 Client Error: Not Found for url: http://cobbler.localdomain/cblr/links/debian-12.5.0-x86_64/install/netboot/debian-installer/amd64/linux
[Mon, 03 Jun 2024 14:42:28 virt-install 4109878] DEBUG (urlfetcher:174) hasFile(http://cobbler.localdomain/cblr/links/debian-12.5.0-x86_64/install/netboot/debian-installer/amd64/linux) returning False
[Mon, 03 Jun 2024 14:42:28 virt-install 4109878] DEBUG (cli:256)   File "/usr/bin/virt-install", line 8, in <module>
    virtinstall.runcli()
  File "/usr/share/virt-manager/virtinst/virtinstall.py", line 1241, in runcli
    sys.exit(main())
  File "/usr/share/virt-manager/virtinst/virtinstall.py", line 1234, in main
    start_install(guest, installer, options)
  File "/usr/share/virt-manager/virtinst/virtinstall.py", line 982, in start_install
    fail(e, do_exit=False)
  File "/usr/share/virt-manager/virtinst/cli.py", line 256, in fail
    log.debug("".join(traceback.format_stack()))

[Mon, 03 Jun 2024 14:42:28 virt-install 4109878] ERROR (cli:257) Couldn't find kernel for install tree.
[Mon, 03 Jun 2024 14:42:28 virt-install 4109878] DEBUG (cli:259)
Traceback (most recent call last):
  File "/usr/share/virt-manager/virtinst/virtinstall.py", line 965, in start_install
    transient=options.transient)
  File "/usr/share/virt-manager/virtinst/install/installer.py", line 719, in start_install
    self._prepare(guest, meter)
  File "/usr/share/virt-manager/virtinst/install/installer.py", line 398, in _prepare
    self._prepare_treemedia(guest, meter, unattended_scripts)
  File "/usr/share/virt-manager/virtinst/install/installer.py", line 372, in _prepare_treemedia
    unattended_scripts)
  File "/usr/share/virt-manager/virtinst/install/installertreemedia.py", line 279, in prepare
    kernel, initrd = self._prepare_kernel_url(guest, cache, fetcher)
  File "/usr/share/virt-manager/virtinst/install/installertreemedia.py", line 211, in _prepare_kernel_url
    kernelpath, initrdpath = _check_kernel_pairs()
  File "/usr/share/virt-manager/virtinst/install/installertreemedia.py", line 209, in _check_kernel_pairs
    _("Couldn't find kernel for install tree."))
RuntimeError: Couldn't find kernel for install tree.
[Mon, 03 Jun 2024 14:42:28 virt-install 4109878] DEBUG (cli:272) Domain installation does not appear to have been successful.

Contents of dir:

debian@     README.html          README.mirrors.txt  README.txt
md5sum.txt  README.mirrors.html  README.source

boot:
./  ../  grub/

css:
./  ../  debinstall.css  debinstall-print.css

.disk:
./  ../  base_components  base_installable  cd_type  id/  info  mkisofs  udeb_include

dists:
./  ../  bookworm/  stable@

doc:
./                      bug-mailserver-refcard.txt  debian-manifesto   social-contract.txt
../                     bug-maint-info.txt          dedication/        source-unpack.txt
00-INDEX                bug-maint-mailcontrol.txt   FAQ/
bug-log-access.txt      bug-reporting.txt           mailing-lists.txt
bug-log-mailserver.txt  constitution.txt            manual/

EFI:
./  ../  boot/  debian/

firmware:
./
../
amd64-microcode_3.20230808.1.1~deb12u1_amd64.deb
atmel-firmware_1.3-7_all.deb
bluez-firmware_1.2-9_all.deb
Contents-firmware
dahdi-firmware-nonfree_2.11.1.0.20170917-2_all.deb
dep11/
firmware-amd-graphics_20230210-5_all.deb
firmware-ast_20140808-7_all.deb
firmware-ath9k-htc_1.4.0-108-gd856466+dfsg1-1.3+deb12u1_all.deb
firmware-atheros_20230210-5_all.deb
firmware-b43-installer_019-8_all.deb
firmware-b43legacy-installer_019-8_all.deb
firmware-bnx2_20230210-5_all.deb
firmware-bnx2x_20230210-5_all.deb
firmware-brcm80211_20230210-5_all.deb
firmware-cavium_20230210-5_all.deb
firmware-intel-sound_20230210-5_all.deb
firmware-ipw2x00_20230210-5_all.deb
firmware-ivtv_20230210-5_all.deb
firmware-iwlwifi_20230210-5_all.deb
firmware-libertas_20230210-5_all.deb
firmware-linux-free_20200122-1_all.deb
firmware-linux-nonfree_20230210-5_all.deb
firmware-misc-nonfree_20230210-5_all.deb
firmware-myricom_20230210-5_all.deb
firmware-netronome_20230210-5_all.deb
firmware-netxen_20230210-5_all.deb
firmware-qlogic_20230210-5_all.deb
firmware-realtek_20230210-5_all.deb
firmware-realtek-rtl8723cs-bt_20181104-2_all.deb
firmware-siano_20230210-5_all.deb
firmware-sof-signed_2.2.4-1_all.deb
firmware-zd1211_1.5-10_all.deb
hdmi2usb-fx2-firmware_0.0.0~git20151225-3_all.deb
intel-microcode_3.20231114.1~deb12u1_amd64.deb

install:
./  ../

install.amd:
./  ../  gtk/  initrd.gz  vmlinuz  xen/

isolinux:
./            boot.cat      f2.txt  f9.txt        libcom32.c32  rqspkgtk.cfg  vesamenu.c32
../           drk.cfg       f3.txt  g2ldr         libutil.c32   rqtxt.cfg     win32-loader.ini
addrk.cfg     drkgtk.cfg    f4.txt  g2ldr.mbr     menu.cfg      setup.exe
addrkgtk.cfg  drkmenu.cfg   f5.txt  gtk.cfg       prompt.cfg    spkgtk.cfg
adgtk.cfg     exithelp.cfg  f6.txt  isolinux.bin  rqdrk.cfg     splash.png
adspkgtk.cfg  f10.txt       f7.txt  isolinux.cfg  rqdrkgtk.cfg  stdmenu.cfg
adtxt.cfg     f1.txt        f8.txt  ldlinux.c32   rqgtk.cfg     txt.cfg

pics:
./                   blue-upperright.png            gradient.png        red-lowerright.png
../                  debian-61.png                  hl_c.png            red-upperleft.png
blue-lowerleft.png   debian-edu-installer-logo.png  logo-50.jpg         red-upperright.png
blue-lowerright.png  debian.jpg                     openlogo-nd-50.png  splash-skolelinux.png
blue-upperleft.png   dot_bw.gif                     red-lowerleft.png

pool:
./  ../  contrib/  main/  non-free-firmware/

Seems like it should be using install.amd/vmlinuz and install.amd/initrd.gz instead of install/netboot/debian-installer/amd64/linux

opoplawski commented 1 month ago

So apparently you need to separately download the netboot.tar.gz file from http://http.us.debian.org/debian/dists/bookworm/main/installer-amd64/current/images/netboot/ and unpack that into install/netboot. Not sure why Debian makes this hard.

opoplawski commented 1 month ago

Hmm, or maybe not. Apparently the initrd in the netboot image does not contain the virtio_blk/scsi drivers so that's useless for installing a VM. Really do need to use the kernel/initrd from the ISO image which does have them.

opoplawski commented 1 month ago

Except that that initrd on iso cannot mount the installer from the network location. This is a real mess, but probably more of a Debian issue than anything else at this point? But any pointers would be helpful.