コグノスケ


2018年9月3日

ROCK64のカーネルだけ元に戻したい

目次: ROCK64/ROCKPro64

ROCK64のカーネルを入れ替えていたら、動かないカーネルを書き込んでしまい、起動しなくなってしまいました。

Etcherを使えばSDカードを全て書き換え、起動可能な状態に戻すことができるものの、今までの作業や変更が全て消えてしまいます。

SDカード全書き換えはやりたくありません。なんとかカーネル「だけ」復旧できないでしょうか?

カーネルイメージのみ取り出す

Etcherのイメージファイルからカーネルだけ取り出して、上書きすれば復活するはずです。

Etcherの設定を変えていなければ、ダウンロードしたイメージファイルは、ユーザディレクトリのAppData\Roaming\pine64-installer\downloadedImageにあると思います。私はDebian Mateを使っていたので、files.pine64.org_stretch-mate-rock64-0.5.15-136-20171222-arm64.img.xzというイメージファイル名でした。これをLinuxマシンにコピーします。

イメージファイルをループバックデバイスに登録
$ unxz files.pine64.org_stretch-mate-rock64-0.5.15-136-20171222-arm64.img.xz
$ ls
files.pine64.org_stretch-mate-rock64-0.5.15-136-20171222-arm64.img

# partx -v -a files.pine64.org_stretch-mate-rock64-0.5.15-136-20171222-arm64.img
partition: none, disk: files.pine64.org_stretch-mate-rock64-0.5.15-136-20171222-arm64.img, lower: 0, upper: 0
Trying to use '/dev/loop0' for the loop device
/dev/loop0: partition table type 'gpt' detected
range recount: max partno=7, lower=0, upper=0
/dev/loop0: partition #1 added
/dev/loop0: partition #2 added
/dev/loop0: partition #3 added
/dev/loop0: partition #4 added
/dev/loop0: partition #5 added
/dev/loop0: partition #6 added
/dev/loop0: partition #7 added

圧縮されているのでunxzで展開し、partx -aにてディスクイメージ内の全パーティションをloopbackデバイスに登録(※)しています。

ここまでくればHDDと同じようにマウントできます。

イメージファイルのブートパーティションをマウント
# mount /dev/loop0p6 rock64_boot

# ls -la rock64_boot/
total 41654
drwxr-xr-x 3 root      root         16384 Jan  1  1970 .
drwxr-xr-x 3 katsuhiro katsuhiro     4096 Sep  4 01:15 ..
-rwxr-xr-x 1 root      root      18606088 Dec 21  2017 Image
-rwxr-xr-x 1 root      root      18606088 Dec 21  2017 Image.bak
-rwxr-xr-x 1 root      root         42707 Dec 21  2017 dtb
-rwxr-xr-x 1 root      root         42707 Dec 21  2017 dtb.bak
drwxr-xr-x 2 root      root          2048 Oct 12  2017 extlinux
-rwxr-xr-x 1 root      root       2663325 Dec 21  2017 initrd.img
-rwxr-xr-x 1 root      root       2663386 Dec 21  2017 initrd.img.bak

ブート用のパーティションは6番目なので /dev/loop0p6をマウントしています。あとは欲しいファイルをコピーすればOK。

後片付け
# umount /dev/loop0p6

# ls /dev/loop*
/dev/loop-control  /dev/loop0p3  /dev/loop0p7  /dev/loop4
/dev/loop0         /dev/loop0p4  /dev/loop1    /dev/loop5
/dev/loop0p1       /dev/loop0p5  /dev/loop2    /dev/loop6
/dev/loop0p2       /dev/loop0p6  /dev/loop3    /dev/loop7

# partx -v -d /dev/loop0
partition: none, disk: /dev/loop0, lower: 0, upper: 0
/dev/loop0: partition #1 removed
/dev/loop0: partition #2 removed
/dev/loop0: partition #3 removed
/dev/loop0: partition #4 removed
/dev/loop0: partition #5 removed
/dev/loop0: partition #6 removed
/dev/loop0: partition #7 removed

