Remix.run Logo
Ultimate-Linux: Userspace for Linux in Pure JavaScript(github.com)
51 points by radeeyate 6 hours ago | 11 comments
pointlessone an hour ago | parent | next [-]

We’re roughly on schedule. https://www.destroyallsoftware.com/talks/the-birth-and-death...

rkeene2 31 minutes ago | parent | prev | next [-]

I did something similar with TCL, the basis was using an extension I wrote to handle the UNIX stuff [0]. It operated an On-Premises cloud environment appliance, and `init` was just a TCL script (at one point it was a statically linked binary with the init script embedded, but that turned out to be overkill)

[0] https://chiselapp.com/user/rkeene/repository/tuapi/doc/trunk...

tzury 3 hours ago | parent | prev | next [-]

Check out this:

https://bellard.org/jslinux/vm.html?url=alpine-x86.cfg&mem=1...

and

https://bellard.org/jslinux/

By the famous Fabrice Bellard who is the creator of QuickJS, QEMU, FFMPEG and many other brilliant and fascinating tools!

https://bellard.org/

mos87 an hour ago | parent | prev | next [-]

A very timely endeavor indeed https://devblogs.microsoft.com/typescript/typescript-native-...

kalterdev 3 hours ago | parent | prev | next [-]

It’s never early to prepare for JavaScript complete takeover.

nxobject an hour ago | parent | prev | next [-]

Kernighan and Ritchie wept. (Tears of joy at an awesome hack, or tears of sadness at an awesome hack?)

supermdguy 3 hours ago | parent | prev | next [-]

Reading the code, I was surprised to see that cd was implemented by calling out to the os library. I assumed that was something the shell or at least userspace handled. At what level does the concept of a “current directory” exist?

creatonez 3 hours ago | parent | next [-]

It's at the kernel level. Each process has its own current working directory. On Linux, these CWD values are exposed at `/proc/[...]/cwd`. This value affects the resolution of relative paths in filesystem operations at a syscall level.

lukeh 3 hours ago | parent | prev | next [-]

In the kernel’s process structure. See NOTES - https://man7.org/linux/man-pages/man2/chdir.2.html

semiquaver 3 hours ago | parent | prev [-]

Unix defines a Working Directory that every process has, changed with chdir(2): https://man7.org/linux/man-pages/man2/chdir.2.html

MobiusHorizons 3 hours ago | parent | prev [-]

Very cool. Good use of quickjs, although it would have been cool if it somehow didn’t need a libc and just used the syscall interface. Makes me want to give that a try.