Open5

WasmLinux: BusyBoxを起動してみる

okuokuokuoku

とりあえず起動してみて、足りないところを何とかしてみる感じにしよう。

okuokuokuoku

libmを抜かないとビルドできなかった

ダミーのlibmを用意するとかしないとダメだな。。とりあえずMakefile側でワークアラウンドしておく。。

https://github.com/okuoku/wasmlinux-busybox/commit/4d24f5aa80ac6c282449cc6497b55ebb8e5c9706

あとビルド用のコマンドラインをすっかり忘れていた。。

$ make AR=/home/oku/repos/linux/_warp/bin/warp-ar CC=/home/oku/repos/linux/_warp/bin/warp-hosted-cc

warp-hosted-cc はfreestandingじゃないcc。

okuokuokuoku

setjmp longjmp に依存している

あ、そっかぁ。。

/usr/bin/ld: CMakeFiles/runner.dir/home/oku/repos/linux/_hostwasm/user.c.o: in function `w2c_user_test_main':
/home/oku/repos/linux/_hostwasm/user.c:114023: undefined reference to `w2c_env_setjmp'
/usr/bin/ld: CMakeFiles/runner.dir/home/oku/repos/linux/_hostwasm/user.c.o: in function `w2c_user_binop':
/home/oku/repos/linux/_hostwasm/user.c:115987: undefined reference to `w2c_env_longjmp'
/usr/bin/ld: CMakeFiles/runner.dir/home/oku/repos/linux/_hostwasm/user.c.o: in function `w2c_user_syntax':
/home/oku/repos/linux/_hostwasm/user.c:116862: undefined reference to `w2c_env_longjmp'
/usr/bin/ld: CMakeFiles/runner.dir/home/oku/repos/linux/_hostwasm/user.c.o: in function `w2c_user_inflate_unzip_internal':
/home/oku/repos/linux/_hostwasm/user.c:198991: undefined reference to `w2c_env_setjmp'
/usr/bin/ld: CMakeFiles/runner.dir/home/oku/repos/linux/_hostwasm/user.c.o: in function `w2c_user_abort_unzip':
/home/oku/repos/linux/_hostwasm/user.c:205502: undefined reference to `w2c_env_longjmp'
/usr/bin/ld: CMakeFiles/runner.dir/home/oku/repos/linux/_hostwasm/user.c.o: in function `w2c_user_unpack_bz2_stream':
/home/oku/repos/linux/_hostwasm/user.c:233647: undefined reference to `w2c_env_setjmp'

vfork 同様に作るのが良いかな。