for fun I re-built all the tools, and setup a batch to rebuild all the kernels. The 0.95c+ stuff crashes I just left it in there as it'll build with both GCC1 & GCC2.
Thanks to NCommander for his LBA patch which can be found here:
https://github.com/NCommander/linux-1.0-lba/commit/0acfda570a0a5926c9da71f2264f643515a465a2
This is right before the split to NetBSD/FreeBSD. Tested on Qemu, and it works just as poorly as the real thing!
I don't know how I overlooked it, but yeah it was impossible to compile Linux 1.0.9 out of the box, as GCC 2.3.3 isn't adaquite. Anyways It's added to the zip, and the file is updated.
Found an extracted ISO on slackware.cs.utah.edu. So a wget later, and I made a non-bootable ISO. As I find time I would eventually like to get a cross ELF tool chain working, and get something kernel 1.0 and onwards building on Windows.
better environment file, and I added in BISON to get a fuller re-build of GCC.
So I thought this would be a good starting point. Under linux I made a canadian cross binutils 2.9.1 configured the way the package describes on the Slackware archive page , then did a MinGW 'native' build of GCC 2.7.2.3 again as described on the source page, along with dumping the libs & headers from the OS. I verified I can build a 'Hello World' style application on Windows, transfer it to Linux, and it runs! ... Building the Linux 2.0.40 kernel does the same thing, it boots starts to decompress and reboots.... read more
tools and everything else.
1.2.13 compiles & links but doesn't run on Qemu. I suspect my build process is at fault somewhere. 2.0.40 also can compile and link as well, and it too cannot run on Qemu.
Linux 2.2.26 compiles, but fails to link. problems with the arch\i386\process.c & arch\i386\signal.c throw issues between mov vs movl, no doubt something I'm doing wrong or whatnot.
There is some issue with the networking clearly not linking everything in, but after fighitng the 'magic' of the object files as my toolchain is clearly too old, it boots!
Download the source tree here:
https://sourceforge.net/projects/linux011/files/kernels/linux-1.0.9.7z/download
Of course this needs GCC 2.4.5, which I also just added.
This should contain the source along with the executables. It relies on the original binutils stuff that I've been using since the start so there is that.... read more
also updated the tool chain to include GCC 2.3.3 the first version to officially include support for Linux!
I now have versions 0.10, 0.11, 0.12, 0.95c+, 0.96c, 0.97.6 cross compiling from Windows!
Need to clean up the keyboard code, to use the pre-procesor like the boot code, but yeah, booted it up, cross compiled from Windows!
And sort of runs. It is having issues with the Qemu hard disk emulation.
I don't know what is up with the HD emulation, and I haven't tried any other emulators other than Qemu 0.12 and Qemu 2.something...
And I've updated the toolchain to include a hybrid (mostly 0.10) It's very touchy, but when it runs, it does run.