marmolak / gray386linux

Linux distribution for i386 machines only.
BSD 2-Clause "Simplified" License
73 stars 5 forks source link

Build seems to require FPU #3

Closed Doridian closed 2 months ago

Doridian commented 3 months ago

Reading the README, it seems as if the build in bin/ should work without an FPU, however on my 386SX without FPU I get this error: IMG_1387

Did I misread the README and FPU emulation is in fact off in the default kernel?

Doridian commented 3 months ago

Looking around the code. Indeed, FPU emulation IS disabled: https://github.com/marmolak/gray386linux/blob/master/src/linux-3.7.10/.config#L342C1-L342C35

marmolak commented 3 months ago

Hi. Thank you very much for reporting.

You are correct. It's a bug in the configuration. I currently have a 386 with an additional math coprocessor, so this must have slipped through the cracks.

marmolak commented 2 months ago

Hello.

Would you please take a look at: https://github.com/marmolak/gray386linux/commit/e2a83073f3e9bc123fcd6ab25ff731d944e32629 ? I just enabled FPU emulation and as a bonus, some DMA :).

Doridian commented 2 months ago

@marmolak Working perfectly now, thanks.

Well it boots now but keyboard input doesn't work. I suspect whoever made this subnotebook made the internal keyboard use some hacky interface that only works with BIOS calls...

Oh well, I should get a PS/2 keyboard delivered today to see if native PS/2 makes it work (confirming my above theory)

//EDIT: Here's an extremely silly idea: In theory, could the Yggdrasil BIOS-call driver be forward-ported to 3.7.10 so we can deal with basically all 386 systems no matter what sillyness their BIOS pulls?

marmolak commented 2 months ago

Hi. Great to hear that booting works.

BTW: what exact model of machine do you have? I'm not familiar with Yggdrasil devices :/. I was only able to find Yggdrasil copyright in some usb drivers in linux kernel.

Doridian commented 2 months ago

Hi. Great to hear that booting works.

BTW: what exact model of machine do you have? I'm not familiar with Yggdrasil devices :/. I was only able to find Yggdrasil copyright in some usb drivers in linux kernel.

I meant Yggdrasil as the old CD-ROM Linux. They made a BIOS-routine driver for at least storage devices. There is a good explanation here: https://retrocomputing.stackexchange.com/a/16435 (All the old CDs used to be thought lost, but recently images of all of them appeared here: https://pd.spuddy.org/yggdrasil.html )

The exact device I'm using is a Pocket386, basically a modern-made 386SX-class processor built into a subnotebook/netbook form factor.

marmolak commented 2 months ago

Thank you. I have something to study.

Would we open new feature request to add support for Pocket386 HW? Would be nice to support this device.

I see there's even a USB controller present, and I'm wondering if the keyboard is not internally connected as a USB HID device.

Doridian commented 2 months ago

The USB port is connected to a CH375, not a classical USB controller (and it is only that one port). What I suspect they actually did is connect the keyboard internally via I2C or SPI or some other low-level protocol. And then just wrote BIOS routines to access the data in whatever way.

Which makes sense, the keyboard has a mouse emulation mode, which can be configured via the screen's OSD, so clearly the BIOS must be quite involved in making things happen on this device.

//EDIT: Absolutely we should open a separate issue to discuss this in more detail.

marmolak commented 2 months ago

Hello. I opened new bug so we can move investigation to better place.

Closing this as finished.