あっきぃ日誌

鉄道ブログのような技術系ブログのようななにか

Raspbian2017-05以降のイメージはddコマンドで書き込む時に追加のオプションが必要

Raspbianでaptコマンドを実行したらメタデータがぶっ壊れていると言う現象に出くわして、エッなんでってなった話。

もろもろ調べて回ったら、どうもRaspbian2017-05以降(私が出くわした一番古いバージョンがこれだった)のイメージではイメージの作りが変わったらしく、ddコマンドでSDカードに書き込むときにオプションが必要になったようです。国内外ですでに報告が上がっていました。

具体的にはpython3とかqt回りのパッケージでリストファイルが破損していて、何かしらパッケージを入れようとした時に初めて気づくというものです。

解決方法として、データが壊れたパッケージをインストールし直すと言う荒治療もあるようですが、他のファイルが壊れていないとも限らないのでイマイチです。正しい解決法は最後のリンクのブログにあるとおり、ddコマンドにconv=(f)syncオプションを足す方法です。公式ドキュメントにも記述されています。

オフィシャルなインストール方法の解説 INSTALLING OPERATING SYSTEM IMAGES ON MAC OS にも、conv=syncを付けるように書かれている。

はて? 昔は、そんな記載なかったような気がするのだが……

そり!!そんなオプションおじさんは知らんぞ!

ドキュメントのページはGitHubで管理されており、変更履歴を見てみると1ヶ月前にしれっと更新されていました。もしかしたらどこかリリースのタイミングで書かれていたのを見落としていたのかもしれませんが、気づかんわこれ。

installing-images: dd - use conv=fsync and conv=sync for Linux and Ma… · raspberrypi/documentation@4dbfa35 · GitHub

よって、上記変更履歴より、Linuxの場合はconv=fsync

$ sudo dd bs=4M if=2017-07-05-raspbian-jessie.img of=/dev/sdX conv=fsync

Macの場合はconv=sync

$ sudo dd bs=1m if=2017-07-05-raspbian-jessie.img of=/dev/rdiskX conv=sync

と言うオプションが新たに必要になるようです。

Man page of DD いわく、fsyncは「終了前に出力ファイルデータを物理的に書き込み、メタデータに対しても使用する」となるようですがわからん。

で、この件があまり言われていないのは、NOOBSではそのへんの対応もなされているであろう(試してないけど)可能性、もしくは最近だとEtcherと言うイケてるGUIツールが登場したのでこれが使われている可能性が考えられます。みんな最近ナニでイメージ書き込んでます?

というわけで気をつけてね〜って話でした。

ちなみに私はpimoroniパッケージを入れようとしてこの件に気づきました。pimoroniパッケージはPimoroni製品のドライバー類を簡単にインストールできる便利ツールなのでこちらもぜひ覚えてください(ドサクサ)。

ンゴ(14日)

今日も行ってきました。なんかスタジアムの方ではミュウツーが出たらしいですがどうせ申し込み抽選の人たちだけらしいのでさておき、家のジムでためたモンスターボールを引っさげて狩りに行ってきたわけです。

モンスターボール190、スーパーボール・ハイパーボール50個ずつ、だいたい200個でスタート。帰る前に尽きました。

f:id:Akkiesoft:20170814223250j:plain

ボックス的には190くらいから満杯の350までためた後少しずつアメにしながらちまちまとっていたので、180くらいは捕まえたと思います。ボールも所々ストップを回して補充したことを考えると、まあまあの取れ具合かなと思います。ポケモンの強化もはかどりました。

桜木町駅を出てすぐのところで麦茶の配布があって、ありがたくいただきました。

f:id:Akkiesoft:20170814223817j:plain

今日は人出が多かったのか、ネットワークが非常に混雑していてさっぱりプレイできない状態が比較的続いてました。今日はdocomoの中継車も来ていましたが、auの中継車はなく、au民は難儀したのかもしれません。docomoのSIMも持てばよかった。

f:id:Akkiesoft:20170814223909j:plain

イベントゾーンでゲットしたたまご(多分だいたい2kmのやつ)は普段とは違うのが出るとのことで、せっせと歩いて在庫のたまごを孵して、2kmたまごを拾ってきました。これで6匹は確実におもろいやつが出てくることでしょう。

f:id:Akkiesoft:20170814225029j:plain

