chenall/grub4dos

branch 046a_ahci_nvme - Windows 32 bit gcc version I don't think it will ever work

Closed this issue · 3 comments

Hi, sorry to bother, it's not really an issue, rather a request for help and suggestion.
I would like to experiment a grub4dos (grub.exe not grldr), invoked by kexec from inside a Debian box, to boot a Windows (seven).
From the same internal SATA ssd, with Windows on first (Windows suggested boot partition) and second partition, Debian on fourth and last, MBR boot record, no EFI, no UEFI, 32 bit Intel Atom processor, and BIOS with no options to set the disk to AHCI.
I can't compile in Debian, but I'm trying on another PC (Windows 10 64 bit) where I can have a Cygwin | MinGW 32 bit environment.

But which is the correct version of gcc to compile your sources?

I was inspired by this guide https://pete.akeo.ie/2014/11/compiling-grub4dos-on-mingw.html but without success.

Thanks in advance

a1ive commented

I have no idea which version of mingw/cygwin to use to compile.
I use wsl (ubuntu 18.04), and installed gcc 4.8 and gcc 4.8 multilib.

Hi @a1ive thanks for the reply, it's a good starting point.
Now I have to solve an incomprehensible rebase problem with Cygwin (until two days ago, Cygwin worked perfectly even in 32 bit), and then I can try other compiling under gcc 4.8
My best

Hi, probably compiling on cygwin | mingw will never work because of this? because no multilib features are available under Windows? It's just an educated guess.
Following @a1ive hints, but without admin rights on my corporate laptop (so, no Windows Subsystem for Linux is feasible for me) I fired up an Ubuntu 18.04 i686 guest with QEMU portable - a bit slow, but works like a charm on my Windows 10 x86_64 host.
Then was just a matter of sudo aptitude install gcc-4.8 gcc-4.8-multilib g++-4.8 g++-4.8-multilib nasm upx-ucl p7zip-full zip autoconf automake make binutils libtool gdb PLUS ./configure --enable-example-kernel - make - make check.
See attached log - just some /usr/bin/ld: Warning: - do I have to worry?
I'm just wondering how PETE BATARD compiled these sources in Windows with cygwin | mingw - he will probably have limited himself to x86_64 architecture because that i686 just doesn't work. Period.
20230302buildlog.txt