slp / osfmk-mklinux

OSF Mach and MkLinux conservation project
27 stars 11 forks source link

Build #2

Open AlessandroSangiuliano opened 2 years ago

AlessandroSangiuliano commented 2 years ago

Hello, is this building on modern autotools and compilers?

If not, would be a big effort the port?

I'd like to build a hobby os on top os osfmk, using/porting mlibc.

Thank you.

slp commented 2 years ago

It's been a while since the last time I built OSF Mach, but back then it was possible to build it with a relatively recent GCC. You'll need the tools from ode4linux, which you should be able to easily find them around.

AlessandroSangiuliano commented 2 years ago

Yes i know about the ode tools, it would be nice to be ported on modern tools.

AlessandroSangiuliano commented 1 year ago

Hllo again, finally i got the ode4linux and i built them succesfully.

The problem is that the instructions for osfmk (and the mklinux too), are referring to the old paths and way to build it on ppc.

Do you hace some hints? ode are old i never used them.

Actually i'm building Mach variants on some VM, one is debian woody for xMach (mach4+lites, succesfully builds and runs but really old) another is an i386 ubuntu 14.04 for OpenMach, succesfully builds but doesn't run; it needs some works for 4.9 gcc.

Now i'd like to make run this version of osmk, that historically should be the most advanced variant of the mach kernel.

I also setup a discor channel called Mach Revival (i like to work on historic software)

https://discord.gg/mAgdtTNK

if you want...

Thank you

AlessandroSangiuliano commented 1 year ago

Hello, I built OSF MAch using the ode tools and gcc 4.8. I actually have a Mach_Kernel file that contains the bootstrap task too.

I need to ask if you were able to boot it at the times. Looking at the source tree there is lilo that loads a program called mach_boot that effectively loads the Mach_Kernel image. For now i was unable to boot it with grub2

Unfortunately when i run the command:

build -here stand

that is the directory containing the mach_boot program (chainloading??), the build fails finding the file:

file_systems/ufs/fs.h, that is obviously present.

I don't need the linux server, i just need the microkernel (osfmach and its libraries on top of it).

So where you able to boot is in some way?

If you help me, i can switch from Mach4 to osfmach for my project, it seems i'm really near :O.

Thank you

AlessandroSangiuliano commented 1 year ago

I'm really sorry to spam here, but i just noticed that you implemented the multiboot support at the times. Now i can boot the kernel typing in grub2

multiboot /boot/mach_kernel.PRODUCTION

that is the kernel image without the bootstrap server.

I'm printf debugging for now, because it crashes between line 281 and 286 in the startup.c file

https://github.com/slp/osfmk-mklinux/blob/master/osfmk/src/mach_kernel/kern/startup.c

So i need to understand which of that functions is going bad.

I'll fight to get this kernel working up again, it is the best mach variant, and as you know gnumach ported some features from osfmach to gnumach.

Do you remember if you were passing option in grub to kernel arguments (root device etc etc)?