で、たまごを孵化させるのに歩き疲れてあかいくつバスに乗って気づいたんですが、あのへん一帯の道路がイベントの影響で混雑していて、あかいくつバスもノロノロ運転になってます。バスの運転士さんが途中で観光案内のようにアナウンスしてくれた話では、通常1周で30分のところ、コースによっては3時間もかかってしまっているとのこと。それを聞いた客は次のバス停でみんな降りてしまうわけですが、ノロノロ走る車……たまごの孵化にちょうどいいんですねぇ。私はもう一つ先の赤レンガ倉庫まで乗って距離を稼ぎました。あかいくつバス、コメダっぽい内装で良いですね(???)。

f:id:Akkiesoft:20170814230842j:plain

バリヤードももうしこたま捕まえたので満足ですね。さっき選別して4匹まで減らしました。多分使わんけど。

f:id:Akkiesoft:20170814231013j:plain

f:id:Akkiesoft:20170814231024j:plain

アンノーンもYとMを無事確保してYOKOHAMA(AHKMOYの6種か)を制覇。こちらもなんとなく2匹ずつ残すために選別したのですが、名前にアルファベット+調べてもらった評価を数字で表記したらいい感じになりました。

f:id:Akkiesoft:20170814231050j:plain

今日は途中で雨に振られて帰るか迷ったのですが、待ってるうちに止んでくれたので続けられて良かったです。イベント楽しかったー。満足。

帰りに観覧車を見てたら、モンスターボールが映った後にピカチュウが。すげえ。

f:id:Akkiesoft:20170814232237j:plain

MFT2017とJAM008と海賊とコミケとンゴ

これを"充実した夏"と呼べるのは間違いないんだけど、怠惰なわたしとしては、イベントはほどほどが良いですな……なんて思う1週間ちょっとでした(それっぽいようでそれっぽくない導入終わり)。あと、相変わらず"充実"に異性とかそっち方面がないといった感じです。興味ないんだけど一応言ってみる。

イギリスPimoroniからPaul Beech氏・Niko Kotilainen氏の2名がやってきて、Maker Faire Tokyo 2017、Raspberry Jam Tokyo #008、その他ちょいちょい会ってはわいのわいのして、その合間にコミケをこなすという超ハードスケジュールが一段落しました。各イベントにおこしいただいた皆様、ありがとうございました。

Maker Faire Tokyo 2017

レポートはだいたいraspi.jpに書きました。

www.raspi.jp

東7ホールの空調、すごいのね!初日は空調が強すぎて寒くなってしまって、オライリーの物販で処分価格だったパーカーを開始と同時に買って着込み、1日過ごしていました。2日目は調整されて適温になったり、途中で切られて暑くなったりと、調節の難しさみたいなものを感じました。仕方ないよねぇ。

ブースに来てくれるひとは家族連れ、おじさんなどなど、だいたいイメージしてたそうでしたが、一方で外人も非常に多い印象でした。中国の人もけっこう多かったみたいです。話しかけると(何語で返そう)みたいな反応をするひとがちらほら見かけられました。コンテストかなんかが企画されていたような気もしますが、それでもわざわざ日本まで来てくれているんでしょうかね。すごい。