# ls /dev/loop*
/dev/loop-control  /dev/loop1  /dev/loop3  /dev/loop5  /dev/loop7
/dev/loop0         /dev/loop2  /dev/loop4  /dev/loop6


# losetup -l
NAME SIZELIMIT OFFSET AUTOCLEAR RO BACK-FILE                         DIO LOG-SEC
/dev/loop0
             0      0         0  0 /home/katsuhiro/share/rock64/files.pine64.org_stretch-mate-rock64-0.5.15-136-20171222-arm64.img
                                                                       0     512

# losetup -d /dev/loop0

# losetup -l

マウント時と同様にpartx -dでパーティションの登録を解除できます。しかしなぜか /dev/loop0の登録だけが残ります。気にせずlosetup -dで登録を解除すれば特に問題ないようですが、何かやり方が間違っているのかな?うーん…??

(※)losetupと /dev/loop0のみでも、オフセットを指定するとか何とかして、頑張ればループバックマウントはできると思いますが、ディスクイメージにパーティションが複数含まれている場合はpartxを使った方が楽だと思います。

編集者:すずき(2020/10/30 01:21)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2018年9月6日

さくらのメールサーバーとgit send-email

自宅からちょっとしたLinuxのパッチを投げようと思って、さくらのメールサーバーをSMTPサーバーに指定して、git send-emailでメールを送ろうとしたらハマりました。

さくらのメールサーバーはSTARTTLSを使ってSMTP認証をせよ(メールソフトの設定 - さくらのサポート情報)とのことなので、.gitconfigの設定をこんな感じにしました。

さくらのメールサーバーにgit send-emailする設定(ダメだった版)

[sendemail]
	smtpencryption = tls
	smtpserver = xxxx.sakura.ne.jp
	smtpuser = yyyy@xxxx.sakura.ne.jp
	smtpserverport = 587

実行してみると、Diedなんとかかんとか〜が表示され、メールが送れません。なんで??

git send-emailできない
$ git --version
git version 2.18.0

$ git send-email --to 'xxxx' 0001-xxxx.patch

...snip...

Died at /usr/lib/git-core/git-send-email line 1523.

こういうトラブルのときは --smtp-debug=1を付ければ大体わかるはずです。

git send-mailデバッグモードON
$ git send-email --to 'xxxx' --smtp-debug=1 0001-xxxx.patch

...snip...
Net::SMTP::_SSL=GLOB(0x55ddcc6c0640)>>> (decoded)
Net::SMTP::_SSL=GLOB(0x55ddcc6c0640)>>>
Net::SMTP::_SSL=GLOB(0x55ddcc6c0640)<<< 235 2.0.0 OK Authenticated
Net::SMTP::_SSL=GLOB(0x55ddcc6c0640)>>> MAIL FROM:<xxxxxxxx>
Died at /usr/lib/git-core/git-send-email line 1523.

なるほどなるほど?これはわかりませんね。どうなってるんだ、このサーバーは?

幸いなことに /usr/lib/git-core/git-send-emailはPerlのスクリプトですので、簡単にデバッグプリントを入れられます。

認証部分に当たりを付けて、小一時間、試行錯誤してみたところSMTP-AUTHにデフォルトでDIGEST-MD5が選択されると、失敗することがわかりました。じゃあ、強制的にSMTP-AUTHをPLAINにすればうまくいくよね?下記のように設定を変えてみました。

さくらのメールサーバーにgit send-emailする設定(成功した版)

[sendemail]
	smtpencryption = tls
	smtpserver = xxxx.sakura.ne.jp
	smtpuser = yyyy@xxxx.sakura.ne.jp
	smtpserverport = 587
	smtpauth = PLAIN    # ★★この行を足した★★

無事メールが送れました。良かった良かった。

編集者:すずき(2018/09/07 01:24)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2018年9月7日

最終勤務日

今日はSocionextの最終勤務日でした。9月末退職ですが、9月末までは年休を取っています(それでも年休は半分以上余った)。

今から9月末までの3週間で、ほとんど土地勘のない東京で家探しをして、引っ越しを終えなければなりません。かなりスリリングな日程です。

やってたこと

Panasonic半導体社とSocionextで過ごした12年間は、ほぼ最初から最後までテレビ開発の仕事だったように思います。私がそうだっただけで、会社には他の仕事もあります。

