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.
=> More informations about this toot | More toots from fozztexx@fozztexx.com
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
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
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
Hey, an error message is progress, right? #Linux #RetroComputing #VintageComputing
=> More informations about this toot | More toots from fozztexx@fozztexx.com
I’m not sure that’s better. No error messages at all. #Linux #RetroComputing #VintageComputing
=> More informations about this toot | More toots from fozztexx@fozztexx.com
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
=> More informations about this toot | More toots from fozztexx@fozztexx.com
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
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
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
=> More informations about this toot | More toots from fozztexx@fozztexx.com
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
=> More informations about this toot | More toots from fozztexx@fozztexx.com
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
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
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
=> More informations about this toot | More toots from fozztexx@fozztexx.com
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
=> More informations about this toot | More toots from fozztexx@fozztexx.com
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
=> More informations about this toot | More toots from fozztexx@fozztexx.com
@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
@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
@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
@huronbikes It's detecting ATA controllers, but doesn’t seem to probe them for hard drives.
=> More informations about this toot | More toots from fozztexx@fozztexx.com
@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
@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
@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
@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
@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
@fozztexx My previous suggestion might be a non-starter. It looks like the driver adds probe entries with a controller type of "unknown" during initialization and from what we see in your screen shot, it's covering primary/secondary plus all potential common legacy IDE port/IRQ combos.
I suppose there's always the possibility of altering the driver source directly but I would think there's a less-invasive way to get it to pick up IDE drives.
Out of curiosity, is it same for 2.4?
=> More informations about this toot | More toots from huronbikes@cyberplace.social
@fozztexx also another dumb question: an emulated disk is present at one of those port/irq combos, right?
=> More informations about this toot | More toots from huronbikes@cyberplace.social
@huronbikes I don't know where else the controller would be. I'm trying to go back through all my posts to see what detected the hard drive and so far it seems like it was only Slackware 1. And that kernel was confused by the drive being impossibly large.
=> More informations about this toot | More toots from fozztexx@fozztexx.com
@huronbikes Does seem like PCem might be the problem. Went all the way back to Slack 1.0 and no HD detected. I guess it was detecting when I was using qemu.
=> More informations about this toot | More toots from fozztexx@fozztexx.com
@huronbikes copied the kernel to the Toshiba and it sees the drive! It sure what is going on with PCem.
=> More informations about this toot | More toots from fozztexx@fozztexx.com
@huronbikes Got it on PCem. The trick was using “XTIDE (AT)” not "XTIDE”.
=> View attached media | View attached media | View attached media
=> More informations about this toot | More toots from fozztexx@fozztexx.com
@fozztexx nice! getting closer to a running system, excited to see some Python 3 on a 386!
=> More informations about this toot | More toots from huronbikes@cyberplace.social
@huronbikes at this point it looks like I'm going to have put together my own distro. There's a lot of stuff missing from the gray386 root and so far I can’t manage to steal things from others.
=> More informations about this toot | More toots from fozztexx@fozztexx.com
@fozztexx does gray386 have a working C compiler and linker?
I'm guessing this all is going to wind up similar to "Gentoo but for cantankerous, old computers".
=> More informations about this toot | More toots from huronbikes@cyberplace.social
@huronbikes It doesn't even have swapon or mkfs.ext2.
=> More informations about this toot | More toots from fozztexx@fozztexx.com
@fozztexx well then.
I wonder if "Python 3 for IA-16" has any legs
=> More informations about this toot | More toots from huronbikes@cyberplace.social
text/gemini
This content has been proxied by September (3851b).