honeylab's blog

各種ハードウェアの改造、主にファミコンミニなどをやってます(ました)

ATOMCam2にDeibanを入れる

honeylab.hatenablog.jp

 

こちらの記事に引き続き。

せっかくオリジナルカーネルが動くことが確認できたので、ユーザーランドも入れてみることにします。
こういう組み込み機器で何かしたいとき、結局クロスコンパイルや何やらが必要になったりして、自分の好きなアプリを入れるのが難しい場合が多いです。
openmikoでも使われているbuildrootにはそこそこパッケージが準備されていますが、
それだけでは物足りなかったり、どうせだからセルフコンパイルしてしまえ、といった場合にapt-getが使えるdebianを入れてしまうとらくちんになります。

ちなみにこういうことができるのはArmadillo-440をいじっていた時に覚えました。

armadillo.atmark-techno.com

例えば、プレイステーションクラシックにdebianを入れる、なんてこともできます。

 

 

さて、しかしながらATOMCam2で使われいるCPUはMIPSとやや特殊な環境。
CPUIDを見るとMIPS R3000と出ていますので、対応しているディストリビューションは結構古く、どうやらDebian8(jessie)まで、の気がしました。

また、対応カーネルが3系、であり、これ以上の上位カーネルを作るのはおそらく無理だと思います。

というわけで、まずはbuildrootで簡易ユーザーランドを作り、debootstrapを使ってjessieを入れてみました。

 

…普通ならここで手順を書くべきですが、基本的にものぐさなのでそういう記録を全くとっていません(ポンコツ

microSDカードの第一パーティションに、カーネルのuImageであるfactory_t31_ZMC6tiIDQNを置いておくのはraspberry-piとかと同じですが、

ATOMCamを使うにあたって、複数のパーティションを作ったり、extパーティションを作るのはちょっと面倒です。そのため、ちょっと複雑ですが(atomcam_toolsも同じ方法ですが)、ext2ファイルシステムイメージをfatパーティションに置き、initramfsでマウント、switch_rootすることでdebianを起動させます。

 

というわけで、まずは結果のみ。

f:id:honeylab:20211018110536p:plain

ATOMCam2のMIPS上で動作するdebianです。

f:id:honeylab:20211018111009p:plain

Flash上のパーティションもマウントできますので、既存のシステムのファイルが読めます。
atomcam_toolsに、なんだかどんどん拡張用の修正を加えてくれる方がいるので、
これと結合すると、このdebian上でATOMのアプリを動かすこともおそらく可能になると思います。

いやまあ、わざわざdebian使うか?っていう話もあるんだけど、まずは動かしてみる、という環境を作る、っていうのはそれなりに大事なのよね。apt便利。

apt-getでセルフコンパイルgccを入れれば、なんとそこでhello,worldがかけるんですよ。