The upstream Zeta library uses spaces in filenames (e.g., "data model.h",
"character set.h"). The kernel's fixdep tool splits dependency paths on
spaces, causing it to try opening truncated paths like ".../inspection/data"
instead of ".../inspection/data model.h". This broke z80drv builds on the
VPS Jenkins server.
Vendoring the library with underscore-renamed files (as they exist on the
local dev machine) avoids this issue while keeping the same library content.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
These generated files (asm wrappers, asm-offsets.s, .version) are required
by make M=<dir> modules when building ttymzdrv/z80drv on the VPS where
the kernel hasn't been compiled locally.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Force-add kernel include/generated/ and include/config/ headers needed
for out-of-tree module compilation (autoconf.h, asm-offsets.h, etc.)
- Force-add kernel .config, Module.symvers, and build tool binaries
(scripts/basic/fixdep, scripts/mod/modpost) for kbuild module support
- Fix SPI tools Makefile: use PATH-relative arm-linux-gnueabihf-gcc
instead of hardcoded /opt/gcc-arm-eabihf/bin/ path
These files enable the z80drv, ttymzdrv kernel modules and SPI tools
to build on the VPS Jenkins without running make defconfig first.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Fix ttymzdrv kernel module build failure with GCC 5.5:
- Static variables cannot be initialised from const locals (not compile-time
constants in C). Changed to zero-init with runtime sharpmz_init_defaults()
- Added -Wno-error to ccflags-y to handle unrecognised -Wno-* flags from
the kernel Makefile that GCC 5.5 cc1 rejects under -Werror
- Add PCW8256 Quartus project files (.qpf, .qsf, .sdc) - were gitignored
by **/build/** rule, force-added to match MZ80A/MZ700/MZ2000
- Make Build_FusionX.sh more resilient:
- make image-nocheck failure is now non-fatal (bootanimation needs GLIBC_2.28)
- Upgrade image generation errors are non-fatal
- Update rebuilt binaries (ttymzdrv.ko, mspi_main)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Added build_image() function and --image flag to build.sh that invokes
Build_FusionX.sh to create the Linux SD card image for the SSD202 SOM
- Fixed all hardcoded paths in Build_FusionX.sh to use relative paths
derived from the script's directory location
- Image outputs (sdrootfs.tar.gz, SigmastarUpgradeSD.bin) can be included
in Gitea releases
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Remove set -e since we track pass/fail explicitly and return the
appropriate exit code at the end. Remove mz2000_mon_1z001m from the
ROM build list as it depends on a symlink to an external path that
doesn't exist in the repository.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Un-ignore software/asm/, software/tools/, and software/roms/ so that
CI/CD builds on Jenkins can assemble Z80 ROMs, TZFS, and CP/M from
source. Previously these files were only available on the dev machine.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add build.sh for building all FusionX components: Z80 assembly ROMs,
TZFS ROMs, CP/M variants, kernel modules, user-space apps, and CPLD
bitstreams. Supports selective builds via --asm/--tzfs/--cpm/--drivers/
--cpld flags. Updated rebuilt binaries from build verification.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>