from electron 2 web

インターネットのリソースを無駄遣いして検索におけるUXを下げてごめんなさい

圧倒的文章力のNASAでゴミみたいなチラ裏のようなメモを量産してしまい全ての"Web開発者"にごめんなさい

kaliでopenwrtのbuild(world、non root、opensslでビルドがコケた場合)

環境

root@kaliProvisional:/var/tmp/openwrt/openwrt# sudo uname -a
Linux kaliProvisional 4.6.0-kali1-amd64 #1 SMP Debian 4.6.4-1kali1 (2016-07-21) x86_64 GNU/Linux
作者: Zoltan Herpai <wigyori@uid0.hu>  2017-02-05 06:06:41
コミット者: GitHub <noreply@github.com>  2017-02-05 06:06:41
親: db2ec9728eb4d8ad26d5fffe91b954ccf2c3e313 (Merge pull request #368 from seragh/owrt-xtables-addons-2.12)
親: df384cfeb6103dbe0140a60d8894ca8b0a41b6fd (ar71xx: add support for TP-Link 1043ND v4)
ブランチ: master, remotes/origin/master

build method

  1. gitでソース持ってくる(公式ではsvnでもってこいと書いてあるがエラー頻発する。というかsvnsvnリポジトリ無いって言われるし)

  2. feed update -aしてfeed install -a

公式に書いてあるしここまではおkなはず

  1. make menuconfigでrelease puroductの選定

自分はtargetをx86にしてBuild the OpenWRT SDKにチェックを入れた。それ以外はデフォルト

  1. makeで生成

world(non rootでビルドしろって怒られた)でbuildがコケた場合

あとset XXXXみたいな環境変数設定したりもしたかも(いろいろやったのでどれが正解かわからない)

とりあえずchmod777してnon rootで一度エラーだしてからset XXXXとかexport XXXXしてからsudo付きnon rootでmakeすれば進むと思う。。。

openssl(リファレンスエラー的なやつ)

openssl v1.1をv1.0に下げれば治った。apt-get install libssl1.0みたいなかんじで。

openssl v1.1とv1.0だとapiの引数の指定方式が違うとかなんとか・・・

ロスコンパイル

(未検証なのでこれで正しいかどうかはわからんけど)

kamikazeの頃と大分変わってる。staging_dirは同じっぽい。

../staging_dir/toolchain-i386_pentium4_gcc-5.3.0_musl-1.1.16/bin/i486-openwrt-linux-gcc-5.3.0 -o helloworld.o helloworld.c

みたいな。findでopenwrt以下をググってそれっぽいgcc引っ張ってこればなんとかなるはず。

感想

buildにくっそ時間かかった。OSのビルドなのでクソ遅いです。体感的にはfirefoxよりも遅い。mozcよりも遅いな。まぁさすがにchromiumよりは早いけど。

プロダクトにccacheが使われているので次回以降は早くなるっぽい。

あとプルリクは結構くるけどコミッター、メンテナーがいないのでプルリクしても反応がなかったりすることも多いらしい・・・

つまずいたのは2回だけだが一つ目のやつが罠すぎるのでbuild難度は中ということで。

起動

kvmでopenwrt/bin/x86/openwrt-x86-generic-combined-squashfs.imgにしたら起動したんだがclockのところでコケてしまった。 もうこのエラー1000回くらい見たわ・・・

詳しくはこっち参照。

lv7777.hatenablog.com

他のアーキテクチャ指定していい感じにやればいい感じに起動してその上でクロスコンパイルしたバイナリ動きそうだな。