Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

In theory it should be possible to use the Linux kernel and create an OS that doesn't resemble Linux distros like Ubuntu. You could strip out systemd and put in a custom init system that doesn't conform to the typical Unix daemon startup expectations. You could write your own X11/wayland-like display server thing (like Android does). You could replace BASH with some other terminal (even something like PowerShell).

Some things are baked into the kernel and are tricky to work around. Like the execute bit. If you wanted to make a Linux distro that can run arbitrary binaries downloaded from the internet (like Windows) you'll have to contend with the kernel refusing to execute a binary that doesn't have the x bit set at the filesystem level. (Can you even execute files from fat32 or NTFS? Hmmm...)

Another example is the Unix file system layout. If you wanted to show the user a DOS-style drive-based layout (I.E. no /mnt or /bin or /etc, but instead C:\ and D:\) then you have to fork GTK and GNOME to know how to obfuscate the file system like that.



>You could strip out systemd and put in a custom init system that doesn't conform to the typical Unix daemon startup expectations.

I actually don't think you can do this, or would even want to. Systemd doesn't really do anything special beyond putting some tooling around various Linux features. I've seen a lot of other Linux inits and all of them have to conform to those expectations because that is how Unix and Linux are supposed to function, if the init doesn't do those jobs then the system doesn't work.

>You could write your own X11/wayland-like display server thing (like Android does)

Conceptually the Android window system is not really that different from Wayland. X11 is more the outlier. If you're building a new window system, you probably want to do things with a very similar approach to how Wayland and SurfaceFlinger work. No matter what you do there you're going to be constrained by the requirements of getting OpenGL and Vulkan apps to work.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: