On Monday, April 15, 2019 at 2:00:00 AM UTC+1, Marek Marczykowski-Górecki wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA256
> 
> On Sun, Apr 14, 2019 at 02:27:47PM -0700, Dylanger Daly wrote:
> > On Saturday, April 13, 2019 at 12:48:14 AM UTC+1, Marek 
> > Marczykowski-Górecki wrote:
> > > -----BEGIN PGP SIGNED MESSAGE-----
> > > Hash: SHA256
> > > 
> > > On Fri, Apr 12, 2019 at 04:24:11PM -0700, Dylanger Daly wrote:
> > > > On Friday, April 12, 2019 at 1:50:54 PM UTC+1, Marek 
> > > > Marczykowski-Górecki wrote:
> > > > > -----BEGIN PGP SIGNED MESSAGE-----
> > > > > Hash: SHA256
> > > > > 
> > > > > On Fri, Apr 12, 2019 at 04:45:32AM -0700, Dylanger Daly wrote:
> > > > > > On Friday, April 12, 2019 at 12:28:12 PM UTC+1, Frédéric Pierret 
> > > > > > wrote:
> > > > > > > Hi,
> > > > > > > 
> > > > > > > Indeed, it's overwritten. You need to change sources directly 
> > > > > > > located in
> > > > > > > : qubes-builder/qubes-src/vmm-xen/
> > > > > > > 
> > > > > > > Do your changes here and the 'make  vmm-xen' will take care of 
> > > > > > > putting
> > > > > > > your changes into the chroot.
> > > > > > > 
> > > > > > > Also, it seems that you are trying to build dom0 under fc29 which 
> > > > > > > is for
> > > > > > > release 4.1 (still work in progress).
> > > > > > > 
> > > > > > > Try to use r4.0 config file instead and not master except if you 
> > > > > > > know
> > > > > > > what you are doing :)
> > > > > 
> > > > > setup script will ask you for the qubes version - choose 4.0.
> > > > > Alternatively, if you use a config from example-configs/ directly,
> > > > > choose the one with 4.0 in name.
> > > > > 
> > > > > In the end, you should get xen-4.8 branch in vmm-xen repository.
> > > > > 
> > > > > > Hmm, I can't seem to find the actual source, there are only .patch
> > > > > > files in qubes-src/vmm-xen, for example, hvmloader.c dosen't exist 
> > > > > > in vmm-xen.
> > > > > 
> > > > > There is xen tarball with actual source code, but this not the place 
> > > > > you should change.
> > > > > What you need to do, is to create a patch and add it to the list.
> > > > > Since you already know how to change files in
> > > > > qubes-builder/chroot-dom0-..., you can use that to create a patch.
> > > > > You'll need "quilt" tool installed. Roughly do this:
> > > > > 
> > > > > 1. Build vmm-xen unmodified
> > > > > 2. Go to
> > > > > qubes-builder/chroot-dom0-fc25/home/user/rpmbuild/BUILD/xen-4.8.5
> > > > > 3. Execute "quilt new some-patch-name.patch" (you can use any name)
> > > > > 4. Identify what files you want to modify and mark them (before you
> > > > > modify anything!) with quilt add 
> > > > > 5. Do your modifications
> > > > > 6. Execute "quilt refresh" to create actual patch. You'll find it in
> > > > > .patches dir there.
> > > > > 
> > > > > Then, copy resulting patch to qubes-src/vmm-xen and add it to the list
> > > > > in xen.spec.in (Patch... lines, add it at the end, with a new number).
> > > > > 
> > > > > Alternatively, if you're comfortable with using git, it may be easier 
> > > > > to
> > > > > use it to create the patch instead. Simply clone upstream xen git
> > > > > repository (https://xenbits.xen.org/git-http/xen.git), switch to
> > > > > stable-4.8 branch and create a commit on top. Then export it with "git
> > > > > format-patch -1"
> > > > 
> > > > After adding an xl feature (spoof_xen) to be exact, does anyone know 
> > > > how to then enable the bool for an HVM appVM?
> > > > 
> > > > The feature is in the same position as pae, acpi and viridian, using 
> > > > `virsh edit <VM_NAME>` and adding `<spoof_xen/>` results in `error: XML 
> > > > document failed to validate against schema: Unable to validate doc 
> > > > against /usr/share/libvirt/schemas/domain.rng`
> > > > 
> > > > Then if I force: `unexpected feature 'spoof_xen'`, I would assume 
> > > > because the upper Qubes layer isn't aware the feature exists within Xen?
> > > 
> > > Yes, exactly. There is libvirt between those two...
> > > Here you can see patches adding similar flag in libvirt:
> > > https://github.com/QubesOS/qubes-core-libvirt/blob/master/0009-conf-add-xen-specific-feature-e820_host.patch
> > > https://github.com/QubesOS/qubes-core-libvirt/blob/master/0010-libxl-make-use-of-e820_host-feature.patch
> > > 
> > > Since the first patch is already there, adding yet another feature is
> > > much less code.
> > 
> > Anyone know how to install the changes without creating an ISO?
> > 
> > It looks like it's output 
> > `qubes-builder/qubes-src/core-libvirt/pkgs/dom0-fc25/x86_64` however when I 
> > install libvirt-3.3.0-7.fc25.x86_64.rpm I don't think it's actually 
> > installed my changes. `docs/schemas/domaincommon.rng` for example hasn't 
> > been updated.
> 
> You need to install other updates from that directory too. See list of
> currently installed libvirt packages (rpm -q 'libvirt*' in dom0).
> To ease the whole thing, you may want to enable
> INCREMENT_DEVEL_VERSIONS=1 in builder.conf. This way, each build will
> have increased revision number, which will allow you to simply use 'dnf
> update path/to/packages/*.rpm' and it will pick the right ones.
> 
> If you trust your development VM, you can ease copying to dom0 by using
> tar:
> 
>     qvm-run -p devel 'tar c
>     qubes-builder/qubes-src/core-libvirt/pkgs/dom0-fc25'|tar xvk
> 
> ("k" prevent tar to override already existing files)
> 
> - -- 
> Best Regards,
> Marek Marczykowski-Górecki
> Invisible Things Lab
> A: Because it messes up the order in which people normally read text.
> Q: Why is top-posting such a bad thing?
> -----BEGIN PGP SIGNATURE-----
> 
> iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAlyz14gACgkQ24/THMrX
> 1yy/jwf8DP6KCGpInaBIRrhdeNOf3eeiNJReHBGHxgS8iwwFrhrUw5hwSjUHOV7V
> 1pBmuQNrWc/BwQKkHZKKenuOzUlenJJuVuoFGVI0SiCA6CV9GpssCBer09EIiwn0
> aTsfbJtxvxZ2oV14CpOmPUiLJN0qA2vE6Soy7KiB+Pk6Z8UO5gOh+AcpRk31ygC8
> TSMSLWCxuD5mQGSqwobS8AfCqqZ7YYc0MjWM+idH2gE73Q7FgpS9447iZ8HY3WpC
> kaeUzMTMWpkURuTpE+CzHc8j0f8XrsK8rMbKMferJWnBLsyBCsGV1ywM0ye0EcLH
> 1TqoyO8sze7EuRqgJaGMJrLhJuGEjg==
> =ALpI
> -----END PGP SIGNATURE-----

That's perfect, thank you! I managed to install it successfully, however.

It appears I have two options.

A) Piggyback off of the <xen> Marek Patched
B) Grep all occurrences of `viridian` and attempt to add my `spoof_xen` option.

After disabling Testing I've been able to compile A, however it dosen't seem to 
actually flip the feature on.

Here's my patch: 
https://gist.github.com/dylangerdaly/74be3f316ce8f0ddfb27b0202aa5ec2d

The other thing is e820_host is a PV Feature, I'm trying to enable a HVM 
Feature, I'm not sure if the location of these patches matters.

Note, I'm disabling the Tests, I just want to PoC this before adding all of the 
testing, unless it's required?

-- 
You received this message because you are subscribed to the Google Groups 
"qubes-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/qubes-devel/77211789-85d7-484b-b97b-dd54a4fd749c%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to