初日の最後、Nikoが「なんか、はんだできるやつない?(もちろん英語で、ユーザー会の英語できるひとの通訳で)」と話しかけてきて、詳しく聞くと、近くの白光のブースではんだ外しを試したいと言うので、「御社のですが!!」って思いつつMicro Dot pHATをわたして、わたしもはずす様子を見てきました。写真は説明を受けるNiko。顔出していいか聞かなかったので後ろ姿で。そしてこれ、スッポスッポ吸い取れてすごいんですね。Nikoも大満足そうでしたし、翌日自分も試させてもらったらめっちゃ欲しくなったので、会社に導入してもらいたいと思います(?

f:id:Akkiesoft:20170813220105j:plain

MFTの打ち上げ

MFTの打ち上げは新橋の飲み屋で。Nikoは常識の範囲内で行動するイメージで、ここで別れて先に宿に戻っていったのですが、Paulは大変げんきな感じで、渋谷に移ってオールナイトでカラオケをしてきました……。

f:id:Akkiesoft:20170813220621j:plain

もちろん月曜日に仕事に出ることはできず、それでもフラフラしながらオフィスにMFTの展示機材を置いてから家に戻ってぶっ倒れていました。。

Raspberry Jam Tokyo #008

PalとNikoが来るんでやろうぜ的に企画したJam。今回はDMM.make AKIBAでの開催となりました。40人くらいが集まって、いつもどおり自己紹介と近況報告みたいな感じで進めてそれぞれの作品を見合いました。

f:id:Akkiesoft:20170813221058j:plain

打ち上げは下の秋HUBで。

f:id:Akkiesoft:20170813221116j:plain

コミケ

コミケは3日とも参加。1日目がサークル出店で、2・3日目は一般参加でした。1・2日目は涼しくて人も少なめだったんですけど、3日目はさすがに人が多すぎてかつ晴れたので死ぬかと思った次第。

サークル出店のほうはEjectコマンド工作のまとめ本「EJECTO」を引っさげての参戦でしたが、印刷所から直接搬入された100部を無事完売することができました。皆様本当にありがとうございます。おかげで家の在庫を増やさずに済みました。

ブースに置かれた新刊の箱。1部132ページと言う厚みなのでもはや二箱です。

f:id:Akkiesoft:20170813221544j:plain

設営後のブース。箱に位置情報を書き込んでみました。一般参加だとちょいちょい現在位置がわからなくなるので、こういう情報ほしくなるんですよね。みたいな。

f:id:Akkiesoft:20170813221657j:plain

この後ですが、OSCで販売できる開催に限り少数ずつ頒布していければと思っています(重いのでたくさん持っていけない)。また、委託について初めて声をかけられたので、委託もしてみようと思っています。アキバに並んじゃうのアツいね。あとは、期間限定でBOOTHでの通販もできればと思っています。

3日目(今日)のはやばかったですな。久しぶりに東の駐車場で待機して、入れたのがほぼ11時、買えたり買えなかったりしながら全部回り終わったり14時でしたもんも。財布もカラになったし今年は多分3万くらい使ってしまってるわ〜。でも良いの!!!そしてコミケは開示よう輪アキバのショップに移して4、5日目になっていくのね…(さらなる財布の死)。

今回、松屋サンライズ号でメシがてら防災公園に寄ったんですが、こっちもコスプレあるんですね。わたしもちょっとやってきました。


タコパ

コミケ2日目のあと、飯田橋のバーで開催されたタコパにユーザー会+Niko,Paulで参加してきました。Nikoは立食がつらかったらしく先に離脱してしまったのですが、Paulはしっかり2次回まで参加。たこ焼きなんて久しぶりに自分で焼いたし、あんなにガッツリ食べたのも久しぶりだったような気がします。開場も狭いところにぎっしり人が入ってやってて、常連さんも和気あいあいしていて、焼けたのを食べ合ったり調味料をわたしたりと楽しくやらせていただきました。

ちょうどうちのメンバーしか顔が認識できないいい感じの写真があったのでぺたり。

f:id:Akkiesoft:20170813222711j:plain

最後は駅でハグしてお別れ。ありがとうPaul!でもあれだ、蕁麻疹出るほど遊び尽くすのは無茶だとおもう!

f:id:Akkiesoft:20170813222753j:plain

ンゴパーク

イベントだコミケだとやってる間に、実はPokemon Goのイベントも行ってました。コミケ前日に仕事のお休みをいただいて、準備日に当てていたのですが、行ってきました……!だってねバリヤードアンノーン欲しかったしねえ?一応どっちも取れました。が、アンノーンがYOKOHAMAの文字ぶん取れていないです。

f:id:Akkiesoft:20170813223407j:plain:w240 f:id:Akkiesoft:20170813223410j:plain:w240

そもそものポケモンのスポーン量が半端ないし、ラッキーだのヨーギラスだのがカジュアルに出てくるしで、モンスターボールがいくつあっても足らん感じで、嬉しい悲鳴をあげながらモクモクとプレイしてきました。

f:id:Akkiesoft:20170813223512j:plain

f:id:Akkiesoft:20170813223538j:plain

げんきだったら明日(14日)も行ってきます……!いま自宅から届くジムでボールひたすら集めてる……w

Raspberry Piと電子ペーパーモジュールの話(あと、Maker Faire Tokyo 2017に出ますよ)

実はだいぶ前に電子ペーパーモジュールを買って遊ぼうとしていたのですが、なんか手をつける余裕がなくてだらだらになっていました。今週末はMaker Faire Tokyo 2017にJapanese Raspberry Pi Users Groupとして出展することになったのと、来週のコミケで使いたいなあというのがあったので、いよいよ手を付けました。

まず5月末に買っていたのがdx.comで見つけたWaveShare製の2.13インチ250x122ピクセルの白黒電子ペーパーモジュールです。2.13インチというよりかはpHATボードサイズと言ったほうがわかりやすいでしょうか。2,000円ちょっとで購入できたので安いなあと思っていたのですが、サンプルスクリプトがなかなかハードな感じで放置プレイになっていました。

[f:id:Akkiesoft:20170803154503j:plain:450]

www.dx.com

どのくらいハードかというと、ライブラリにデバッグメッセージっぽいのが満載で、サンプルスクリプトはひとつ。画像表示は2値ビットマップ画像をライセンス形態不明の中華製Windowsツールで大量の16進数の塊に変換してスクリプトに埋め込むみたいな感じです。フォントも同じノリで16進数でスクリプトに埋まってるんですが、明朝なのでコレジャナイ感じ。

とりあえず画像が表示できればなんとかなるべということで、昨晩書いたのがこれ。中華ツールの処理内容から察して、Pythonでインデックスカラー形式のPNG画像を表示できるようにしました。パレットはコードにあるとおりです。欠点は1ピクセルずつ律儀に取得しているのでくっそ遅い点でしょうか。多分、うまく画像を回転させたりしたらgetdataしたやつをザッザッと読み進めて高速化できるかもしれないです。

gist.github.com

まあ高速で書き換えるものでもないので、とりあえずはこれで良しとしましょうか。

f:id:Akkiesoft:20170803155807j:plain:w450

f:id:Akkiesoft:20170803160313j:plain:w450

もうひとつはPimoroniのInky pHAT。こちらは中華製に比べて少し小さめの212x104ピクセルですが、白黒の他に赤色も表示できる3色電子ペーパーです。中華性を買って放置していたところにリリースされて、買うか迷ったのですが買ってしまいました。これは7月くらいの話。

こちらはサンプルとライブラリがしっかり用意されているので、安心して触り始められるPimoroniブランドと言った感じです。しかもサンプルがどれもカワイイ。

f:id:Akkiesoft:20170803160513j:plain:w450

Inky pHAT a Tri-Colour EPD Display for Raspberry Pi - Pimoroni


ほんで、Maker Faire Tokyoコミケ向けに画像を用意しました。上で既に出ていますが、今回のコミケ向けに描いてもらった麦子をドット絵に落とし込みました。こちらもインデックスカラーPNGです。Inly pHAT向けのパレット情報は
ここを参照です>

f:id:Akkiesoft:20170803160759p:plain f:id:Akkiesoft:20170803160802p:plain

そして表示。赤がちゃんと出ていますね。背景もうっすらピンクになるのはご愛嬌。サンプルみたいに背景を黒にいれば誤魔化せそうです。

f:id:Akkiesoft:20170803161552j:plain:w450

どちらの電子ペーパーモジュールも、電源を切ったあとも表示内容が維持されます。なので、必ずしも動態デモにしなくて良いのがワタシ的にはメリットですね。最近はRaspberry Piが増えすぎてやりくりがわからなくなってきました。

というわけで、週末はこの辺も展示していますので、ぜひMaker Faireに遊びに来てください。

f:id:Akkiesoft:20170803161952j:plain

Ejectまとめ本を作った時のノウハウのメモ

今回は今までのタイトルのPDFを単純に結合しました。そこに書き下ろし分のPDFを結合して仕上げる形にしましたが、いくつか問題があって印刷所にお手間をとらせてしまったのでメモです。

PDF結合はMacのプレビュー.appで作業しました。サムネール表示にしてガシガシつなげていって、書き出したらおしまい。

書き下ろし分はWindows版Word2016なら昨年のVLゴシック使えない問題を回避できることがわかったので、Windowsで作成して、PDF化したものをMacで結合しました。と言うかMac版Word2016のフォント選べないバグまだ直ってないんかと。

薄い本の組版がちょっとキツい - あっきぃ日誌

まとめ本ではページ番号が元の本のままになっていて、別途ノンブル(ページ番号)が必要との指摘をうけたため、本の綴じに近いところに隠しノンブルを挿入しました。この作業は会社支給Macに入っていたAcrobatが非常に便利でした。

文書内にページ番号を追加する方法 (Acrobat XI)

そして再入稿してみると、埋め込まれていないフォントがあるとの連絡。本文は問題ないので無視していい旨を伝えると、なんと隠しノンブルの文字のフォントが埋め込まれていませんでした。さすがに焦る。

ここで活躍するのが再びMacのプレビュー.app。PDFを読み込んで、書き出しておわり。これだけで、フォントが埋め込まれました。プレビュー.app便利かよ……。

pdfにフォントを埋め込む(Mac) - Qiita

表紙の方は、今回は久々に自分で作成。Gimpで描いているのですが、主にパスを使って描いています。キャラクターはトレースしたり、雰囲気でドライブだのタンブラスイッチだのを描いていきました。Raspberry Piが地味に描くの大変でした。

と言う感じで、今回は地味にいろいろなツールを駆使しました。なんとか納品まで漕ぎ着けることができて良かった。頑張って売りさばこう。。