技術的には幅広く関われました。Androidも多少齧れた(アプリ開発ではなくフレームワーク側)し、メディア再生のミドルウェア開発、デコーダやサウンドドライバ開発、LinuxやOSS活動もできました。面白かったです。

半導体会社はソフト、ハード、ボード設計、何でもやってますから、技術的には面白いところだと思います。機構設計はさすがにやってないか?

企業風土はPanasonic、富士通の流れを汲んでいて、いわゆる「日本の大企業」だと思います。平社員でしたから、他の事業部や組織は知りませんが…。

辞めた理由

何で辞めるの?と色んな人に聞かれましたが、別に嫌なことがあったわけじゃないし、特に理由はないです。強いて言えば10年も同じ分野に居たので、他分野にチャレンジしようとは思っていました。今回は偶然チャンスに恵まれただけです。

特に無いと答えると、またまた、そんな嘘を言わなくても良いんだよ!みたいなこと言われます。どうも、私は「常に会社に対して激烈な不満を持っていて」「最近何かがあって、ついにブチ切れて退職した」と思われていたようです。

いやいや、そんな爆弾みたいな奴が10年も会社に居ますか?有り得ないでしょ?ひどい言いがかりだなあ、もう……。

編集者:すずき(2018/09/09 01:21)

コメント一覧

  • よしだあさん(2018/09/11 19:17)
    おつかれさまでした!
    また仕事できるのを楽しみにしています(^ ^)/
  • すずきさん(2018/09/11 19:30)
    ありがとう!
    こちらこそ、楽しみにしています。
open/close この記事にコメントする



2018年9月10日

引っ越し準備

引っ越し用の新品の段ボールが50箱以上届き、家が段ボールで埋め尽くされました。

届いた段ボールに荷物は一切入っておらず、綺麗に畳まれている状態ですが、それでも既に置くところがありません。これから段ボールに荷物を詰めていけば、より散らかる方に倒れます。

家が決まっていないとか、引っ越しの日程が近すぎることも心配ですが、果たして物理的に段ボールを置ききれるのか?も心配になってきました。

編集者:すずき(2018/09/17 19:32)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2018年9月11日

エアコン浄化

今年の7月に(2018年7月17日の日記参照)エアコンを16℃設定1時間で浄化運転し、見事に嫌な臭いが消え去りました。しかし 8月末に再びエアコンが雑巾臭くなってしまいました(2018年8月21日の日記参照)。

エアコン18℃1時間運転をしてみました。相変わらずの威力で、無臭になりました。とはいえ、最近涼しくなってきているので、もうほとんどエアコン使わないなあ。

とかなんとか、思っていたのですが、困ったことに1日で雑巾臭さが復活してしまいました。といっても浄化する前より幾分もマシですから、しばらくこのまま使おうと思います。

どうも18℃だと浄化作用が弱かった?みたいです。最低の温度設定である16℃にすれば良かったかなあ?

編集者:すずき(2018/09/17 19:38)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2018年9月13日

府民から都民へ

家が決まりました。今月末から東京都民です。さよなら大阪。こんにちは東京。

どこに何年住んだか思い出してみると、北海道18年、茨城6年、大阪11年でした。少し前までは、このまま大阪が故郷になるんだろうと思っていましたが、11年で打ち止めとなりました。

おうち探し

会社の単身寮に2年住んで、ある程度の土地勘を得たうえで、家探しができた大阪(つまり今の家)とは異なり、東京は全く土地勘が無い状態で家探しをすることになったので、結構困りました。

大阪だと路線はあまり迷いませんでした。大阪市内に住まない限り、JR沿線が断然便利なので、JR一択だったからです。

東京は路線が多すぎて困りました。とりあえず山手線の通勤ラッシュだけは絶対乗りたくないので、通勤経路から外しました。JR沿線は物件が無く(駅も無いですけど)、最終的に京急沿線になりました。

この選択が正解だったのかどうかは、まだわかりません。まあ、嫌でも後でわかるでしょう…。

編集者:すずき(2018/09/17 20:03)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2018年9月15日

