Linux を Browser 上で動かしてみたい。そう思ったことはないでしょうか。
自分も過去に何度も挑戦したのがその度に挫折していました。
理解すべき項目の多さももちろんのことながら、こういった個人プロジェクトの最大の敵は「飽き」だと考えています。
ですが、最近約 1000 行で飽きる前に達成できる構成を見つけたためその内容を紹介いたします。
本プロジェクトはrv32ima NOMMUをtargetにエミュレータをRustで書きWebAssemblyにてbrowser上で動作させています。
Rustに関してはZero Dependenciesとなっており、各言語の行数は以下のようになっています。
Language Files Lines Code
========================================================
JavaScript 1 210 191
--------------------------------------------------------
HTML 1 18 18
---------------------------------------------------------
Rust 13 1146 971
=========================================================
Total 15 1374 1180
実現にはどのような機能をどのように実装していくのか。
困ったところ、面白かったところはどのようなところか。
などをお話しする予定です。