サーバ更新その3

recpt1で録画いけたー。しかしこれ、ぐぐると出てくる手順だけでは、configureでlibarib25、gmakeでpt1_ioctl.hが見つからんがな。。。一応貼っとく。

$ fetch http://hgotoh.jp/wiki/lib/exe/fetch.php/documents/freebsd/freebsd-019-recpt1_20170514.tar.gz
$ tar xzf freebsd-019-recpt1_20170514.tar.gz
$ cd recpt1
$ ./autogen.sh
Generating configure script and Makefiles for recpt1.
Running aclocal ...
Running autoheader ...
Running autoconf ...
$ LDFLAGS=-L/usr/local/lib ./configure --enable-b25
checking for gcc... no
checking for cc... cc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether cc accepts -g... yes
checking for cc option to accept ISO C89... none needed
checking for create_arib_std_b25 in -larib25... yes
checking for log10 in -lm... yes
checking for pthread_kill in -lpthread... yes
configure: creating ./config.status
config.status: creating Makefile
config.status: creating config.h
$ gmake CPPFLAGS='-I../driver -I/usr/local/include' LDFLAGS=-L/usr/local/lib
revh="`git rev-list HEAD | wc -l 2> /dev/null`"; \
if [ -n "$revh" ] && [ "$revh" != "0" ] ; then \
        echo "const char *version = \"rev.$revh by stz2012\";" > version.h; \
else \
        echo "const char *version = \""c8688d7d6382_with_http_server_RC4 by stz2012"\";" > version.h; \
fi
fatal: Not a git repository (or any parent up to mount point /)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
cc -MM recpt1.c decoder.c mkpath.c tssplitter_lite.c recpt1core.c recpt1ctl.c recpt1core.c -I../driver -I/usr/local/include > .deps
cc -O2 -g -pthread -I../driver -I/usr/local/include  -c -o recpt1.o recpt1.c
cc -O2 -g -pthread -I../driver -I/usr/local/include  -c -o decoder.o decoder.c
cc -O2 -g -pthread -I../driver -I/usr/local/include  -c -o mkpath.o mkpath.c
cc -O2 -g -pthread -I../driver -I/usr/local/include  -c -o tssplitter_lite.o tssplitter_lite.c
cc -O2 -g -pthread -I../driver -I/usr/local/include  -c -o recpt1core.o recpt1core.c
cc -L/usr/local/lib -o recpt1 recpt1.o decoder.o mkpath.o tssplitter_lite.o recpt1core.o -lpthread -lm -larib25 
cc -O2 -g -pthread -I../driver -I/usr/local/include  -c -o recpt1ctl.o recpt1ctl.c
recpt1ctl.c:86:43: warning: format specifies type 'int' but the argument has type 'key_t'
      (aka 'long') [-Wformat]
            fprintf(stderr, "Pid = %d\n", key);
                                   ~~     ^~~
                                   %ld
1 warning generated.
cc -L/usr/local/lib -o recpt1ctl recpt1ctl.o recpt1core.o -lm
cc -O2 -g -pthread -I../driver -I/usr/local/include  -c -o checksignal.o checksignal.c
cc -L/usr/local/lib -o checksignal checksignal.o recpt1core.o -lpthread -lm
$

サーバ更新その2

元のHDD 2.5TBをzfs send/recvするのに、25時間くらいかかったか。最後はsingle user modeにしといて、差分転送しておしまい。

そして本題のpt3ドライバ、導入は問題なかったけど、できた録画ファイルをb25するとエラーが出る??
clangと相性悪いのか?と、gcc47を入れてb25を作り直してみたけど変わらず。
試行錯誤してるうちに、recptx.plで録画するとダメ、手でsysctl & catしたファイルは問題なさそう。なんだこりゃ。
recpt1のFreeBSD版もあるようなので、明日はそれいってみよう。。

サーバ更新

録画サーバとして使い始めると、なかなか止められなくて、ハードもOSも変えずに使い続けてたわけですが、
例の年末セールの安鯖TX1310M1を手に入れて、お引越し中です。

ようやくOSを更新できるよ。。9.1-STABLE(2013-05-27)から、11.1-RELEASEへ。
インストーラZFS rootできるやん。。なんて優しい世界。

HDDの移行が大変。。nfs mountしてcp、rsync+ssh より、たぶんzfs recv/send+netcatが最速じゃないかということで、

新サーバ# nc -w 120 -l 12345 | zfs recv -v zroot/home

元サーバ# zfs snapshot ztank/home@export
元サーバ# zfs send ztank/home@export | nc 新サーバ 12345

さて、一晩で終わるか?。。

問題は、PCIがないのよね。。入手してから数年?使ってなかったPT3が、ついに日の目を見る時がきた。。Piro77さんのドライバ使わせていただきます。なにはなくとも録画が動かないと、引っ越しどころではない。

recptx.pl その2

半年経ってしまった。。自分でスターチャンネル使うことがないので気づかなかったけど、そもそもこのテーブル、なんでこんな面倒な形にしたんだっけな。。kmod側の周波数テーブルのインデックスのはずだが。。
あと、ウィキペディアの記述と見比べると、チャンネルもいろいろ変わってる。BS-17は空っぽなのね。
あとあと、2チャンネル同時録画が失敗する、というのをどこかで見て、どうやらうちでも発生してる模様。なんで今まで気づかなかったんだろう。。ptx.t0を開けてみて、失敗したらptx.t1を開けてみて、っていう実装がアレだなあ。
次の半年でいろいろ直そう。。

NP2-android

Kindleネタ。。なのか?

NP2-androidぐぐると、あちこちで死屍累々ですが、御多分にもれずEclipseADTで爆死したりして早幾年。思い出したように先週からAndroidStudioで再トライしてました。

NP2 ver0.86 + SDL2-2.0.5 を、AndroidStudio2.2でビルドして、FireHDX8.9的なandroid-19のエミュレータで起動して ぴぽっ が鳴るところまで来たー。長かった。。
メニューバーがWindowsのと同じだ。。ファイル選択でコモンダイアログが出てきてびびった。
DOSが起動できたら、Android的なメニューにするのと、ソフトキーボードとマウスをなんとかする。。あと3年くらいで。。。

foltiaメンテ2題

その1

放送予定が空になっているのに気付いた。手でgetxml2db.plを叩いてみたら、何もせずに返ってきちゃう。perl -d:Traceでおっかけていくと、LWP::Simple::mirrorが501 Not Implementedを返してた。なんだそりゃ。。
perlをpkg upgradeした後、モジュールは更新しなかったのが悪かったのか、p5-xxxを片っ端からupgradeしたら治ったが、なんともはや。

その2

いろいろいじったついでに、昔から気になってた「PKかぶりで、getxml2db.plがエラーはく」に手を入れてみた。これが起こるのはいつもペネロペ。。他の再放送では起きないのだけど。
SQLiteSQLを、INSERTからINSERT OR REPLACEに変更。これでうまくいけばいいが。