TigerVNCのエラーメッセージ

TigerVNC Java版クライアントを愛用していて、とても気に入っているのですが、エラーメッセージが文字化けしていて、ちょっとだけ気になります。


TigerVNCのエラーメッセージが文字化けしている

少なくとも、存在しないホストを指定するなど「接続できないとき」と、無線LANを突然OFFにするなど「接続が切れたとき」のエラーメッセージで、文字化けが起きているようです。

ググっていたら、Javaのバージョンが古いと文字化けすると見かけたのでJavaを10.0.1から10.0.2にアップデートしました。すると、


接続できないときのエラー(Java 10.0.2)


接続が切れたときのエラー(Java 10.0.2)

なぜか片方だけ直りました。全く直らないよりは良いんですけど、不思議です。

編集者:すずき(2018/09/20 11:22)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2018年9月16日

音が出なくなったよWindows 10

昨日まで元気に動作していたのに、いつのまにかUSB接続のDACから音が出なくなりました。USBコネクタを抜き差ししてもダメです。

ひとまず [コントロールパネル] - [サウンド] - [(デバイスを選んで)] - [プロパティボタン] - [詳細タブ(既定の形式「16ビット、48000Hz(DVDの音質)」のドロップボックスがあるページ)] にある、テストボタンを押してみると、


テストトーンの再生に失敗

エラーが出てしまいます。こんなの初めて見ました。

Windowsを再起動してみました。再起動の直後は同様の症状でしたが、5分くらい待ったら復活しました。全く意味が分かりませんが、Windows 10の意味不明な挙動は今に始まったことでもないし、あまり深く考えないことにします。

同様の症状で困っている方は、再起動+少し待ってみる、で解決するかも?しれません。

編集者:すずき(2018/09/20 11:10)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2018年9月21日

PSPのバッテリー

PSPを久しぶりに見たところ、バッテリーが膨張していて蓋が閉まらなくなっていました。


PSPのバッテリー蓋が閉まらなくなった

蓋を外してみると、筐体よりバッテリーの方が厚くなっています。こんなに変形するんですね……。


PSPのバッテリー蓋を外したところ

しばらく使っていませんでしたし、これからPSPを使うこともほぼなさそうですし、ここらでお別れかなあ。今までありがとうPSPさん。

編集者:すずき(2022/01/24 03:02)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2018年9月29日

Facebookと東京都大田区

引っ越したのでFacebookの引っ越しイベントなるものを入力してみたのですが、これがどうにも変な動きで、困りました。

住所に何か入力するとFacebookが住所の候補を挙げるので、その中から選択する方式です。逆に言えば、住所は好き勝手に入れられません。マイナーな住所だったらどうするんでしょうか。イマイチです。

候補の列挙も非常にクセのある動きで、例えば「東京都大田区」を入力しようとすると、


東京都 大田区: 1件も候補が出ない


東京都: 「あきる野市」「青ヶ島村」が候補に出る


大田区: 1件も候補が出ない


大田: やっと「東京都 大田区」が候補に出る

まとめると、

  • 東京都 大田区: 1件も候補が出ない
  • 東京都: 「あきる野市」「青ヶ島村」が候補に出る
  • 大田区: 1件も候補が出ない
  • 大田: やっと「東京都 大田区」が候補に出る

前方一致でも、部分一致でもないし、正確に入力するほど候補が出なくなるってどういう仕組みなんでしょうね?変な動きです。使いづらい。

編集者:すずき(2018/10/07 18:12)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



こんてんつ

open/close wiki
open/close Linux JM
open/close Java API

過去の日記

open/close 2002年
open/close 2003年
open/close 2004年
open/close 2005年
open/close 2006年
open/close 2007年
open/close 2008年
open/close 2009年
open/close 2010年
open/close 2011年
open/close 2012年
open/close 2013年
open/close 2014年
open/close 2015年
open/close 2016年
open/close 2017年
open/close 2018年
open/close 2019年
open/close 2020年
open/close 2021年
open/close 2022年
open/close 2023年
open/close 2024年
open/close 過去日記について

その他の情報

open/close アクセス統計
open/close サーバ一覧
open/close サイトの情報