SeaBIOS 1.17.0 was just released. Can you maybe release an update of CSMWrap that includes this version?
Release date: 2025-06-10
SeaBIOS 1.17.0
Available on 20250610. Major changes in this release:
- Prefer PCI IO allocations above 4Gig on 64bit capable machines.
- Multiple simultaneous USB keyboard and mouse support.
- Legacy support for internally generated ACPI tables has been removed.
- SeaVGABIOS support for VBE get/set palette data.
- Several bug fixes and code cleanups.
Source: https://seabios.org/Releases#SeaBIOS_1.17.0
- Legacy support for internally generated ACPI tables has been removed.
That doesn't sound good.
CSMWrap was invented to run Legacy OS's.
Since we are building our SeaBIOS out of git master, we already had those code changes.
- Legacy support for internally generated ACPI tables has been removed.
That doesn't sound good.
CSMWrap was invented to run Legacy OS's.
This was used to workaround a old QEMU bug and not really relevant to us.
@FlyGoat OK
P.S. What OS you use to compile? I tried use Ubuntu but compile error. I use same OS to compile UefiSeven, edk2, duet and all OK - only CSMWrap error :-(
@Gelip Ubuntu 24.04, what was the error?
@FlyGoat I use Ubuntu 16.04.6 LTS server version i386
@FlyGoat I use Ubuntu 16.04.6 LTS server version i386
I added a commit to main to address this issue: 059087716c0539371c80dc724cbb61c0bcc39f2d
The parameter was added to address spurious GCC warnings, but warnings are harmless compared to this issue preventing CSMWrap from building altogether.
@FlyGoat Other errors: make seabios
Fixup VGA rom assembler
out/vgaccode16.s: Assembler messages:
out/vgaccode16.s:21: Error: file number 1 already allocated
Makefile:228: recipe for target 'out/vgaccode16.o' failed
make[1]: *** [out/vgaccode16.o] Error 1
make[1]: Leaving directory '/root/CSMWrap/seabios'
GNUmakefile:247: recipe for target 'seabios' failed
make: *** [seabios] Error 2
make
mkdir -p "$(dirname obj-x86_64/src/Thunk16.asm64.o)"
nasm -F dwarf -g -Wall -f elf64 src/Thunk16.asm64 -o obj-x86_64/src/Thunk16.asm64.o
nasm: fatal: unrecognized debug format `dwarf' for output format `bin'
type `nasm -h' for help
GNUmakefile:196: recipe for target 'obj-x86_64/src/Thunk16.asm64.o' failed
make: *** [obj-x86_64/src/Thunk16.asm64.o] Error 1
@FlyGoat Other errors: make seabios
Fixup VGA rom assembler out/vgaccode16.s: Assembler messages: out/vgaccode16.s:21: Error: file number 1 already allocated Makefile:228: recipe for target 'out/vgaccode16.o' failed make[1]: *** [out/vgaccode16.o] Error 1 make[1]: Leaving directory '/root/CSMWrap/seabios' GNUmakefile:247: recipe for target 'seabios' failed make: *** [seabios] Error 2make
mkdir -p "$(dirname obj-x86_64/src/Thunk16.asm64.o)" nasm -F dwarf -g -Wall -f elf64 src/Thunk16.asm64 -o obj-x86_64/src/Thunk16.asm64.o nasm: fatal: unrecognized debug format `dwarf' for output format `bin' type `nasm -h' for help GNUmakefile:196: recipe for target 'obj-x86_64/src/Thunk16.asm64.o' failed make: *** [obj-x86_64/src/Thunk16.asm64.o] Error 1
@Gelip what nasm version is this?
@mintsuki NASM 2.11.08
it's GNU assembler issue, SeaBIOS requires modern gcc.
@mintsuki NASM 2.11.08
@Gelip that nasm is from 10 years ago... Could you perhaps use a more up to date distro?
Yes, I installed the newer Ubuntu 24: https://msfn.org/board/topic/186793-csmwrap-boot-csm-on-uefi-only-systems/page/13/#comment-1280627 but this is probably the 4rd OS to compile something:
- coreboot for Abit BF6, gPXE, iPXE, CFE loader - Debian 6
- UEFI DUET, UefiSeven, UEFI drivers - Ubuntu 16.04.6
- Window CMD applications - WinXP + Visual Studio + Driver Development Kit
- CSMWrap - Ubuntu 24.04.2
It is necessary to spend an inadequate amount of time (several hours) on the installation and configuration OS in relation to the compilation time, for example, CSMWrap compiles in about 3 minutes
Ubuntu 16.04 has been EOL for a while now though ?
Ubuntu 16.04 has been EOL for a while now though ?
What about the EOL?
- new OS's often require newer computers - as I don't have the latest
- this is not the OS I use on a daily basis for other things. It is only used for compilation and as I wrote I compile edk2, UEFI DUET, UEFI Drivers, UefiSeven etc. without any problem - I use server version, no GUI, only CMD on root account (to not use sudo) over SSH (Putty in Windows) and copy and edit source files over WinSCP On Ubuntu 16 most of the CSMWrap code compiles fine just some minor issue with nasm - probably could be improved but OK I'll use Ubuntu 24
Ubuntu 16.04 has been EOL for a while now though ?
What about the EOL?
- new OS's often require newer computers - as I don't have the latest
I have an HP Compaq 6000 Pro MT from 2010 running Linux Mint 22.1 Cinnamon (Ubuntu 24.04) without a sweat, and even less graphic glitches than on Ubuntu 24.04 somehow, can run Minecraft 1.21.5 surprisingly good
- this is not the OS I use on a daily basis for other things. It is only used for compilation and as I wrote I compile edk2, UEFI DUET, UEFI Drivers, UefiSeven etc. without any problem - I use server version, no GUI, only CMD on root account (to not use sudo) over SSH (Putty in Windows) and copy and edit source files over WinSCP On Ubuntu 16 most of the CSMWrap code compiles fine just some minor issue with nasm - probably could be improved but OK I'll use Ubuntu 24
This is why you should keep your OS up to date, you're missing on software updates that make your life easier most of the time