Ancestors

Written by FozzTexx on 2025-01-03 at 20:53

Checked out #Linux kernel v3.7.10 to see if I can strip it down enough to run on the 386 with 4MB of RAM in the Toshiba T5200. My plan is to do something very similar to what I did in my blog post where I targeted a 486 (https://www.insentricity.com/a.cl/283), but this time use LOADLIN.EXE to load the kernel from DOS since I don't have a working floppy drive.

[#]RetroComputing #VintageComputing.

=> View attached media

=> More informations about this toot | More toots from fozztexx@fozztexx.com

Written by FozzTexx on 2025-01-03 at 21:02

No make tinyconfig on v3.7.10. That's going to make stripping it down a lot more work. #Linux #RetroComputing #VintageComputing

=> More informations about this toot | More toots from fozztexx@fozztexx.com

Written by FozzTexx on 2025-01-03 at 22:46

Setup a Debian 7 Wheezy docker environment to build in. But already running into compile problems which seem to be caused by lack of 386 support:

In file included from include/linux/irq_work.h:4:0,

             from arch/x86/kernel/irq_work.c:8:

include/linux/llist.h: In function 'llist_add':

include/linux/llist.h:160:11: error: 'boot_cpu_data' undeclared (first use in this function)

[#]Linux #RetroComputing #VintageComputing

=> More informations about this toot | More toots from fozztexx@fozztexx.com

Written by FozzTexx on 2025-01-04 at 02:22

Looks like v3.3.8 was the last version that could be built for 386. After that there's some change that prevents the kernel from compiling. #Linux #RetroComputing #VintageComputing

=> More informations about this toot | More toots from fozztexx@fozztexx.com

Toot

Written by FozzTexx on 2025-01-04 at 03:08

Hey, an error message is progress, right? #Linux #RetroComputing #VintageComputing

=> View attached media

=> More informations about this toot | More toots from fozztexx@fozztexx.com

Descendants

Written by FozzTexx on 2025-01-04 at 03:30

I’m not sure that’s better. No error messages at all. #Linux #RetroComputing #VintageComputing

=> View attached media

=> More informations about this toot | More toots from fozztexx@fozztexx.com

Written by FozzTexx on 2025-01-04 at 17:48

Still can’t get my kernel to boot. Went and got the Slackware 1 kernel and used LOADLIN and that’s at least something! Maybe I should try to fix the floppy drive so I can do a traditional Linux install? #Linux #RetroComputing #VintageComputing

=> View attached media

=> More informations about this toot | More toots from fozztexx@fozztexx.com

Written by FozzTexx on 2025-01-04 at 19:58

If I change the BIOS Memory config so that everything above 640k is Extended instead of some being Expanded then my custom kernel doesn't immediately reboot. Instead it just hangs with a cursor on the screen and doesn't print anything. Getting annoyed with the lack of a reset button on the T5200 too.

Would be nice if there was a way I could get qemu to act exactly like the T5200 so I don't have to keep testing on the real hardware.

[#]Linux #RetroComputing #VintageComputing

=> View attached media | View attached media

=> More informations about this toot | More toots from fozztexx@fozztexx.com

Written by FozzTexx on 2025-01-04 at 23:29

For anyone who wants to play along, I've put the docker environment and my current Linux config here: https://github.com/FozzTexx/old-wheezer

I'll try to keep it updated as I progress.

[#]Linux #RetroComputing #VintageComputing

=> More informations about this toot | More toots from fozztexx@fozztexx.com

Written by FozzTexx on 2025-01-06 at 16:12

Thanks to @nina_kali_nina I've switched to using PCem instead of qemu since it does a better job replicating the experience I get on the T5200. I've been going through old and older distros trying to find one that has a kernel that boots on the emulated 386DX. So far it seems that no distro with a 2.x kernel will work. Newest so far is Slackware 2.3 with a 1.2.8 kernel. Bumping the RAM up to 32MB doesn't get 2.x kernels working either. Very strange.

[#]Linux #RetroComputing #VintageComputing

=> View attached media

=> More informations about this toot | More toots from fozztexx@fozztexx.com

Written by FozzTexx on 2025-01-06 at 18:24

Newest kernel I can get to boot so far is 2.0.18 from Debian 1.1 from here: https://grumbeer.dyndns.org/ftp/linux/dist/debian/1.1.11/buzz/disks-i386/SpecialKernels/

It will boot using the boot floppy, but if I extract the kernel from the floppy it will NOT boot with LOADLIN and instead the computer reboots.

Also not sure where to get the kernel config that was used for that v2.0.18 kernel. Or where to get the v2.0.18 linux kernel source either, git repo only goes back to v2.6.

[#]Linux #RetroComputing #VintageComputing

=> View attached media

=> More informations about this toot | More toots from fozztexx@fozztexx.com

Written by FozzTexx on 2025-01-06 at 22:26

Found a v2.4.22 kernel built as a bzImage which boots on the emulated 386 here: https://smalllinux2.sourceforge.net/

That proves that it is possible to get a bzImage to boot, so far I've only had luck with older zImage kernels. Unfortunately there is no kernel config to be found anywhere for that distro.

#Linux #RetroComputing #VintageComputing

=> More informations about this toot | More toots from fozztexx@fozztexx.com

Written by FozzTexx on 2025-01-07 at 15:57

It seems like my main problem is with the loaders. If I take a kernel which I've had success with booting and move it to a different loader, it fails to boot. If I try to take the 2.4.22 kernel from its floppy and load it with LOADLIN or SYSLINUX it won't boot. If I take my custom 2.4.22 kernel and stick it on the floppy that had 2.4.22 it won't boot.

Until I can find a reliable way of loading the kernel I'll never know if the kernel itself is bad.

[#]Linux #RetroComputing #VintageComputing

=> More informations about this toot | More toots from fozztexx@fozztexx.com

Written by FozzTexx on 2025-01-07 at 21:14

Found LINLD and I'm able to get my own custom v2.4.37 kernel to load on an emulated 386 with 4MB of RAM! I had to put the root filesystem on /dev/fd0 since there's not enough RAM for an initrd.

Not sure where the source for LINLD is, I found a copy of the .COM file here: https://distro.ibiblio.org/slitaz/boot/

#Linux #RetroComputing #VintageComputing

=> View attached media

=> More informations about this toot | More toots from fozztexx@fozztexx.com

Written by FozzTexx on 2025-01-07 at 21:16

If I bump up the emulated RAM to 8MB then I can also use LINLD to get gray386 to boot and give me a shell.

[#]Linux #RetroComputing #VintageComputing

=> View attached media

=> More informations about this toot | More toots from fozztexx@fozztexx.com

Written by FozzTexx on 2025-01-08 at 05:16

Got gray386 to load in 4MB! I recompiled the kernel to move PHYS down to 0x100000, extracted the initramfs and put it on an ext2 formatted floppy. Loaded with LINLD and root=/dev/fd0. Can't try this on the Toshiba yet since the Toshiba doesn't have a working floppy drive. #Linux #RetroComputing #VintageComputing

=> View attached media

=> More informations about this toot | More toots from fozztexx@fozztexx.com

Written by FozzTexx on 2025-01-08 at 19:31

Got it to boot on the Toshiba! It’s seriously RAM starved and gray386 doesn’t even have swapon. It looks like I’m probably going to have to roll my own distro just for this computer. Many many tools missing and I need to add modules to the kernel. #Linux #RetroComputing #VintageComputing

=> View attached media | View attached media

=> More informations about this toot | More toots from fozztexx@fozztexx.com

Written by aburka 🫣 on 2025-01-04 at 03:12

@fozztexx I very frequently have junior engineers come to me saying happily, "I got a different error message!"

=> More informations about this toot | More toots from aburka@hachyderm.io

Written by biggestsonicfan on 2025-01-04 at 03:13

@fozztexx Ah yes, the "Feature Processing Unit", no wonder you're missing that feature

=> More informations about this toot | More toots from biggestsonicfan@digipres.club

Written by Branch Predictor :mycomputer: on 2025-01-04 at 18:11

@fozztexx The reason for boot failure is right in front of you. This kernel doesn't support your hard drive geometry.

=> More informations about this toot | More toots from branch300bpm@vivaldi.net

Written by Nina Kalinina on 2025-01-04 at 20:17

@fozztexx good luck! It can be a bit of a challenge, but you can make it work. As for real hardware vs emulation - I have okay-ish results with PCEm as a testbed for my retro PC experiments, recommend

=> More informations about this toot | More toots from nina_kali_nina@tech.lgbt

Written by FozzTexx on 2025-01-05 at 18:23

@nina_kali_nina PCem seems to do a better job showing me problems with the kernel. I picked some random 386DX machine and set it to 4MB of RAM and when I try to LOADLIN the kernel it reboots instead of actually loading like it did on qemu.

=> More informations about this toot | More toots from fozztexx@fozztexx.com

Written by Nina Kalinina on 2025-01-05 at 19:05

@fozztexx the problems you're seeing are likely related to the BIOS of the machine. Might not be a bad idea to start with finding an ancient Linux that can actually boot on your machine and then see what options it had. Also, The recent kernels (3+) are very RAM hungry by themselves unfortunately.

=> More informations about this toot | More toots from nina_kali_nina@tech.lgbt

Written by FozzTexx on 2025-01-05 at 19:09

@nina_kali_nina I've been trying to find a kernel and so far the only that loads is the ancient slackware 1. I'm beginning to wonder if it's a problem with LOADLIN not being able to load a bzImage. I've also had no luck using boot floppies from old Debian or slackware CDs. The Slackware 96 bare.i floppy just prints "L 40 40 40 40”.

=> More informations about this toot | More toots from fozztexx@fozztexx.com

Written by Nina Kalinina on 2025-01-05 at 19:45

@fozztexx Hmm, I see. Indeed it could be an issue with the loader! On my wonky 486 machine, I had the best results with GRUB4DOS - it allows to bypass some loader issues and handles bzImages quite well. "L 40 40 40" looks like something a loader would say, not the kernel

=> More informations about this toot | More toots from nina_kali_nina@tech.lgbt

Written by FozzTexx on 2025-01-05 at 19:50

@nina_kali_nina "L 40 40 40" comes from booting the floppy image, not LOADLIN. I’m not sure I even tried using LOADLIN on a floppy image.

=> More informations about this toot | More toots from fozztexx@fozztexx.com

Written by Nina Kalinina on 2025-01-05 at 20:07

@fozztexx the Slackware floppy you're mentioning has LILO; for me it is stuck on LI. I guess trying different loaders might help, too.

=> More informations about this toot | More toots from nina_kali_nina@tech.lgbt

Written by FozzTexx on 2025-01-05 at 20:14

@nina_kali_nina That's what it did for me in qemu. LILO was always terrible so I'm not surprised. I can't boot floppies on the Toshiba, the floppy drive doesn't work.

=> More informations about this toot | More toots from fozztexx@fozztexx.com

Written by Nina Kalinina on 2025-01-05 at 20:16

@fozztexx it's kind of incredible how much we take modern compatibility for granted...

=> More informations about this toot | More toots from nina_kali_nina@tech.lgbt

Written by FozzTexx on 2025-01-05 at 20:18

@nina_kali_nina I remember the first time I installed linux I sat on an IRC channel all day getting people to ELI5 it for me and walk me through every single roadblock as I did it. It definitely used to be a huge chore to install Linux.

=> More informations about this toot | More toots from fozztexx@fozztexx.com

Written by Regionales Retro-Rechenzentrum on 2025-01-04 at 20:38

@fozztexx 86Box does not provide the Toshiba T5200 (right from the start), unfortunately, but perhaps a way to adapt from an earlier/related model?

=> More informations about this toot | More toots from 3rz@freiburg.social

Written by Andrew Golding on 2025-01-04 at 21:41

@fozztexx Do you have your kernel configuration and build environment docker file posted anywhere? I would be curious to try this out on my Compaq 386 and see if anything interesting / enlightening happens.

=> More informations about this toot | More toots from huronbikes@cyberplace.social

Written by FozzTexx on 2025-01-04 at 23:05

@huronbikes I didn't, but I do now. Hopefully I'll keep it updated as I progress.

https://github.com/FozzTexx/old-wheezer

=> More informations about this toot | More toots from fozztexx@fozztexx.com

Written by Nazo on 2025-01-06 at 16:27

@fozztexx @nina_kali_nina PCem has basically discontinued (or at least completely stalled.) You might want to check out the 86Box fork that continues where it left off.

=> More informations about this toot | More toots from nazokiyoubinbou@urusai.social

Written by FozzTexx on 2025-01-06 at 16:31

@nazokiyoubinbou @nina_kali_nina Why when it works for what I need it for?

=> More informations about this toot | More toots from fozztexx@fozztexx.com

Written by Eloy on 2025-01-06 at 18:27

@fozztexx https://archive.org/details/git-history-of-linux

=> More informations about this toot | More toots from eloy@hsnl.social

Written by marcusb on 2025-01-06 at 18:48

@fozztexx the kernel source is here: https://www.kernel.org/pub/linux/kernel/v2.0/linux-2.0.18.tar.bz2

=> More informations about this toot | More toots from marcusb@mastodon.sdf.org

Written by Andrew Golding on 2025-01-06 at 19:27

@fozztexx for the source, going back that far would probably involve an SVN or CVS repo if Debian even keeps those online (Apache still has an SVN repo out there so there is hope). Also I thought I found a repo from someone else attempting to run a 3.x kernel on a 386. I did not bookmark that unfortunately; however trying to retrace my steps took me to Elks, which is a Linux for ia-16: https://github.com/ghaerr/elks

=> More informations about this toot | More toots from huronbikes@cyberplace.social

Written by Andrew Golding on 2025-01-06 at 19:32

@fozztexx ah: https://github.com/marmolak/gray386linux

=> More informations about this toot | More toots from huronbikes@cyberplace.social

Written by FozzTexx on 2025-01-06 at 19:54

@huronbikes I wasn't able to get that to boot either. If I can get v3.3.8 to work I might come back and see if I can apply those v3.7.10 patches to my tree.

=> More informations about this toot | More toots from fozztexx@fozztexx.com

Written by Andrew Golding on 2025-01-06 at 20:16

@fozztexx what apps do you want to wind up running, assuming the goal is something other than "linux system on 386 go brrrr"

=> More informations about this toot | More toots from huronbikes@cyberplace.social

Written by FozzTexx on 2025-01-06 at 20:18

@huronbikes Right now the main thing I want is Python 3 and support for an ISA MIDI card.

=> More informations about this toot | More toots from fozztexx@fozztexx.com

Written by Andrew Golding on 2025-01-06 at 20:26

@fozztexx oof on the Python 3. If you manage that one, that's at least a hackaday write-up.

Apparently someone did a Python 2.4 build for DOS but that may as well be an entirely different language.

=> More informations about this toot | More toots from huronbikes@cyberplace.social

Written by FozzTexx on 2025-01-06 at 20:28

@huronbikes Well if I can get Linux running on the 386 then all I should need to do is compile Python 3. Right? Right?

=> More informations about this toot | More toots from fozztexx@fozztexx.com

Written by Andrew Golding on 2025-01-06 at 20:36

@fozztexx nods while slowly backing away

I'm wondering how many problems would arise from the lack of a cmpxchg instruction in that build process. Also wonder how much of Python would still be practically operable on hardware that old.

=> More informations about this toot | More toots from huronbikes@cyberplace.social

Written by Jamie Booth on 2025-01-06 at 23:43

@fozztexx

I'm guessing /proc doesn't have any config entries?

=> More informations about this toot | More toots from jamie@boothcomputing.social

Written by FozzTexx on 2025-01-06 at 23:44

@jamie nope

=> More informations about this toot | More toots from fozztexx@fozztexx.com

Written by Jamie Booth on 2025-01-06 at 23:46

@fozztexx

:-(

=> More informations about this toot | More toots from jamie@boothcomputing.social

Written by James Y🎃ung on 2025-01-07 at 21:43

@jamie @fozztexx have you checked:

=> More informations about this toot | More toots from pronoiac@mefi.social

Written by FozzTexx on 2025-01-07 at 21:46

@pronoiac @jamie There's no kernel config anywhere. Not on the small linux repo(s), not in the disk images, not in the kernel.

=> More informations about this toot | More toots from fozztexx@fozztexx.com

Written by mbbrutman on 2025-01-07 at 16:52

@fozztexx Of course the solution to this problem is to write another loader ...

=> More informations about this toot | More toots from mbbrutman@mastodon.sdf.org

Written by Jason Duerstock on 2025-01-07 at 17:32

@fozztexx Is there any correlation between zImage or bzImage and whether it works or fails?

=> More informations about this toot | More toots from jason_duerstock@oldbytes.space

Written by FozzTexx on 2025-01-07 at 17:38

@jason_duerstock LOADLIN doesn't seem to work with bzImage, even though it happily loads them. It always hangs or resets after loading.

I can't find a pattern yet for why SYSLINUX works with some kernels and not others. Esp. when some SYSLINUX disks work fine but if I change the kernel on the disk then it won't load the kernel anymore.

=> More informations about this toot | More toots from fozztexx@fozztexx.com

Written by Pa on 2025-01-08 at 04:47

@fozztexx gj. I think part of the problem is how the bios transitions to the boot device or memory in 386. It's not like 486 which is part of their routine to check EMS/XMS. 2.4 still use initrd, 2.6 was the introduction for initramfs. Each is loaded differently into memory and its sector size.

=> More informations about this toot | More toots from 7adi@mastodon.social

Written by FozzTexx on 2025-01-08 at 04:55

@7adi gray386 has the phys start set too high which is why it won't load on the 4M system. If I recompile it to start lower then I can get it to load, it just doesn't have enough RAM to decompress the initramfs.

=> More informations about this toot | More toots from fozztexx@fozztexx.com

Written by Andrew Golding on 2025-01-08 at 12:30

@fozztexx you could boot to a separate partition, though storage will get cramped unless you are running xtide bios or something similar.

=> More informations about this toot | More toots from huronbikes@cyberplace.social

Written by FozzTexx on 2025-01-08 at 14:57

@huronbikes It's XT-IDE. But I can't get this kernel to detect a hard drive at all..

=> More informations about this toot | More toots from fozztexx@fozztexx.com

Written by Andrew Golding on 2025-01-08 at 15:06

@fozztexx huh. Is it detecting ATA controllers at all? 3.x would have still needed to support PCI ATA for optical devices at least.

=> More informations about this toot | More toots from huronbikes@cyberplace.social

Written by FozzTexx on 2025-01-08 at 15:09

@huronbikes It's detecting ATA controllers, but doesn’t seem to probe them for hard drives.

=> View attached media

=> More informations about this toot | More toots from fozztexx@fozztexx.com

Written by Andrew Golding on 2025-01-08 at 15:23

@fozztexx weird, looks like it's trying to grab other ports/IRQs as disk controllers beyond primary/secondary. The legacy ATA driver may need some configuration (https://github.com/torvalds/linux/blob/master/drivers/ata/pata_legacy.c). I would imagine that in order for it to work on the real hardware (does PCem allow for setting up option ROMs?), the driver should be set to use BIOS calls so that XTIDE can do its thing.

=> More informations about this toot | More toots from huronbikes@cyberplace.social

Written by FozzTexx on 2025-01-08 at 15:25

@huronbikes I bounced back and forth with the ATA/ATAPI/MFM/RLL and Serial ATA and Parallel ATA drivers (SCSI) drivers and neither would detect the hard drive.

Linux should be able to talk to the drive directly via LBA and not go through the BIOS.

=> More informations about this toot | More toots from fozztexx@fozztexx.com

Written by Andrew Golding on 2025-01-08 at 15:34

@fozztexx what controller is the pata_legacy driver reporting? it should be a bit further back in the terminal from your most recent screenshot.

I still think forcing BIOS access might be the starting point just to get the dang thing working from disk.

=> More informations about this toot | More toots from huronbikes@cyberplace.social

Written by FozzTexx on 2025-01-08 at 15:36

@huronbikes It's not reporting anything else. That's everything ATA related in the messages.

Is there some command line flag to force it to use the BIOS?

=> More informations about this toot | More toots from fozztexx@fozztexx.com

Written by Andrew Golding on 2025-01-08 at 15:38

@fozztexx trying to figure that out now by looking through the source.

based on the comment at line 1197 (https://github.com/torvalds/linux/blob/09a0fa92e5b45e99cf435b2fbf5ebcf889cf8780/drivers/ata/pata_legacy.c#L1197) it kind of sounds like legacy controllers are not probed by default?

=> More informations about this toot | More toots from huronbikes@cyberplace.social

Written by Óscar Toledo G. on 2025-01-08 at 19:38

@fozztexx now that's patience!

=> More informations about this toot | More toots from nanochess@mastodon.social

Proxy Information
Original URL
gemini://mastogem.picasoft.net/thread/113767884121973568
Status Code
Success (20)
Meta
text/gemini
Capsule Response Time
638.289524 milliseconds
Gemini-to-HTML Time
38.557077 milliseconds

This content has been proxied by September (3851b).