[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-users] Fedora as a Guest



Hello,

>Has anyone built a Fedora PV guest on Xen recently and have some instructions 
>to share?

If you have official xen packages in Centos, its likely for C7.

What I did is start from a C8 dom0 with xen-4.12.2, although xen
version is not critical.
Then the goal is to make a minimal fc31 filesystem that supports the
package manager and no more.
My approach was a debootstrap or rpmbootstrap method using special flags to rpm.

There is a blocking twist with a new capability in fc31 rpm:
    rpmlib(PayloadIsZstd) = 5.4.18-1

and C8 has this capability below, not found in C7:
    rpmlib(RichDependencies) = 4.12.0-1

If you try and install fc31 packages into a chroot from C8 it seems to
work until the transactions fail.

In order to kickoff an install of fc31 from C8 you need to rebuild and
reinstall this SRPM:
http://archive.kernel.org/centos-vault/8.1.1911/BaseOS/Source/SPackages/rpm-4.14.2-25.el8.src.rpm

all you need is:
rpmbuild -bb --with zstd rpm.spec

and this will enable the new PayloadIsZstd capability shown above.

Once you've done the rebuild, reinstall like this:
dnf reinstall rpm-4.14.2-25* rpm-libs-4* rpm-build-* python3-rpm*
rpm-plugin-systemd-inhi*

Now D/L these metadata files from fc31 repo:
fedora-gpg-keys-31-1.noarch.rpm
fedora-release-common-31-1.noarch.rpm
fedora-release-31-1.noarch.rpm
fedora-repos-31-1.noarch.rpm

prepare your block device, format it. I used an LVM, /dev/maxvm/fc31min:
<code from modified C8>
mount /dev/maxvm/fc31min /mnt/usb

// install the meta data for the 31 release
rpm -i --root=/mnt/usb fedora-repo*rpm fedora-release*rpm
fedora-release-common* fedora-*gpg*

// gpg key must be local. copy it out of the installroot
cp -p /mnt/usb/etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-31-x86_64 /etc/pki/rpm-gpg/

// rpmbootstrap it
dnf --installroot=/mnt/usb --releasever=31 install dnf
dnf-plugins-core rpm nano glibc-langpack-en
--setopt=module_platform_id=platform:f31
--exclude=glibc-all-langpacks,gnome*

umount /mnt/usb
</code>

the above commands will install 178 fc31 packages into your minimal filesystem.
From there I setup a chroot script, entered and continued.

A similar method can install C8 from C7.
fc31 fully supports pv domU guest in kernel internals and modules.

I left out a few things, but you can find me on IRC with more details.

cheers,
PryMar56
##xen-packaging

_______________________________________________
Xen-users mailing list
Xen-users@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-users

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.