linux-qubasis

linux oasis port as a qubes template

git clone https://9o.is/git/linux-qubasis.git

commit f9b9c01e8256a4e32d5dc6342b4fcdee239ec4f9
parent 86a1c232aad3889cb2ce0139fb8aa2b3a5192e6c
Author: Jul <jul@9o.is>
Date:   Mon, 24 Nov 2025 04:30:03 -0500

build libxentoolcore.a

Diffstat:
Mpkg/gen.sh | 1+
Mpkg/xen/config.h | 11+++++++----
Mpkg/xen/gen.sh | 429+++----------------------------------------------------------------------------
Mqubes/example/gen.sh | 1+
4 files changed, 21 insertions(+), 421 deletions(-)

diff --git a/pkg/gen.sh b/pkg/gen.sh @@ -40,6 +40,7 @@ pkg sinit pkg ubase pkg util-linux pkg vis +pkg xen pkg xz pkg zlib pkg zstd diff --git a/pkg/xen/config.h b/pkg/xen/config.h @@ -43,6 +43,9 @@ /* pygrub enabled */ /* #undef HAVE_PYGRUB */ +/* Qemu traditional enabled */ +/* #undef HAVE_QEMU_TRADITIONAL */ + /* ROMBIOS enabled */ /* #undef HAVE_ROMBIOS */ @@ -98,7 +101,7 @@ /* #undef IPXE_PATH */ /* Xen's libexec path */ -#define LIBEXEC_BIN "/usr/local/lib/xen/bin" +#define LIBEXEC_BIN "/lib/xen/bin" /* OVMF path */ /* #undef OVMF_PATH */ @@ -122,7 +125,7 @@ #define PACKAGE_VERSION "4.19" /* Qemu Xen path */ -#define QEMU_XEN_PATH "/usr/local/lib/xen/bin/qemu-system-i386" +#define QEMU_XEN_PATH "/lib/xen/bin/qemu-system-i386" /* SeaBIOS path */ /* #undef SEABIOS_PATH */ @@ -133,10 +136,10 @@ #define STDC_HEADERS 1 /* QMP proxy path */ -#define STUBDOM_QMP_PROXY_PATH "/usr/local/bin/vchan-socket-proxy" +#define STUBDOM_QMP_PROXY_PATH "/bin/vchan-socket-proxy" /* Xen's firmware dir */ -#define XENFIRMWAREDIR "/usr/local/lib/xen/boot" +#define XENFIRMWAREDIR "/lib/xen/boot" /* Xen's config dir */ #define XEN_CONFIG_DIR "/etc/xen" diff --git a/pkg/xen/gen.sh b/pkg/xen/gen.sh @@ -1,15 +1,4 @@ -# missing: -# - scripts to generate headers (needs python, perl, iasl) -# - need to better organize the headers -# - allow custom cflags per lib -# - separate x86 files -# - xldevd and xl devd trigger a fatal error: -# - libxl: critical: pkg/xen/repo/tools/libs/light/libxl_event.c:694:watchfd_callback: DISASTER in event loop: cannot check/read watches: Bad file descriptor -# - Assertion failed: !libxl__watch_slot_contents(gc, i) (pkg/xen/repo/tools/libs/light/libxl.c: libxl_ctx_free: 158) -# - last error happens atexit cleanup -# - same error occurs in a fedora template, so I assume something is wrong with the statically-linked binary or versioning problem - -fetch git +fetch git RELEASE-4.19.3 case $TARGET_ARCH in x86_64) xen_arch=x86;; @@ -18,418 +7,24 @@ esac cflags " -std=gnu99 - -D __XEN_TOOLS__ - -D HAVE_YAJL_YAJL_VERSION_H - -D LIBACPI_STDUTILS="'\"../libs/light/libxl_x86_acpi.h\"'" - -D _LARGEFILE_SOURCE - -D _LARGEFILE64_SOURCE - -include $srcdir/tools/config.h - -I $outdir/include - -I $srcdir/include - -I $srcdir/xen/include - -I $srcdir/tools/include - -I $srcdir/tools/libs/light - -I $pkgdir/util-linux/include - -I $pkgdir/yajl/include - -I $pkgdir/zlib/include + -D__XEN_INTERFACE_VERSION__=__XEN_LATEST_INTERFACE_VERSION__ + -D_LARGEFILE_SOURCE + -D_LARGEFILE64_SOURCE + -include $dir/config.h + -I$srcdir/tools/include + -I$hdrdir -Wno-pedantic - -Wno-sign-compare - -Wno-unused-parameter - -Wno-implicit-function-declaration - -Wno-return-type - -Wno-unused-but-set-variable - -Wno-implicit-fallthrough - -Wno-cast-function-type - -Wno-format-zero-length - -Wno-old-style-declaration - -Wno-missing-field-initializers -" - -dep " - $tgtdir/headers - yajl/headers -" - -xen_custom_headers() { - for x in $*; do - in=$dir/include/$x - out=$outdir/include/$x - copy $out $in - headers $out - done -} - -xen_sys_headers() { - for x in $*; do - in=$srcdir/tools/include/xen-sys/Linux/$x - out=$outdir/include/xen/sys/$x - copy $out $in - headers $out - done -} - -xen_tools_headers() { - for x in $*; do - in=$srcdir/tools/include/$x - out=$outdir/include/$x - copy $out $in - headers $out - done -} - -xen_headers() { - for x in $*; do - in=$srcdir/xen/include/public/$x - out=$outdir/include/xen/$x - copy $out $in - sync $in - headers $out - done -} - -xen_tools_headers " - _libxl_types_json.h - libxenvchan.h - libxl.h - libxl_event.h - libxl_utils.h - libxl_json.h - libxl_uuid.h - xenctrl.h - xenctrl_compat.h - xenevtchn.h - xengnttab.h - xenstore.h - xenstore_lib.h - xentoollog.h - xentoolcore.h - xentoolcore_internal.h - xen_list.h - xencall.h - xenforeignmemory.h - xendevicemodel.h - xenguest.h - xenhypfs.h - xen-tools/common-macros.h - xen-tools/xenstore-common.h - xen-xsm/flask/flask.h " -headers " - tools/libacpi/libacpi.h - tools/libs/ctrl/xc_private.h - tools/libs/ctrl/xc_bitops.h -" - -xen_sys_headers " - evtchn.h - gntalloc.h - gntdev.h - privcmd.h -" +dep $dir/headers -xen_custom_headers " - xen/foreign/x86_32.h - xen/foreign/x86_64.h -" - -xen_headers " - arch-$xen_arch/hvm/save.h - arch-$xen_arch/xen-mca.h - arch-$xen_arch/xen-x86_64.h - arch-$xen_arch/xen.h - arch-$xen_arch/cpuid.h - domctl.h - errno.h - elfnote.h - event_channel.h - grant_table.h - hypfs.h - hvm/dm_op.h - hvm/hvm_op.h - hvm/params.h - hvm/save.h - hvm/ioreq.h - hvm/hvm_info_table.h - hvm/hvm_xs_strings.h - hvm/e820.h - io/libxenvchan.h - io/xs_wire.h - io/xenbus.h - io/sndif.h - io/kbdif.h - io/ring.h - io/displif.h - io/usbif.h - kexec.h - memory.h - physdev.h - platform.h - sched.h - sysctl.h - trace.h - version.h - features.h - xen-compat.h +include --keep-path --src-prefix xen/include/public --prefix xen " xen.h - xsm/flask_op.h + xen-compat.h + arch-x86/xen.h + arch-x86/xen-x86_64.h " lib libxentoolcore.a " tools/libs/toolcore/handlereg.c " - -lib libxentoollog.a " - tools/libs/toollog/xtl_core.c - tools/libs/toollog/xtl_logger_stdio.c -" - -lib libxenevtchn.a " - tools/libs/evtchn/core.c - tools/libs/evtchn/linux.c -" - -lib libxengnttab.a " - tools/libs/gnttab/gnttab_core.c - tools/libs/gnttab/gntshr_core.c - tools/libs/gnttab/linux.c -" - -lib libxencall.a " - tools/libs/call/core.c - tools/libs/call/buffer.c - tools/libs/call/linux.c -" - -lib libxenforeignmemory.a " - tools/libs/foreignmemory/core.c - tools/libs/foreignmemory/linux.c -" - -lib libxendevicemodel.a " - tools/libs/devicemodel/core.c - tools/libs/devicemodel/common.c -" - -lib libxenctrl.a " - tools/libs/ctrl/xc_altp2m.c - tools/libs/ctrl/xc_arinc653.c - tools/libs/ctrl/xc_cpu_hotplug.c - tools/libs/ctrl/xc_cpupool.c - tools/libs/ctrl/xc_csched.c - tools/libs/ctrl/xc_csched2.c - tools/libs/ctrl/xc_devicemodel_compat.c - tools/libs/ctrl/xc_domain.c - tools/libs/ctrl/xc_evtchn.c - tools/libs/ctrl/xc_evtchn_compat.c - tools/libs/ctrl/xc_flask.c - tools/libs/ctrl/xc_foreign_memory.c - tools/libs/ctrl/xc_gnttab.c - tools/libs/ctrl/xc_gnttab_compat.c - tools/libs/ctrl/xc_hcall_buf.c - tools/libs/ctrl/xc_kexec.c - tools/libs/ctrl/xc_linux.c - tools/libs/ctrl/xc_mem_access.c - tools/libs/ctrl/xc_mem_paging.c - tools/libs/ctrl/xc_memshr.c - tools/libs/ctrl/xc_misc.c - tools/libs/ctrl/xc_monitor.c - tools/libs/ctrl/xc_pagetab.c - tools/libs/ctrl/xc_physdev.c - tools/libs/ctrl/xc_pm.c - tools/libs/ctrl/xc_private.c - tools/libs/ctrl/xc_psr.c - tools/libs/ctrl/xc_resource.c - tools/libs/ctrl/xc_rt.c - tools/libs/ctrl/xc_tbuf.c - tools/libs/ctrl/xc_vm_event.c - tools/libs/ctrl/xc_vmtrace.c -" - -lib libxenguest.a " - xen/common/libelf/libelf-dominfo.c - xen/common/libelf/libelf-loader.c - xen/common/libelf/libelf-tools.c - xen/lib/x86/cpuid.c - xen/lib/x86/msr.c - xen/lib/x86/policy.c - tools/libs/guest/xg_core.c - tools/libs/guest/xg_core_x86.c - tools/libs/guest/xg_cpuid_x86.c - tools/libs/guest/xg_dom_binloader.c - tools/libs/guest/xg_dom_boot.c - tools/libs/guest/xg_dom_bzimageloader.c - tools/libs/guest/xg_dom_compat_linux.c - tools/libs/guest/xg_dom_core.c - tools/libs/guest/xg_dom_decompress_lz4.c - tools/libs/guest/xg_dom_elfloader.c - tools/libs/guest/xg_dom_hvmloader.c - tools/libs/guest/xg_dom_x86.c - tools/libs/guest/xg_domain.c - tools/libs/guest/xg_offline_page.c - tools/libs/guest/xg_private.c - tools/libs/guest/xg_resume.c - tools/libs/guest/xg_sr_common.c - tools/libs/guest/xg_sr_common_x86.c - tools/libs/guest/xg_sr_common_x86_pv.c - tools/libs/guest/xg_sr_restore.c - tools/libs/guest/xg_sr_restore_x86_hvm.c - tools/libs/guest/xg_sr_restore_x86_pv.c - tools/libs/guest/xg_sr_save.c - tools/libs/guest/xg_sr_save_x86_hvm.c - tools/libs/guest/xg_sr_save_x86_pv.c - tools/libs/guest/xg_suspend.c -" - -lib libxenstore.a " - tools/libs/store/xs.c -" - -lib libxenvchan.a " - tools/libs/vchan/init.c - tools/libs/vchan/io.c -" - -lib libxenhypfs.a " - tools/libs/hypfs/core.c -" - -lib libxenlight.a " - tools/libs/light/_libxl_save_msgs_callout.c - tools/libs/light/_libxl_types.c - tools/libs/light/_libxl_types_internal.c - tools/libs/light/dsdt_pvh.c - tools/libs/light/flexarray.c - tools/libs/light/libxl.c - tools/libs/light/libxl_9pfs.c - tools/libs/light/libxl_aoutils.c - tools/libs/light/libxl_bootloader.c - tools/libs/light/libxl_checkpoint_device.c - tools/libs/light/libxl_console.c - tools/libs/light/libxl_convert_callout.c - tools/libs/light/libxl_cpuid.c - tools/libs/light/libxl_cpupool.c - tools/libs/light/libxl_create.c - tools/libs/light/libxl_device.c - tools/libs/light/libxl_disk.c - tools/libs/light/libxl_dm.c - tools/libs/light/libxl_dom.c - tools/libs/light/libxl_dom_save.c - tools/libs/light/libxl_dom_suspend.c - tools/libs/light/libxl_domain.c - tools/libs/light/libxl_event.c - tools/libs/light/libxl_exec.c - tools/libs/light/libxl_flask.c - tools/libs/light/libxl_fork.c - tools/libs/light/libxl_genid.c - tools/libs/light/libxl_internal.c - tools/libs/light/libxl_json.c - tools/libs/light/libxl_linux.c - tools/libs/light/libxl_mem.c - tools/libs/light/libxl_nic.c - tools/libs/light/libxl_no_colo.c - tools/libs/light/libxl_nonetbuffer.c - tools/libs/light/libxl_numa.c - tools/libs/light/libxl_paths.c - tools/libs/light/libxl_pci.c - tools/libs/light/libxl_psr.c - tools/libs/light/libxl_pvcalls.c - tools/libs/light/libxl_qmp.c - tools/libs/light/libxl_remus.c - tools/libs/light/libxl_remus_disk_drbd.c - tools/libs/light/libxl_save_callout.c - tools/libs/light/libxl_sched.c - tools/libs/light/libxl_setresuid.c - tools/libs/light/libxl_stream_read.c - tools/libs/light/libxl_stream_write.c - tools/libs/light/libxl_tmem.c - tools/libs/light/libxl_usb.c - tools/libs/light/libxl_utils.c - tools/libs/light/libxl_uuid.c - tools/libs/light/libxl_vdispl.c - tools/libs/light/libxl_virtio.c - tools/libs/light/libxl_vkb.c - tools/libs/light/libxl_vnuma.c - tools/libs/light/libxl_vsnd.c - tools/libs/light/libxl_vtpm.c - tools/libs/light/libxl_x86.c - tools/libs/light/libxl_x86_acpi.c - tools/libs/light/libxl_xshelp.c - tools/libs/light/osdeps.c - tools/libacpi/build.c - tools/libacpi/static_tables.c -" - -exe xldevd " - $dir/xldevd.c - $outdir/libxenlight.a - $outdir/libxenguest.a - $outdir/libxenctrl.a - $outdir/libxenhypfs.a - $outdir/libxenstore.a - $outdir/libxendevicemodel.a - $outdir/libxenforeignmemory.a - $outdir/libxengnttab.a - $outdir/libxenevtchn.a - $outdir/libxencall.a - $outdir/libxentoollog.a - $outdir/libxentoolcore.a - $pkgdir/util-linux/libuuid.a.d - $pkgdir/zlib/libz.a - $pkgdir/yajl/yajl.a -" - -lib libxlutil.a " - tools/libs/util/libxlu_cfg_y.c - tools/libs/util/libxlu_cfg_l.c - tools/libs/util/libxlu_cfg.c - tools/libs/util/libxlu_disk_l.c - tools/libs/util/libxlu_disk.c - tools/libs/util/libxlu_vif.c - tools/libs/util/libxlu_pci.c -" - -exe xl " - tools/xl/xl.c - tools/xl/xl_cmdtable.c - tools/xl/xl_sxp.c - tools/xl/xl_utils.c - tools/xl/xl_psr.c - tools/xl/xl_parse.c - tools/xl/xl_cpupool.c - tools/xl/xl_flask.c - tools/xl/xl_vtpm.c - tools/xl/xl_block.c - tools/xl/xl_nic.c - tools/xl/xl_usb.c - tools/xl/xl_sched.c - tools/xl/xl_pci.c - tools/xl/xl_vcpu.c - tools/xl/xl_cdrom.c - tools/xl/xl_mem.c - tools/xl/xl_info.c - tools/xl/xl_console.c - tools/xl/xl_misc.c - tools/xl/xl_vmcontrol.c - tools/xl/xl_saverestore.c - tools/xl/xl_migrate.c - tools/xl/xl_vdispl.c - tools/xl/xl_vsnd.c - tools/xl/xl_vkb.c - $outdir/libxlutil.a - $outdir/libxenlight.a - $outdir/libxenguest.a - $outdir/libxenctrl.a - $outdir/libxenhypfs.a - $outdir/libxenstore.a - $outdir/libxendevicemodel.a - $outdir/libxenforeignmemory.a - $outdir/libxengnttab.a - $outdir/libxenevtchn.a - $outdir/libxencall.a - $outdir/libxentoollog.a - $outdir/libxentoolcore.a - $pkgdir/util-linux/libuuid.a.d - $pkgdir/zlib/libz.a - $pkgdir/yajl/yajl.a -" diff --git a/qubes/example/gen.sh b/qubes/example/gen.sh @@ -28,5 +28,6 @@ pkg sinit pkg ubase pkg util-linux pkg vis +pkg xen pkg xz pkg zstd