New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

extlinux.conf not generated correctly #2902

Closed
JamesTheAwesomeDude opened this Issue Jul 11, 2017 · 2 comments

Comments

Projects
None yet
4 participants
@JamesTheAwesomeDude

JamesTheAwesomeDude commented Jul 11, 2017

Qubes OS version (e.g., R3.2): R3.2


Expected behavior:

System boots and runs when extlinux bootloader is used

Actual behavior:

An error message during post-reboot setup (and on trying to launch, e.g., qubes-manager), and the only functioning part of the system is the window manager and its accessories

I have only photographs of the error message, however I have re-typed it manually (there might be a typo or indentation mistake)

['qubesctl', 'saltutil.clear_cache'] failed:
stdout: "local:
    True
"
stderr: "[ERROR   ] Failed to load ext_pillar qvm_prefs: (2, 'No such file or
directory)'
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/salt/pillar/__init__.py", line 538, in
ext_pillar
    key)
  File "/usr/lib/python2.7/site-packages/salt/pillar/__init__.py", line 499, in
_external_pillar_data
    ext = self.ext_pillars[key][self.opts['id'], pillar, *val)
  File "/srv/salt/_extensions/pillar/qvm_prefs.py", line 39, in ext_pillar
    qc.load()
  File "/usr/lib/python2.7/site-packages/qubes/qubes.py", line 819, on load
    vm = vm_class(xml_element=element, collection=self)
  File "/usr/lib/python2.7/site-packages/qubes
modules/003QubesTemplateVm.py", line 58, in __init__
    super(QubesTemplateVm, self).__init__(**kwargs)
  File "/usr/lib/python2.7/site-packages/qubes/modules/000QubesVm.py",
line 326, in __init__
    qubes_host = QubesHost()
  File "/usr/lib/python2.7/site-packages/qubes/qubes.py", line 198, in __init__
    (model, memory, cpus, mhz, nodes, socket, cores, threads) =
vmm.libvirt_conn.getInfo()
  File "/usr/lib/python2.7/site-packages/qubes/qubes.py", line 179, in
libvirt_conn
    return self._common_getter('_libvirt_conn')
  File "/usr/lib64/python2.7/site-packages/qubes/qubes.py", line 174, in
_common_getter
    self.init_vmm_connection()
  File "/usr/lib64/python2.7/site-packages/qubes/qubes.py", line 161, in
init_vmm_connection
    self._xs = xen.lowlevel.xs.xs()
Error: (2, 'No such file or directory')
Traceback (most recent call last):
  File "/usr/bin/qubesctl", line 93, in <module>
    main()
  File "/usr/bin/qubesctl", line 47, in main
    qc.load()
  File "/usr/lib64/python2.7/site-packages/qubes/qubes.py", line 819, in load
    vm = vm_class(xml_element=element, collection=self)
  File "/usr/lib64/python2.7/site-packages/qubes/
modules/003QubesTemplateVm.py, line 58, in __init__
    super(QubesTemplateVm, self).__init__(**kwargs)
  File "/usr/lib64/python2.7/site-packages/qubes/modules/0000QubesVm.py",
line 326, in __init__
    qubes_host = QubesHost()
  File "/usr/lib64/python2.7/site-packages/qubes/qubes.py", line 198, in __init__
    (model, memory, cpus, mhz, nodes, socket, cores, threads) =
vmm.libvirt_conn.getinfo()
  File "/usr/lib64/python2.7/site-packages/qubes/qubes.py, line 139, in
libvirt_conn
    return self._common_getter('_libvirt_conn')
  File "/usr/lib64/python2.7/site-packages/qubes/qubes.py", line 174, in _common_getter
    self.init_vmm_connection()
  File "/usr/lib64/python2.7/site-packages/qubes/qubes.py, line 161, in
init_vmm_connection
    self._xs = xen.lowlevel.xs.xs()
xen.lowlevel.xs.Error: (2, 'No such file or directory')
"

Steps to reproduce the behavior:

Feed the installer the boot kernel parameter extlinux (Anaconda will pick it up and attempt to use the syslinux bootloader)

General notes:

The problem is called by extlinux not being configured for Xen, as Grub has been modified to; it's being called "normally":

# extlinux.conf generated by anaconda

ui menu.c32

