Hacker News new | past | comments | ask | show | jobs | submit login

If you're curious, iSH's source is public: https://github.com/ish-app/ish

You're correct that there is no Linux kernel emulation. They went with reimplementation for that. However, the userland is very much emulated x86 binaries. You can even compile your own C code inside iSH and run it. When you syscall, control passes from the threaded code[0] interpreter into the Linux reimplementation.

The reason why they aren't shipping Debian is that the threaded code technique being used as a JIT substitute in both iSH and UTM SE is far too slow to run a full Debian derivative. Believe me, I tried installing Ubuntu on UTM SE and it took literal hours and flattened my iPad battery in the process. iSH uses Alpine Linux because it's very lightweight[1].

As far as I'm aware there's no secret deal with Apple to lock iSH down. The only limitations I've ran into have to do with MySQL, which wants unaligned atomics, which you can't do on ARM64 without compromising the performance of the emulator. I actually had a discussion with the developer of iSH about this and put in a PR to make MySQL stop crashing iSH.

[0] return-oriented programming

[1] So lightweight it doesn't even ship anything GNU, making it one of the few genuine "Linux distros" with no slash or plus or "I would just like to interject"




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

Search: