組込

UEFI環境でFAT領域を無くす

ここに記載するコマンドは非常に危険で、スペルミスや大文字/小文字を間違えただけで取り返しのつかない事態となります。全て、自己責任でお願いします。また、ここで示すbios_grubによる対応は決してメジャーな方法ではありません。マザーボード/BIOSによっ…

PCIのマジックライト

PCIのBARレジスタに隠されている、メモリ空間サイズを得るための手順です。枯れた技術ですが、組込エンジニアにとっては少しやっかいです。忘れてしまうので、最も端的で分かりやすい解説リンクを置いておきます。ごく稀に、話題になります。 stackoverflow.…

スワップ領域をファイル化

ここに書かれた内容は、sudo apt install dphys-swapfile (導入)、sudo apt purge dphys-swapfile (除去)でも可能。以下は、マニュアルで設定する場合を示す。私はマニュアル派。 Ubuntuをインストールする時、スワップ領域を指定しなければ/swapfileが…

Darknet YOLOv3で組込ベンチマーク環境構築

既に情報は多く、今更感もあるが、Darknet YOLO v3 で組込ベンチマーク環境を構築する手順をメモする。 目的: AI処理を使っての、組込CPUでのオフロード(CPU負荷外出し)効果を検証するための環境構築手順を確立する。 オフロード先候補(興味無い順): …

ラズパイ MicroSD自己増殖

電源プチ切り対応したラズパイのMicroSDを自己増殖する。コピー先のMicroSDは、100均のMicroSD-USB変換アダプタを使ってラズパイに挿入する。そのMicroSDは「/dev/sda」として認識されるはずである。ddコマンドだけで安直にコピーしても、おそらく問題は起き…

1PCで複数LANポート運用時の留意事項

https://www.kernel.org/doc/Documentation/networking/ip-sysctl.txt この中で、 arp_announce arp_ignore rp_filter の3つは、要注意。rp_filterは、ディストリビューションによっても、デフォルト値が違う(適用パッケージに依存しているかもしれないが…

LinuxでのIEEE1588v2 PTP

少しディープなところにダイブする(バスタブ レベルだが)。一般的なNICカードでサポートされているPTPハードウェアタイムスタンプが具体的に何をしてくれるのか、いまひとつ把握できていなかった。ここでは、特に、タイムスタンプ送信に関する実装について…

Intel SoC FPGAのGSRDユーザランド構築

先に紹介したUbuntu Mate 18.04 踊るデスクトップ上で、Intel SoC FPGA用のユーザランドを構築するメモ。組込の開発ではたいていガイド通りにはいかないので、柔軟に対応していく必要がある。 総合ガイド Wiki:https://rocketboards.org/foswiki/Documentat…

deb系Linux ユーザランドのダイエット/クリーニング

deb系Linuxのユーザランドのダイエットとクリーニングを行うときのメモ。最近はあまり必要の無い作業ではあるが、組込系では必須に近い。なお、デブ系だからダイエットというわけではない。deb系とはDebianをベースにしたディストリビューションのことであり…

ラズパイ:シャットダウンフリー tmpfs-bind編

もし、手の届かない離島に電源ブチ切りラズパイを置くなら、私ならばoverlayもfuseも使わない。理由は、デバイス屋/組込屋としての直感から来る警告だが、ここ⇐ に現実に沿ったコメントもある。 以下に紹介する方法は、X-Windowの利用が不要もしくは削除さ…

ラズパイ:シャットダウンフリー tmpfs-chroot編

もし、手の届かない離島に電源ブチ切りラズパイを置くなら、私ならばoverlayもfuseも使いたくない。以下、/sbin/initでの対応を示すが、未完成である。シンボリックリンクを嫌う実装が何かあるようで、いずれ調査して解決する予定である。一方で、chrootは使…

ラズパイ:シャットダウンフリー overlay編(fuse無し)

Linuxで最初に動くプログラムである/sbin/initは、/lib/systemd/systemdへのシンボリックリンクになっているが、これをスクリプトにして調整事項を挟み込んでしまえば、fuseは不要となる。fuse+overlay編よりも調整の手間が少ないので、私はこちらの方が好き…

ラズパイ:シャットダウンフリー fuse+overlay編

調整の手間が若干少ないoverlay編(fuse無し)も参照の上、どちらを使うか検討下さい。本編では、overlayとfuse(Filesystem in Userspace)を使います。ご利用は自己責任で。 前提:準備①〜⑤が終わっていること。 ここで作成・編集するフォルダ/ファイル:…

ラズパイ:シャットダウンフリー 準備

電源ブチ切りしてもファイルシステムが壊れない、シャットダウンフリーなラズパイを構築する。tmpfs,overlayの実体はSDRAMなので、その領域で更新したファイルは電源断で消えることに留意。保存したいデータがあるケースでは、MicroSDの別パーティションやUS…

慣れてきたデバイスツリー

DTCコンパイラ ・双方向。dts→dtb, dtb→dts どちらも可。 ・実は、dtc自体は、たいしたことはしていない。生成後のバイナリ(.dtb)をhexdump -C等で確認すれば分かる。 ・主要ディストリでは、パッケージで配布されている。Debian系ではdevice-tree-compile…

rootkit hunter

ちょっと気になったので、Ubuntuホビーマシンで久々に実行してみた。以下、root権限のsudoは省略。apt install rkhunter vi /etc/rkhunter.confUPDATE_MIRRORS=1 MIRRORS_MODE=0 WEB_CMD="" PKGMGR=DPKG SCRIPTWHITELIST=/usr/bin/lwp-requestrkhunter --upd…

/var/log/journalは移動できない

systemd以降、OSログは/var/log/journal以下へ保存される。圧縮ファイルになるが、それでも、放置していると、かなりの量になる。4〜5年運用している私のホビーマシンでは、860MBの蓄積があった。組込では、ログ領域を移動したいシーンが時々ある。まぁ、ど…

DeviceTreeの存在意義が分からない! その2

DeviceTreeの影響はペリフェラルだけかと思っていたが、そうでもないらしい。例えば、ARMデバイスツリーに対するこのパッチ。それに対応するカーネルソースのパッチ。これをデバイスツリー側で処置せずにカーネルバージョンアップすると、CPUが1コアで動くこ…

DeviceTreeの存在意義が分からない!

以下の話は、x86系CPU(ATX規格のPC)は対象外。私の立ち位置では、DeviceTreeの存在意義が全く分からない。DeviceTreeとは、ハードウェア設定をスクリプト形式で記述し、Kernelへ橋渡しすることで、ハードウェアの差異をスムーズに吸収することを狙ったもの…

CPUの健康管理が時として仇となる

最近、省電力機能に関連するトラブルが、本当に増えてきました。先日のスマホのVLC BANの件もそうでした。本件は、デスクトップ系CPUの話になりますが、CPUの健康管理機能は、時として仇となります。キーワード: P-State, C-State, Thermal Throttling, Jun…

SSD考察

RAMDISK起動による電源ブチ切りLinuxにすれば、SSD等のフラッシュメモリの延命にもなる。 しかし、デスクトップでの一般的な使い方では、そこまで気にする必要は無い。SSDはもはや1TB超のものが出回っていて、以前みたいに知識が無くても安全に使える。 我が…