← Back to context

Comment by snvzz

2 years ago

>zero dependency

>for Linux

There's your dependency.

I understand what you mean. By dependencies I meant user space libraries such as glibc and musl.

The language itself is fully self-contained. It initializes itself with nothing but a static array of bytes.

Could be possible to modify lone to run on bare metal instead. Perhaps by replacing the Linux system call code with BIOS I/O functions and replacing the Linux process entry point code with boot code that initializes the CPU and hardware.

https://wiki.osdev.org/Printing_to_Screen

That would just shift the dependency from Linux to the firmware though.

  • >Could be possible to modify lone to run on bare metal instead. Perhaps by replacing the Linux system call code with BIOS I/O functions and replacing the Linux process entry point code with boot code that initializes the CPU and hardware.

    Just don't make the mistake golang made. In most systems, the "stable interface to the kernel" isn't the syscall, but the c library.

    (re: golang on openbsd)

  • > Could be possible to modify lone to run on bare metal instead. Perhaps by replacing the Linux system call code with BIOS I/O functions

    Certainly not. Calling BIOS interrupts requires the system to be running in real mode, which is incompatible with running 32-bit code.

My project runs in your imagination so there’s no hardware or electrical dependency other than brainwave activity.