Hacker Newsnew | past | comments | ask | show | jobs | submit | more UnmappedStack's commentslogin

I could probably do that. The init program, which is a userspace program called by the kernel which spawns everything else, currently enters the shell but it'd be quite simple to make it just boot into Doom immediately. It's still not quite stable enough for actual usage, but it is able to boot off a USB at the moment, yes.


Not disappointed at all to answer! Running it on my laptop was literally just formatting a USB with the ISO and booting from the USB.

I would recommend checking out https://osdev.wiki to start out if you want to write a kernel, as well as reading relevant specifications (such as Intel Developer Manual and the specs for any drivers you write). I don't really know much about non-x86 kernel dev but most of the concepts are the same as far as I know, just different technical implementations. There's a link to a discord server on the project's readme, there are some very smart people in there who I'm sure would be more than happy to help you out.


Yeah definitely an achievement I'm happy with. I've got a bit of refactoring to do, ANSI parsing etc then I'd like to port more - perhaps even Vim (or another portable Vim-like editor called Dim)


Could you explain more about why you'd need to port things? If you have a libc, shouldn't it "just work"? Do you have to scatter #define or #ifdef all over? What about if you wanted to support Golang? Would you have to implement a bunch of syscall?


Well, the LibC is still quite small, and the syscalls aren't really compatible with Linux. A lot of things to port, for example Vim, require system libraries such as ncurses which need syscalls that aren't in the LibC. I don't really need many #ifdefs, at least not for most things, as it's a more or less posix-based libc.


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

Search: