THIS IS DEPRECATED - NO NEED FOR CUSTOM XEN TARBALL
tested on slackware current (oct 2021)
assuming a power system with all slackware packages installed
this is about our xen-nox slackbuild
prepare xen and qemu-xen tarballs an for updated slackbuild
to avoid the gcc 11 related error, we switched to 4.15 stable branch instead of the 4.15.0 release.
we are going for xen LATEST STABLE and qemu-xen CURRENT. qemu-xen latest stable did not build because of keycodemapdb which was not generating the required .c files.
for XEN and tools to build you will require those.
# official
slackpkg search ninja
# sbo
sbopkg -i acpica
#sbopkg -i scikit-build
#sbopkg -i wheel
sbopkg -i yajl
grab the latest xen stable branch
#git clone git://xenbits.xen.org/xen.git
git clone https://xenbits.xen.org/git-http/xen.git
cd xen/
git checkout stable-4.15
git branch
git log -1 # f50ef17c9884c0c2d486d3b1de8f110bb6b22c42
mv .git/ ../xen-REPO-DOT-GIT
cd ../
tar czf xen-f50ef17.tar.gz xen/
grab the latest qemu-xen stable branch AND SUBMODULES
git clone https://xenbits.xen.org/git-http/qemu-xen.git
cd qemu-xen/
git config --file .gitmodules --name-only --get-regexp path
git submodule update --init --recursive meson/
git submodule update --init --recursive tests/fp/berkeley-softfloat-3/
git submodule update --init --recursive tests/fp/berkeley-testfloat-3/
git submodule update --init --recursive ui/keycodemapdb/
git log -1 # b6e539830bf45e2d7a6bd86ddfdf003088b173b0
mv .git/ ../qemu-xen-REPO-DOT-GIT
cd ../
tar czf qemu-xen-b6e5398.tar.gz qemu-xen/
check that it build when done manually (it will avoid you troubles when using the slackbuild), while INCLUDING xen’s Makefile parameters (but --enable-xen)
#mv /usr/bin/python /usr/bin/python.dist
#ln -s python3 /usr/bin/python
cd qemu-xen/
./configure --sysconfdir=/etc --localstatedir=/var \
--target-list=i386-softmmu \
--disable-kvm \
--disable-docs \
--disable-guest-agent \
--python=python3 \
--cpu=x86_64 \
--audio-drv-list= \
--disable-slirp \
--disable-blobs \
--disable-plugins \
--disable-gtk \
--disable-sdl \
--disable-sdl-image \
--disable-opengl \
--disable-capstone \
--disable-slirp-smbd \
--disable-spice-protocol \
--disable-fuse \
--disable-fuse-lseek
echo $MAKEFLAGS
make clean
make > ../qemu-xen.log && echo BUILT || echo FAILED
cd ../
the resulting tarballs are also available over there.
you are now ready to build XEN, QEMU-XEN and make the resulting slackbuild packages available for the world.
keep the repos for updating further tarballs
mv xen-f50ef17.tar.gz ~/slackbuilds/xen-nox/
mv qemu-xen-b6e5398.tar.gz ~/slackbuilds/xen-nox/
now proceed with the build as follows
cd ~/slackbuilds/xen-nox/
grep tar.gz *info
grep VER *uild
ls -lF *.tar.gz
./xen-nox.SlackBuild > ../xen-nox.log && echo BUILT
tail ../xen-nox.log
and see slack/seedy-gonzales for further ado.
==> meson/ submodule was missing
In file included from x86_emulate.c:45:
x86_emulate/x86_emulate.c: In function ‘x86_emulate’:
x86_emulate/x86_emulate.c:726:26: error: writing 1 byte into a region of size 0 [-Werror=stringop-overflow=]
726 | (ptr)[0 - PFX_BYTES] = ext < ext_8f08 ? 0xc4 : 0x8f; \
| ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
==> I don’t remember how I solved that one, but the guide has been updated accordingly.
/tmp/SBo/xen/tools/qemu-xen/ui/input-keymap.c:7:10: fatal error: ui/input-keymap-atset1-to-qcode.c: No such file or directory
7 | #include "ui/input-keymap-atset1-to-qcode.c"
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
==> Makefile:KEYCODEMAP_GEN didn’t work, switch to qemu-xen CURRENT
ERROR: --python requires using QEMU's embedded Meson distribution, but it was not found.
https://slackbuilds.org/repository/15.0/system/xen/
How to “git clone” including submodules? https://stackoverflow.com/questions/3796927/how-to-git-clone-including-submodules
List submodules in a Git repository https://stackoverflow.com/questions/12641469/list-submodules-in-a-git-repository
[027/132] meson: keymap-gen https://patchwork.kernel.org/project/qemu-devel/patch/1576155176-2464-28-git-send-email-pbonzini@redhat.com/
“–target list” meaning in qemu installation https://stackoverflow.com/questions/26664946/target-list-meaning-in-qemu-installation
Member “qemu-6.1.0/configure” (24 Aug 2021, 147017 Bytes) of package /linux/misc/qemu-6.1.0.tar.xz: https://fossies.org/linux/qemu/configure
QEMU Upstream https://wiki.xenproject.org/wiki/QEMU_Upstream
Re: [Qemu-devel] QEMU without X11 support https://lists.nongnu.org/archive/html/qemu-devel/2017-10/msg03032.html
qemu: Allow building without X11 support https://patchwork.openembedded.org/patch/66017/