趣味の電子工作などの記録。時にLinuxへ行ったり、ガジェットに浮気したりするので、なかなかまとまらない。※サイト移転しました(tomono.eleho.net ⇒ tomono.tokyo)
RSS icon
  • NanoPi NEO2セットアップ(Armbian編)

    投稿日 2018年 10月 13日 コメントはありません

    一旦は公式ディストリビューション?であるFriendlyCoreをインストールしたのですが、できるだけオープン系ということでArmbianをインストールし直しました。

    OSイメージは Armbian の NanoPi NEO2 のページから Armbiean Stretch をダウンロードしました。ダウンロードしたイメージファイルを展開して、USBイメージライタでMicroSDカードに書き込むのは同じです。

    書き込んだMicroSDカードをNanoPi NEO2に挿入します。ローカルPCで

    を電源投入前後で実行、増えたIPアドレスを調べます。(注:電源投入後の実行はしばらく待ってから行います)
    調べたIPアドレスに対して、

    として、パスワード「1234」でログインします。ログインすると、rootのパスワードの設定変更を求められ、引き続きユーザーアカウントの作成を求められますので、適当に作成します。作成完了後、そのまま、

    としてアップデートとavahi-daemonのインストール、カーネルバージョンアップ後の再起動を行います。以降は

    でリモートログインできます。リモートログイン後、

    として、Personalの項目内の Timezone、Locale、Hostname を適当に設定しておしまいです。


  • NanoPi NEO2セットアップ(FriendlyCore編)

    投稿日 2018年 10月 13日 コメントはありません

    何回やってるんだという感じのNanoPi NEO2のセットアップです。

    公式イメージが置いてある http://wiki.friendlyarm.com/wiki/index.php/NanoPi_NEO2#Boot_from_TF のリンク先の Google Drive のURL https://drive.google.com/drive/folders/1w7eMluHWo3ezwKBdaJcDUcCtM9qVaaVv から「nanopi-neo2_friendlycore-xenial_4.14.52_20180628.img.zip」をダウンロードしてきて、イメージを展開、USBイメージライタでMicroSDカードに書き込みます。書き込んだMicroSDカードをNanoPi NEO2に挿入します。ローカルPCで

    を電源投入前後で実行、増えたIPアドレスを調べます。(注:電源投入後の実行はしばらく待ってから行います)
    調べたIPアドレスに対して、

    として、パスワード「pi」でログインします。

    でセットアップ。パスワードの変更、ロケール(ja_JP.UTF-8)の追加、タイムゾーンの変更(Asia/Tokyo)して、再起動。
    再起動後、再度 ssh でログインして、

    完了すると、以降は

    でログインできるようになります。(ローカル側にも avahi-daemon が必要)


  • HDDの状態をSMARTで調べる

    投稿日 2018年 8月 15日 コメントはありません

    整理したら古いHDDがたくさん出てきました。それぞれの状態を見てみたいと思います。
    HDDの状態を見るといえばSMARTですが、Linux Mintの「ディスク」ユーティリティでもSMARTの状態を見ることができます。

    ディスクユーティリティを起動して、対象とするHDDを選択したところです。ここではeSATAで外付けにしたHDDを選択しています。

    右上の方のメニューに「SMARTのデータとセルフテスト」というのがあるので、これを選ぶと、最後に取得したデータが表示されるようです。

    このHDD、自分の父がHDDを交換したので処分したい、ということで引き取ってきたものなのですが、どうも過去に温度条件の良くないところに突っ込まれてたのでしょうか。温度自体ではなく、Airflow Temparatureなので、筐体の温度ということではないのかもしれませんので、ファンでも壊れてたんでしょうか??(西日のあたるところに置かれてたようですが、それでも??)
    それ以外は特に問題はないようです。

    簡単に扱うならこれでいいのですが、できれば記録に残したいところです。そういう場合はCLIの方が便利です。

    標準ではコマンドラインのツールは入っていないようなので、

    としてインストールします。–info オプションをつけて smartctl コマンドを実行すると、デバイスの概要を表示してくれます。型番やシリアルナンバーも表示してくれるので、管理には便利です。今回は対象のデバイスが /dev/sdb ですので実行すると以下のような感じになりました。(他のデバイスで行うときには /dev/sdb の部分は読み替えてください)

    最後の行にSMARTが有効かどうか記載されていますが、無効の場合には以下の方法で有効化する必要があります。

    デバイスが対応しているテストを調べます。

    最後の方に記載されている内容によれば、shortテストは2分、extendedテストは90分、conveyanceテスト(輸送時の影響を調べる)だと6分かかるようです。
    90分は長いので、shortテストを起動してみます。

    ということですぐ帰ってきます。実際の処理はバックグラウンドで行われるようです。なお、extendedテストを実行する場合は-tの後ろはlong、conveyanseテストを実行する場合はconveyanseを指定します。

    テスト結果を表示してみます。

    テストは無事にPASSしましたが、Airflow Temparatureのイベントに注意、ということみたいです。

    最新のテスト結果のリストを表示してみます。

    詳細の情報を表示してみます。

    Arch LinuxのS.M.A.R.T.の項目を参考にしました(というか、概ねそのままです)


  • 古いネットブックにKali Linuxをインストール

    投稿日 2018年 8月 4日 コメントはありません

    2代前の持ち出しPCのネットブック(IdeaPad S10-2、Atom N270、メモリを2GBに増設、HDDをSSD64GBに換装済み)にKali Linuxの32bit版をインストールしてみました。

    グラフィカルインストーラは重いので、テキストインストーラを起動します。

    途中、WiFiチップのドライバのregulatory.db b43/ucode15.fwなどが見つからない、というメッセージが出ますが、ここではそのまま放置して、有線LANを接続しておきます。

    上記コマンドはすごく実行時間がかかりました。ホストしているサーバーまでの帯域が細いようで、ダウンロードも長いのですが、非力な初期のAtomでは非常に時間がかかります。で、なんだかんだ言いつつ、途中lightdmを選択し導入。
    再起動し、ログイン画面でxfceを選択してログインします。ログインし直すと、軽くなってそれなりに操作できるようになりました。

    BCM4311ドライバのインストール

    このネットブックはWiFiチップとしてBCM4311が載っていて、Debian系をインストールするとドライバが入りません。Debianのページを見ると、non-freeのファームウェアは別途インストールする必要があるようで、主要な non-free のファームウェアを集めたアーカイブファイルへのリンクがあります。この中から、firmware-b43-installer_019-3_all.deb をダウンロードしておき、USBメモリで Kali linux 側に持っていって、

    とすると、ファームウェアをダウンロード(これがまた時間がかかります。15KB/sくらいしか出ません。)

    いろいろアップデート

    これが終わったところで、ようやくいろいろアップデートかけます。

    ・・・1GBダウンロードだそうで、丸1日くらいかかりそうです。性能が非力かどうかよりも、回線側の問題ですね・・。

    <追伸>実際はそこまでかかりませんでしたが、UbuntuやLinuxMintに比べるとやはり時間がかかってしまいますね。


  • WindowsとLinuxで時計が狂うのを直す

    投稿日 2018年 8月 1日 コメントはありません

    昔から Linux と Windows のデュアルブートが可能な環境でOSを行き来すると、時計が大きくずれる現象が発生していました。これは Linux ではPCのハードウェア時計(RTC)が UTC(協定世界時)で動作しているのを前提としているのに対し、WindowsではRTCはローカルタイム(JST=日本標準時)で動作しているのを前提としており、それぞれのOSがNTPを利用して時刻修正を行って、それをRTCに反映していることが原因でした。

    以前のバージョンのLinuxでは、 /etc/default/rcS に UTC=no と記載することにより、RTCの設定がローカルタイムであることを設定できたのですが、いつの頃からか /etc/default/rcS は存在しなくなっていました。

    最近は Linux を使うことがほとんどで、それでもあまり困らなかったのですが、その修正方法がわかったのでメモしておきます。修正は以前と同様、Linux側で行います。使用するコマンドは timedatectl コマンドです。

    ということで、最後の行にRTCがローカルタイムゾーンか否かの記載があります。で、

    とするとこの設定を変更することができます。ところでこのコマンド、ハードウェア設定の変更に関わるものなのですが、root権限がなくても設定できてしまいます。(いいのかな?)

    設定変更後に再度設定状況を読み出すと、

    という感じで、警告が表示されます。


  • EzBook3 Pro用にUSBブートのLubuntuを作成

    投稿日 2018年 7月 30日 コメントはありません

    EzBook3 Proでいろんなこと(ちょっと危ないサイトへのアクセスを含む)ができるよう、USBメモリブートのLinux環境をつくります。

    1)LubuntuをUEFIで起動できるようインストール

    Lubuntu 18.04.1を別のマシンでUEFIで起動してUSBメモリにインストール。「ディスクを削除してLubuntuをインストール」を選択。パーティション作成時にESPパーティションが作られるのがポイント。

    2)内蔵SSDを見えなくする

    EzBookPro3に増設してあるmSATAのSSDを認識できないようカーネルに設定追加します。

    インストール完了後は、内蔵HDDを見えないように設定変更します。作業としては、 /etc/default/grub を開いて、 「GRUB_CMDLINE_LINUX_DEFAULT」の起動時オプションに「libata.force=disable」を追加します。修正後は、

    としてgrub.cfgファイルを自動生成させて反映させます。

    ちなみに、「libata.force=disable」のところを、「libata.for=1:disable,3:disable」のようにすると、特定のSATAデバイスのみ無効化できます。指定する番号は dmesg を見ると、

    と言うような箇所があり、このata1.00のデバイスなら1:disableを、ata2.00のデバイスなら2:disableを指定します。(注:このdmesgの例は EzBook3 Proのものではありません)

    3)内蔵eMMCを見えなくする

    /etc/rc.localとして以下の内容のファイルを作成します。

    次に、/etc/systemd/system/rc-local.serviceとして以下の内容のファイルを作成します

    起動時に自動実行するように設定します。

    これで起動後ログインするとeMMCの内容が見えなくなりました。

    4)言語サポートのインストール

    言語設定で不足しているファイルをインストールさせます。

    5)USBメモリへのアクセス高速化

    USBメモリへのアクセス時刻の記録を停止してアクセスを減らすとともに、/tmpをtmpfsにより確保してUSBメモリへのアクセスを減らします。/etc/fstab をのもとからある行にnoatimeオプションを追加し、さらにtmpfsで始まる行を追加します。

    追伸

    で増設したSATAが見えなくなるっぽい。事前に sync したほうが良さそうだけど。


  • Jumper Ezbook Pro 3にLinuxMint19をインストール

    投稿日 2018年 7月 26日 コメントはありません

    先日購入した Jumper Ezbook Pro 3 に LinuxMint19をインストールしてみました。

    LinuxMintは内蔵のeMMCの領域ではなく、増設した32GBのmSATAのSSD(安かった KingDian の JP-N400 32GB)にインストールすることで、Windows10は丸ごと温存します。

    1.BIOSでUSBメモリからの起動を選択。

    今回は Linux Mint 19 MATE の64bit版をインストールします。ISOイメージをダウンロードしてハッシュ値を検証した後、USBイメージライタでUSBメモリに書き込みます。書き込んだUSBメモリをEzbook3 Proに取り付けて電源投入しますが、すぐにDELキーを連打してBIOSに移行、起動デバイスをUSBメモリに変更してから起動します。

    2.WiFiの設定(SSID選択、パスワード設定)

    起動するとすぐにWiFiを見つけて設定するように促されますが、ここでは設定しません。リリースノートを見るとgrubのインストールに失敗する障害があり、その対策としてインストール時にネットワークに接続しない、というものが挙げられています。これでだいぶ時間を取られてしまいました。

    3.内蔵eMMCを禁止。

    起動後、ブートローダ等を含めて温存したいので、内蔵eMMCを禁止します。

    実行すると、デスクトップ上のSDカードっぽいアイコンが消えます。ひょっとすると(おそらく?)内蔵のMicroSDカードリーダーも見えなくなるかもしれません。この状態でもちゃんと内蔵のMicroSDカードリーダーは見えます。

    4.増設したmSATA SSDを初期化

    ディスクユーティリティを使ってSSDを初期化します。初期化しないとこのSSDは全く見えず、インストーラも認識してくれません。

    5.インストーラを起動してインストール実行

    インストーラを起動、言語は日本語、キーボードレイアウトは 英語(us) を選択。特に難しいところはありません。

    6.インストール完了後の設定

    まずは誤操作でWindows10のパーティションを壊さないよう、内蔵eMMCを見えないようにします。

    /etc/rc.localとして以下の内容のファイルを作成します。

    次に、/etc/systemd/system/rc-local.serviceとして以下の内容のファイルを作成します

    起動時に自動実行するように設定します。

    これで起動後ログインするとeMMCの内容が見えなくなりました。

    後は、通常のLinux Mintの設定と大差ありません。

    • WiFiの設定
    • アップデートの実行
    • 言語設定で不足しているファイルをインストール
    • 言語設定でIMEを選択。今回はfcitxを選択しました。ibusではUSキーボードで日本語入力モードへ移行するキーバインドが見つかりませんでした。fcitxの場合にはCTRL+SPACEに割り当てられています。

    といったところです。


  • linuxmint19にpreloadを入れてみた

    投稿日 2018年 7月 2日 コメントはありません

    linuxの高速化についてぐぐっていたら、たまたま見つけたのが preload。頻繁に使われるファイルを空き時間にメモリにロードしておいてくれるらしい。メモリいっぱいだけど遅い Athlon5350 マシンにはピッタリのように見えるので、試してみることにしました。

    synapticでpreloadをインストールした後、

    $ sudo systemctl start preload.service

    で起動する。システム起動時に preload を起動するには、

    $ sudo systemctl enable preload.service

    としておく。

    ちょっと使ってみたところ、ログイン後の挙動は確かに早くなっている気がする・・・・が、学習してなんぼのものみたいなので、しばらく様子見ですね。


  • Windows10からLinuxMint上のHL2240Dに印刷する

    投稿日 2018年 3月 26日 コメントはありません

    自宅の環境の整理をしているのですが、これまで不便だったのがWindows10からプリンタ(ブラザーのHL2240D)に印刷する時でした。正直、なぜLAN内蔵モデルにしなかったんだろう、というのがこれまでの悩みでした。

    が、今回、Windows10からLinuxMintに接続したHL2240DにLAN経由で印刷することができるようになりましたので、メモしておきます。

    1.LinuxMint側で印刷できるようにする

    これは以前の記事のブラザーのレーザープリンタ買いましたを見て下さい。インストールしたら、「システム管理」→「プリンタ」でHL2240Dを「共有する」にチェックを入れておきます。

    2.名前解決できるようにする

    LinuxMintのマシンはDHCPでアドレス設定しているので、名前解決できる必要があります。で、簡単なのはavahi(mDNS)なので、そちらの準備をします。
    Linux側はavahi daemon(Mintは初めから入っているような気がする)を入れておきます。Windows側は、Appleのサイトから「Bonjour Print Services (Windows)」をダウンロードしてインストールして、Windowsファイアウォールで 5353/UDP を許可しておきます。インストールしたら、Windows10のコマンドプロンプト/Linuxのシェルから「ping 相手のホスト名.local」で応答が返ってくるのを確認します。

    3.プリンタの追加

    「Bonjour Print Services (Windows)」をインストールした時に追加された「Bonjour プリンターウィザード」を起動すると、勝手にLinuxMint上のプリンタを見つけてくれました。ウィザードに沿って操作していくのですが、Brotherのドライバが同名でたくさんあってよくわかりません。とりあえず、「Brother Laser Type2 Class Driver」の中の一番下のをインストールして、テスト印刷したらうまくテスト印刷できました。印刷結果ではドライバーの種類が「Type 4 – ユーザーモード」となっていました(よくわかりませんが)。


  • Raspberry Piをネットワークの試験に使う

    投稿日 2018年 2月 10日 コメントはありません

    ここのところ買い集めている小さなLinuxボードは結局はネットワークの試験のために購入したもので、元々はなるべく小さなtcpdumpが使えて動かしっぱなしで放置できるものを探していたものです。で、いろいろぐぐっていたら、linuxでEthernetインタフェースが2つある環境を使って、もっといろいろできることがわかってきました。具体的には、ブリッジとして動作させてた上で、遅延を挿入したりできるというものです。その環境もRaspberry PiにUSBイーサネットアダプタを追加してやれば、Raspberry Piでもできそうなことがわかったので、試してみました。

    1.Raspbianのインストール

    今回はGUIは不要なので、Raspbian Liteを適当なMicro SDに書き込んで、余っていたRaspberry Pi model B+に入れました。
    起動して、User/Passwd=pi/raspberryでログインしたあと、コンソールから

    として再起動。再起動後、linuxマシン側から

    としてsshでログイン、以降はリモートログインで作業します。リモートログインしたら、

    として、初期設定をします。今回は、

    • パスワード設定
    • ホスト名をraspinetに変更
    • ブートオプションをConsoleに設定
    • ローカライゼーションでLocaleにja_JP.UTF-8 UTF-8を追加、デフォルトはen_GB.UTF-8のまま。タイムゾーンはAsia/Tokyoを選択。
    • Advanced OptionでExpand Filesystemを選択、Memory Spiltは16MBに設定

    で、設定後に再度、再起動。再起動後、Linuxマシン側から

    として再度ログインします。ログインしたら、

    として、アップデートを一通りかけた後、bridge-utilsとtcpdumpをインストールします。

    2.スクリプトファイルを作成して起動時に実行させる

    として、ブリッジを起動する以下の内容のスクリプトを作成しました。(実行タイミングをsleepで調整しているのでちょっと汚いですが・・・)

    IPv6は今回禁止、IGMP snooping も禁止しました。作成後に、

    pi@raspinet:~ $ sudo chmod a+x /usr/local/bin/start-bridge

    として、実行権限を付与。起動時に実行させるため、/etc/rc.local を修正して、最後の exit 0 の前に以下の部分を追加しました。

    これで、Raspberry Piを起動させると自動的にブリッジとして動作するようになります。

    3.tcpdumpで通過パケットをモニタしてみる

    Linuxホスト側から

    でブリッジに設定したRaspberry Piにログインします。その後、

    とか、

    で通過するパケットをモニタします。(後ろの方の長いのは vbr0 のIPアドレスを抽出しているだけです)
    ポートやIPアドレスでRaspberry Piに接続しているsshのパケットを除外しています。除外しないと、表示した文字列をパケットキャプチャして、それを再度表示してしまいます。

    4.参考情報