私が海外でPi5発売されてから楽しみにしていたことの一つは「RP1に搭載されているPIOが使えるか」です。 画像は https://datasheets.raspberrypi.com/rp1/rp1-peripherals.pdf のFigure2,pp.6 より引用(一部加筆) 海外でのPi5発売とほぼ同時期に公開された…
趣味でRustを使ってarm64向けのBaremetal開発を行っています。 今日はその環境でdefmtを使おうとして躓いたのでメモを残しておきます。 critical-section defmt_rttはcritical-sectionというcrateに依存しています。 critical-sectionはRustでatomicな処理を…
iperfを使うことはあっても中の通信がどうなっているのか知らなかったので、調べてみました。 自作のコードで簡単なスループット計測が行えることをゴールとします。 環境 今回の調査はm1 mac book上でiperfを実行し、その通信内容をwiresharkで見ながら行い…
PCにTPMがついている場合、TPM内の値を復号キーとして用いてストレージの暗号化解除を行えます。 私の家では以下の記事を参考に、clevisを用いてUbuntuを入れたサーバー機すべてのストレージをdm-cryptで暗号化し、起動時はTPMを使って自動的に暗号化解除す…
最近はx86のお勉強をしようと考えて、uchanさんの「ゼロからのOS自作入門(通称みかんOS本)」を読んでいます。 私はx86のことをほとんど知らないので、armとの違いを感じられて読んでいて楽しいです。 さて、先日6章3節「PCIデバイスの探索」を読み進めてい…
背景 技術的な興味からIPoE + ds-liteの接続を普段づかいように残しつつ、特定機器だけPPPoE接続にする方法を調査して設定してみました。 その方法を備忘録として残しておきます。 環境 マシン Shuttle DS68U CPU: Intel(R) Celeron(R) CPU 3855U @ 1.60GHz …
セキュリティ強化とトラッキング対策を目的としてVyOSにAdGuardHomeを入れてみたので、備忘録を残しておきます。 環境 マシン Shuttle DS68U CPU: Intel(R) Celeron(R) CPU 3855U @ 1.60GHz Memory: 8GB Storage: 120GB VyOS 1.4-rolling-202212310809 やる…
Linux kernelが起動時に読み込んで使っているdevice treeをdts形式で確認する方法を毎回忘れるので備忘録として残します。 device treeを使っているアーキテクチャならどこでも使える方法のはず。 1. device-tree-compiler を入れる device treeはdtbの状態…
現在、フルスクラッチでJTAGをしゃべるプログラムを開発しています。 このプログラムのデバッグ用にJTAG信号を解析できるロジックアナライザを探したところ、うまく使えるものが見つかったので、備忘録として残しておきます。 sigrok JTAG信号を解析できる信…
計算リソースやデバイス接続の関係から、最近は開発を手元のMacで行うのでなく、リモートサーバーにVSCodeのRemote ssh extension機能を使って接続して行っています。 今回はリモートサーバーにRaspberry Piを利用した際にrust-analyzerが動かず困ったので、…
2019年3月末に2018年モデルのiPad Pro 11inchとその周辺機器を購入しました。 それから約1ヶ月ほど使ってみて、買った周辺機器やアプリなどが色々あるので、感想を書いていこうと思います。 忙しい人向け お金の余裕があればiPadはCellerモデルをおすすめ 保…
NAS用LinuxディストリビューションのRockstorを使ってお家のNASを作り直したので、そのときにやったことを備忘録として書き残しておきます。 再構築の目的 私は以前からRockstorを入れたNASサーバーを運用していたのですが、以下の点が気になっていたのでOS…
お正月なので普段やらないことをやろうと思い、買ってから2年ほど放置してしまっていたPYNQ-Z1を使ってFPGAを触ってみました。 「RISC-Vで遊びたい」という気持ちと「FPGAをさわってみたい」という気持ちがあったので、「PYNQでRISC-Vを動かしてみる」ことを…
UEFIの呼び出し規則について調べたので忘れないようにメモしておきます。 呼び出し規則とバイナリフォーマット UEFIのアプリケーションは以下の点が一般的なLinuxのアプリケーションと異なるため、Linux環境上でUEFIアプリをビルドするには解決の必要があり…
かっちった BusBlaster3届いた pic.twitter.com/xhP1mYTfYl— tn (@tnishinaga) June 2, 2018 購入まで 先週Japan Technical Jamboree(Twitterでのハッシュタグは #celfjp )という、組み込みLinuxに関係する企業の方や趣味の方が集まる勉強会で、個人としてSy…
あらすじ 新マシンとしてThinkPad X230の中古品と480GBのSSDを買ったので、セットアップを行いました。その時行ったことを備忘録として書いておこうと思います。 ハードの性能はこんな感じです。 name spec Hardware ThinkPad x230 CPU Intel(R) Core(TM) i5…
QEMUのARM Virtマシンのペリフェラルメモリマップは何処を見ればいいんだっけ......とよく忘れるので、パスと見るべきところをメモします。 マシンを定義しているファイルはこれ。 qemu/virt.c at master · qemu/qemu · GitHub メモリマップは125行目辺り Me…
UEFI 2.5からネットワークブートの方法として"HTTP BOOT"が増えました。 今回はこのHTTP BOOTは従来の方式に比べ何が嬉しいのか、この機能を使ってUEFIのアプリを起動するにはどのようにすればよいかを書いていこうと思います。 忙しい人のまとめ ネットワー…
ふと、UEFIアプリでシリアルを直接さわって通信がしたくなりました。 UEFI 2.0にはEFI SERIAL IO PROTOCOLというプロトコルがあり、これを用いればシリアル通信をハードウェアを直接触ること無く行えるようです。 早速、このプロトコルを使ってシリアル通信…
vagrant-azureを使ってAzureの上にVMを建てることを前回行いました。 vagrant-azureを使ってAzureに仮想マシンを建ててみたメモ - /home/tnishinaga/TechMEMO 今回はこれに加えてansibleを使ってRaspberry PiのLinux Kernelをビルドすることを行ってみたいと…
自宅開発環境が貧弱で大変厳しいので、コーディング環境含めクラウド上で行えるようにできないかと色々試しています。 とりあえず最低限SSH使える環境がアレばスマフォでもコーディングとビルドが行える環境を作るのが目標です。 クラウドは使っている間だけ…
vagrantを使ってAzureに仮想マシンを建てようとしたらそれ以前のところで躓いたので備忘録として残しておきます。 問題が起こった環境 Arch Linux(x86_64) $ yaourt vagrant 1 community/vagrant 1.9.5-1 [installed] Build and distribute virtualized deve…
UEFIアプリを作るためのツールキットとしてはEDK2とgnu-efiの2つが有名ですが、後者のgnu-efiについて書いているところが少なかった気がしたので、サンプルビルドの方法とQEMU上で実行する手順について書いておくことにしました。 対象はx86_64ではなく、AAR…
先日、以下のパッチをU-Bootに投稿し、マージされました。 [U-Boot] [PATCH] armv7m: Disable D-cache when booting nommu(ARMv7M) Linux kernel 忘れないように、なぜこのパッチを投稿したかを残しておこうと思います。 前回のあらすじ ARM Cortex-M7マイコ…
目grep入門 +解説 from murachue www.slideshare.net こちらのスライドでご存知の方も多いと思いますが、ARMの実行バイナリをバイナリエディタのビットマップビューで見るとゴマ粒のようなものが縦に並んでいるのが見えます。 これはほとんどの命令の先頭4bi…
数年ぶりに簡単なAndroidアプリを作ってみたくなったので、AndroidStudioをインストールしてとりあえずHelloWorldアプリを動かそうとしたのですが、AVDマネージャーからAndroidエミュレータの起動ボタンを押しても一向に端末の画面が出てきてくれる気配があ…
UEFIといえばパソコンのBIOSに変わるファームウェアが真っ先に思い浮かびますが、最近ではHiKey boardなどARM64(AARCH64)の乗ったボードのファームウェアにもUEFIが使われ始めています。 UEFIを採用したボード上で動作するUEFIアプリケーションや、UEFIから…
蔵書の写真をTwitterにあげたところ思いの他反響があったので,おすすめの書籍を紹介したいと思います. これから紹介する本は,私が今まで一部でも良いので読んだ本の内,所有しているもの,または記憶に残っているものになります. UNIX, Linux系学習用 は…
GNU ARM Eclipse QEMUを用いるとCortex-Mマイコンのプログラムをエミュレータを使ってパソコンの上で行うことができました。
ARM Cortex-M7マイコンでキャッシュを使えるようにするためにいろいろ頑張っています。 現在のLinux Kernelでは、アーキテクチャとしてARMv7Mが選択されると同時にCPU_CACHE_NOPが選択*1され、キャッシュを制御するコードとしてarch/arm/mm/cache-nop.S内の…