menu autoboot Welcome to Qubes. Automatic boot in # second{,s}. Press a key for options.
menu title Qubes Boot Options.
menu hidden

timeout 50
#totaltimeout 9000

default Qubes

label Qubes (4.4.14-11.pvops.qubes.x86_64)
	kernel /vmlinuz-4.4.14-11.pvops.qubes.x86_64
	initrd /initramfs-4.4.14-11.pvops.qubes.x86_64.img
	append root=/dev/mapper/qubes_dom0-root ro rd.lvm.lv=qubes_dom0/root extlinux rd.driver.pre=scsi_dh_rdac rhgb quiet

label Qubes-4.4.14-11.pvops.qubes.x86_64 (4.4.14-11.pvops.qubes.x86_64)
	kernel /vmlinuz-4.4.14-11.pvops.qubes.x86_64
	initrd /initramfs-4.4.14-11.pvops.qubes.x86_64.img
	append root=/dev/mapper/qubes_dom0-root ro rd.lvm.lv=qubes_dom0/root extlinux rd.driver.pre=scsi_dh_rdac rhgb quiet

Changing these to entries along the lines of

kernel mboot.c32
append /xen-4.6.5.gz --- /vmlinuz-4.4.14-11.pvops.qubes.x86_64 root=/dev/mapper/qubes_dom0-root ro rd.lvm.lv=qubes_dom0/root rd.driver.pre=scsi_dh_rdac rhgb quiet --- /initramfs-4.4.14-11.pvops.qubes.x86_64.img

fixes the issue. The system then boots and runs completely without issue.

(However, when Linux or Xen gets updated, extlinux.conf must be updated manually—whatever hooks have been installed to automatically update the grub2 configuration must be grub2-specific)

@marmarek

This comment has been minimized.

Show comment
Hide comment
@marmarek

marmarek Jul 11, 2017

Member

Any specific reason why you want to use extlinux/syslinux instead of grub or efi?

Member

marmarek commented Jul 11, 2017

Any specific reason why you want to use extlinux/syslinux instead of grub or efi?

@andrewdavidwong andrewdavidwong added this to the Release 3.2 updates milestone Jul 12, 2017

marmarek added a commit to marmarek/qubes-installer-qubes-os that referenced this issue Sep 8, 2017

@qubesos-bot

This comment has been minimized.

Show comment
Hide comment
@qubesos-bot

qubesos-bot Sep 15, 2017

Automated announcement from builder-github

The package pykickstart-2.32-4.fc25 has been pushed to the r4.0 testing repository for dom0.
To test this update, please install it with the following command:

sudo qubes-dom0-update --enablerepo=qubes-dom0-current-testing

Changes included in this update

Automated announcement from builder-github

The package pykickstart-2.32-4.fc25 has been pushed to the r4.0 testing repository for dom0.
To test this update, please install it with the following command:

sudo qubes-dom0-update --enablerepo=qubes-dom0-current-testing

Changes included in this update

fepitre added a commit to fepitre/anaconda that referenced this issue Sep 20, 2017

fepitre added a commit to fepitre/anaconda that referenced this issue Sep 20, 2017

fepitre added a commit to fepitre/anaconda that referenced this issue Sep 20, 2017

fepitre added a commit to fepitre/anaconda that referenced this issue Sep 20, 2017

fepitre added a commit to fepitre/anaconda that referenced this issue Sep 20, 2017

fepitre added a commit to fepitre/anaconda that referenced this issue Sep 20, 2017

fepitre added a commit to fepitre/anaconda that referenced this issue Sep 20, 2017

fepitre added a commit to fepitre/anaconda that referenced this issue Sep 21, 2017

fepitre added a commit to fepitre/anaconda that referenced this issue Sep 21, 2017

fepitre added a commit to fepitre/anaconda that referenced this issue Sep 21, 2017

fepitre added a commit to fepitre/anaconda that referenced this issue Sep 21, 2017

fepitre added a commit to fepitre/anaconda that referenced this issue Sep 21, 2017

fepitre added a commit to fepitre/anaconda that referenced this issue Sep 22, 2017

fepitre added a commit to fepitre/qubes-installer-qubes-os that referenced this issue Dec 29, 2017

fepitre added a commit to fepitre/qubes-installer-qubes-os that referenced this issue Dec 30, 2017

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment